Fixed a boob mistake which was causing KeyRelease events to not be handled properly if keys were relased quickly.
This commit is contained in:
parent
a95a6bd8e8
commit
fa301a9995
1 changed files with 1 additions and 20 deletions
|
@ -369,11 +369,7 @@ void screen::handleKeypress(const XEvent &e) {
|
|||
}
|
||||
|
||||
|
||||
void screen::handleKeyrelease(const XEvent &e) {
|
||||
// we're not interested in non-modifiers
|
||||
if (!isModifier(e.xkey.keycode))
|
||||
return;
|
||||
|
||||
void screen::handleKeyrelease(const XEvent &) {
|
||||
// the only keyrelease event we care about (for now) is when we do stacked
|
||||
// cycling and the modifier is released
|
||||
if (_stacked_cycling && _cycling && nothingIsPressed()) {
|
||||
|
@ -798,21 +794,6 @@ void screen::ungrabModifiers() const {
|
|||
}
|
||||
|
||||
|
||||
bool screen::isModifier(const KeyCode kc) const {
|
||||
KeySym ks = XKeycodeToKeysym(_epist->getXDisplay(), kc, 0);
|
||||
|
||||
if (ks == XK_Shift_L || ks == XK_Shift_R ||
|
||||
ks == XK_Control_L || ks == XK_Control_R ||
|
||||
ks == XK_Meta_L || ks == XK_Meta_R ||
|
||||
ks == XK_Alt_L || ks == XK_Alt_R ||
|
||||
ks == XK_Super_L || ks == XK_Super_R ||
|
||||
ks == XK_Hyper_L || ks == XK_Hyper_R)
|
||||
return true;
|
||||
else
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
bool screen::nothingIsPressed(void) const
|
||||
{
|
||||
char keys[32];
|
||||
|
|
Loading…
Reference in a new issue