aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/Keys.cc5
-rw-r--r--src/Screen.cc8
2 files changed, 2 insertions, 11 deletions
diff --git a/src/Keys.cc b/src/Keys.cc
index 388ec52..ad5dca0 100644
--- a/src/Keys.cc
+++ b/src/Keys.cc
@@ -581,11 +581,6 @@ bool Keys::doAction(int type, unsigned int mods, unsigned int key,
581 return false; 581 return false;
582 } 582 }
583 583
584 // if focus changes, windows will get NotifyWhileGrabbed,
585 // which they tend to ignore
586 if (type == KeyPress)
587 XUngrabKeyboard(Fluxbox::instance()->display(), CurrentTime);
588
589 WinClient *old = WindowCmd<void>::client(); 584 WinClient *old = WindowCmd<void>::client();
590 WindowCmd<void>::setClient(current); 585 WindowCmd<void>::setClient(current);
591 temp_key->m_command->execute(); 586 temp_key->m_command->execute();
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
814void BScreen::keyPressEvent(XKeyEvent &ke) { 814void 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
823void BScreen::keyReleaseEvent(XKeyEvent &ke) { 819void BScreen::keyReleaseEvent(XKeyEvent &ke) {