author | alwin <alwin> | 2004-08-02 08:19:00 (UTC) |
---|---|---|
committer | alwin <alwin> | 2004-08-02 08:19:00 (UTC) |
commit | eb1b398e44c55058d65be0a8d5d8c24db9b6d874 (patch) (side-by-side diff) | |
tree | 5c7b84214e1a414f1de7d006cea49f57addabc82 | |
parent | 26e22b14963afc0e75b9bfdbdf97110249ae87c5 (diff) | |
download | opie-eb1b398e44c55058d65be0a8d5d8c24db9b6d874.zip opie-eb1b398e44c55058d65be0a8d5d8c24db9b6d874.tar.gz opie-eb1b398e44c55058d65be0a8d5d8c24db9b6d874.tar.bz2 |
ignore keys no actions are defined
-rw-r--r-- | noncore/applets/zkbapplet/keyzcfg/zkb.cpp | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/noncore/applets/zkbapplet/keyzcfg/zkb.cpp b/noncore/applets/zkbapplet/keyzcfg/zkb.cpp index a357b88..3cc3669 100644 --- a/noncore/applets/zkbapplet/keyzcfg/zkb.cpp +++ b/noncore/applets/zkbapplet/keyzcfg/zkb.cpp @@ -238,68 +238,69 @@ int State::translateKeycode(int keycode) const { return -1; } // Implementation of Keymap class Keymap::Keymap():enabled(true), currentState(0), autoRepeatAction(0), repeater(this) { repeatDelay=400; repeatPeriod=80; connect(&repeater, SIGNAL(timeout()), this, SLOT(autoRepeat())); } Keymap::~Keymap() { odebug << "removing keyboard filter for zkb"<<oendl; Opie::Core::OKeyFilter::inst()->remHandler(this); QMap<QString, State*>::Iterator it; for(it = states.begin(); it != states.end(); ++it) { delete it.data(); } states.clear(); } bool Keymap::filter(int unicode, int keycode, int modifiers, bool isPress, bool autoRepeat) { - odebug << "filter: >>> unicode=" << unicode << ", keycode=" << keycode - << ", modifiers=" << modifiers << ", ispressed=" << isPress << oendl; - if (!enabled) { return false; } + odebug << "filter: >>> unicode=" << unicode << ", keycode=" << keycode + << ", modifiers=" << modifiers << ", ispressed=" << isPress << oendl; + // the second check is workaround to make suspend work if // the user pressed it right after he did resume. for some // reason the event sent by qt has autoRepeat true in this // case if (autoRepeat && keycode != 4177) { return true; } (void) unicode; (void) modifiers; Action* action = currentState->get(keycode, isPress, true); if (action==0 || !action->isDefined()) { - return true; + odebug << "no action defined for that"<<oendl; + return false; } if (action->hasEvent()) { odebug << "filter:<<< unicode=" << action->getUnicode() << ", keycode=" << action->getKeycode() << ", modifiers=" << action->getModifiers() << ", ispressed=" << action->isPressed() << oendl; QWSServer::sendKeyEvent(action->getUnicode(), action->getKeycode(), action->getModifiers(), action->isPressed(), false); } if (action->isAutorepeat()) { autoRepeatAction = action; repeater.start(repeatDelay, TRUE); } else { autoRepeatAction = 0; } State* nstate = action->getState(); if (nstate != 0) { setCurrentState(nstate); QString lbl = getCurrentLabel(); if (!lbl.isEmpty()) { emit stateChanged(lbl); |