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) {
|
void screen::handleKeyrelease(const XEvent &) {
|
||||||
// we're not interested in non-modifiers
|
|
||||||
if (!isModifier(e.xkey.keycode))
|
|
||||||
return;
|
|
||||||
|
|
||||||
// the only keyrelease event we care about (for now) is when we do stacked
|
// the only keyrelease event we care about (for now) is when we do stacked
|
||||||
// cycling and the modifier is released
|
// cycling and the modifier is released
|
||||||
if (_stacked_cycling && _cycling && nothingIsPressed()) {
|
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
|
bool screen::nothingIsPressed(void) const
|
||||||
{
|
{
|
||||||
char keys[32];
|
char keys[32];
|
||||||
|
|
Loading…
Reference in a new issue