|
|
82b592 |
From f9b5bbaa3a7fce1a4efb2084b8d9d82b98d4ee83 Mon Sep 17 00:00:00 2001
|
|
|
82b592 |
From: Peter Hutterer <peter.hutterer@who-t.net>
|
|
|
82b592 |
Date: Tue, 8 Mar 2016 15:42:42 +1000
|
|
|
82b592 |
Subject: [PATCH xserver] xkb: fix SlowKeys release/reject beeps
|
|
|
82b592 |
|
|
|
82b592 |
Wrong use of the mask here caused a beep whenever a key was rejected but
|
|
|
82b592 |
also when it was released after being accepted. Fix the mask to check
|
|
|
82b592 |
for the correct enabled controls.
|
|
|
82b592 |
|
|
|
82b592 |
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
|
82b592 |
Reviewed-by: Daniel Stone <daniels@collabora.com>
|
|
|
82b592 |
---
|
|
|
82b592 |
xkb/xkbAccessX.c | 5 ++++-
|
|
|
82b592 |
1 file changed, 4 insertions(+), 1 deletion(-)
|
|
|
82b592 |
|
|
|
82b592 |
diff --git a/xkb/xkbAccessX.c b/xkb/xkbAccessX.c
|
|
|
82b592 |
index 02e820b..892cb30 100644
|
|
|
82b592 |
--- a/xkb/xkbAccessX.c
|
|
|
82b592 |
+++ b/xkb/xkbAccessX.c
|
|
|
82b592 |
@@ -618,6 +618,7 @@ AccessXFilterReleaseEvent(DeviceEvent *event, DeviceIntPtr keybd)
|
|
|
82b592 |
if (ctrls->enabled_ctrls & XkbSlowKeysMask) {
|
|
|
82b592 |
xkbAccessXNotify ev;
|
|
|
82b592 |
unsigned beep_type;
|
|
|
82b592 |
+ unsigned mask;
|
|
|
82b592 |
|
|
|
82b592 |
ev.keycode = key;
|
|
|
82b592 |
ev.slowKeysDelay = ctrls->slow_keys_delay;
|
|
|
82b592 |
@@ -625,14 +626,16 @@ AccessXFilterReleaseEvent(DeviceEvent *event, DeviceIntPtr keybd)
|
|
|
82b592 |
if (BitIsOn(keybd->key->down, key) || (xkbi->mouseKey == key)) {
|
|
|
82b592 |
ev.detail = XkbAXN_SKRelease;
|
|
|
82b592 |
beep_type = _BEEP_SLOW_RELEASE;
|
|
|
82b592 |
+ mask = XkbAX_SKReleaseFBMask;
|
|
|
82b592 |
}
|
|
|
82b592 |
else {
|
|
|
82b592 |
ev.detail = XkbAXN_SKReject;
|
|
|
82b592 |
beep_type = _BEEP_SLOW_REJECT;
|
|
|
82b592 |
+ mask = XkbAX_SKRejectFBMask;
|
|
|
82b592 |
ignoreKeyEvent = TRUE;
|
|
|
82b592 |
}
|
|
|
82b592 |
XkbSendAccessXNotify(keybd, &ev;;
|
|
|
82b592 |
- if (XkbAX_NeedFeedback(ctrls, XkbAX_SKRejectFBMask)) {
|
|
|
82b592 |
+ if (XkbAX_NeedFeedback(ctrls, mask)) {
|
|
|
82b592 |
XkbDDXAccessXBeep(keybd, beep_type, XkbSlowKeysMask);
|
|
|
82b592 |
}
|
|
|
82b592 |
if (xkbi->slowKey == key)
|
|
|
82b592 |
--
|
|
|
82b592 |
2.7.4
|
|
|
82b592 |
|