Don't replay presses which are required f/ motions
When trying to doAction(ButtonPress, ...), we check whether the action would hit for type==MotionNotify. In this case we do nothing but return "true" to tell the caller that this event is "for us". Otherwise the event would be replayed to the client and there'd go out MotionNotify grabs. tl;du: This fixes MoveX actions.
This commit is contained in:
parent
bb013f5c75
commit
8a6623040e
1 changed files with 4 additions and 0 deletions
|
@ -555,6 +555,10 @@ bool Keys::doAction(int type, unsigned int mods, unsigned int key,
|
|||
if (!temp_key && isdouble)
|
||||
temp_key = next_key->find(type, mods, key, context, false);
|
||||
|
||||
if (!temp_key && type == ButtonPress && // unassigned button press
|
||||
next_key->find(MotionNotify, mods, key, context, false))
|
||||
return true; // if there's a motion action, prevent replay to the client (but do nothing)
|
||||
|
||||
if (temp_key && !temp_key->keylist.empty()) { // emacs-style
|
||||
if (!saved_keymode)
|
||||
saved_keymode = m_keylist;
|
||||
|
|
Loading…
Reference in a new issue