aboutsummaryrefslogtreecommitdiff
path: root/src/Screen.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/Screen.cc')
-rw-r--r--src/Screen.cc5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/Screen.cc b/src/Screen.cc
index 013b6c6..277952b 100644
--- a/src/Screen.cc
+++ b/src/Screen.cc
@@ -658,11 +658,14 @@ void BScreen::propertyNotify(Atom atom) {
658 658
659void BScreen::keyPressEvent(XKeyEvent &ke) { 659void BScreen::keyPressEvent(XKeyEvent &ke) {
660 if (Fluxbox::instance()->keys()->doAction(ke.type, ke.state, ke.keycode, 660 if (Fluxbox::instance()->keys()->doAction(ke.type, ke.state, ke.keycode,
661 Keys::GLOBAL|Keys::ON_DESKTOP)) { 661 Keys::GLOBAL|(ke.subwindow ? 0 : Keys::ON_DESKTOP))) {
662 662
663 // re-grab keyboard, so we don't pass KeyRelease to clients 663 // re-grab keyboard, so we don't pass KeyRelease to clients
664 // also for catching invalid keys in the middle of keychains 664 // also for catching invalid keys in the middle of keychains
665 FbTk::EventManager::instance()->grabKeyboard(rootWindow().window()); 665 FbTk::EventManager::instance()->grabKeyboard(rootWindow().window());
666 XAllowEvents(Fluxbox::instance()->display(), SyncKeyboard, CurrentTime);
667 } else {
668 XAllowEvents(Fluxbox::instance()->display(), ReplayKeyboard, CurrentTime);
666 } 669 }
667} 670}
668 671