Fixed a boob mistake which was causing KeyRelease events to not be handled properly if keys were relased quickly.

This commit is contained in:
Marius Nita 2002-08-26 19:50:45 +00:00
parent a95a6bd8e8
commit fa301a9995

View file

@ -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];