diff options
author | Ed Martin <edman007@edman007.com> | 2013-08-02 06:46:45 (GMT) |
---|---|---|
committer | Mathias Gumz <akira at fluxbox dot org> | 2013-08-02 06:46:45 (GMT) |
commit | 58e09b719077605efadac9b712acb8f5e752f732 (patch) | |
tree | 1f4828c990b9d43afcf88283e9b2d3218300afa6 /src/Screen.cc | |
parent | 3ad6e299f6156d97b91de30f374c2bbdad433f42 (diff) | |
download | fluxbox-58e09b719077605efadac9b712acb8f5e752f732.zip fluxbox-58e09b719077605efadac9b712acb8f5e752f732.tar.bz2 |
Fix lost keypresses after workspace change (#1067)
Do not Ungrab the keyboard for a KeyPress event, this causes us to lose the
KeyRelease event which is needed to ungrab the keyboard after the event
happened.
Diffstat (limited to 'src/Screen.cc')
-rw-r--r-- | src/Screen.cc | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/src/Screen.cc b/src/Screen.cc index 366b8df..3c7c79f 100644 --- a/src/Screen.cc +++ b/src/Screen.cc | |||
@@ -812,12 +812,8 @@ void BScreen::propertyNotify(Atom atom) { | |||
812 | } | 812 | } |
813 | 813 | ||
814 | void BScreen::keyPressEvent(XKeyEvent &ke) { | 814 | void BScreen::keyPressEvent(XKeyEvent &ke) { |
815 | if (Fluxbox::instance()->keys()->doAction(ke.type, ke.state, ke.keycode, | 815 | Fluxbox::instance()->keys()->doAction(ke.type, ke.state, ke.keycode, |
816 | Keys::GLOBAL|Keys::ON_DESKTOP)) | 816 | Keys::GLOBAL|Keys::ON_DESKTOP); |
817 | // re-grab keyboard, so we don't pass KeyRelease to clients | ||
818 | // also for catching invalid keys in the middle of keychains | ||
819 | FbTk::EventManager::instance()->grabKeyboard(rootWindow().window()); | ||
820 | |||
821 | } | 817 | } |
822 | 818 | ||
823 | void BScreen::keyReleaseEvent(XKeyEvent &ke) { | 819 | void BScreen::keyReleaseEvent(XKeyEvent &ke) { |