diff options
author | markt <markt> | 2006-12-19 18:08:33 (GMT) |
---|---|---|
committer | markt <markt> | 2006-12-19 18:08:33 (GMT) |
commit | 144091995610ea1b562e96d5e55c99659034bd55 (patch) | |
tree | d51a51b509c8f4fe1260584c76d40b83fc4a9d66 /src/fluxbox.cc | |
parent | 83b9e392933ca882ff89140a9a7f93df8df512e6 (diff) | |
download | fluxbox_pavel-144091995610ea1b562e96d5e55c99659034bd55.zip fluxbox_pavel-144091995610ea1b562e96d5e55c99659034bd55.tar.bz2 |
Change to data structure for keybindings, ungrab and grab keys when switching
keymodes instead of deciding whether we need it and repeating the key.
Diffstat (limited to 'src/fluxbox.cc')
-rw-r--r-- | src/fluxbox.cc | 13 |
1 files changed, 4 insertions, 9 deletions
diff --git a/src/fluxbox.cc b/src/fluxbox.cc index 8a810a4..9fe22f7 100644 --- a/src/fluxbox.cc +++ b/src/fluxbox.cc | |||
@@ -1119,16 +1119,11 @@ void Fluxbox::handleKeyEvent(XKeyEvent &ke) { | |||
1119 | case KeyPress: | 1119 | case KeyPress: |
1120 | // see if we need to keep watching for key releases | 1120 | // see if we need to keep watching for key releases |
1121 | m_watching_screen = 0; | 1121 | m_watching_screen = 0; |
1122 | if (m_key->doAction(ke)) { | 1122 | if (!m_key->doAction(ke)) // could still be cycling |
1123 | XAllowEvents(FbTk::App::instance()->display(), AsyncKeyboard, CurrentTime); | ||
1124 | // if we've done some action other than cycling focus | ||
1125 | if (old_watching_screen && m_watching_screen != old_watching_screen) | ||
1126 | old_watching_screen->notifyReleasedKeys(ke); | ||
1127 | } else { | ||
1128 | XAllowEvents(FbTk::App::instance()->display(), ReplayKeyboard, CurrentTime); | ||
1129 | // could still be cycling | ||
1130 | m_watching_screen = old_watching_screen; | 1123 | m_watching_screen = old_watching_screen; |
1131 | } | 1124 | else if (old_watching_screen && |
1125 | m_watching_screen != old_watching_screen) | ||
1126 | old_watching_screen->notifyReleasedKeys(ke); | ||
1132 | break; | 1127 | break; |
1133 | case KeyRelease: { | 1128 | case KeyRelease: { |
1134 | // we ignore most key releases unless we need to use | 1129 | // we ignore most key releases unless we need to use |