[PATCH xserver] xkb: fix SlowKeys release/reject beeps

Peter Hutterer peter.hutterer at who-t.net
Tue Apr 12 05:48:25 UTC 2016


On Tue, Mar 08, 2016 at 03:42:42PM +1000, Peter Hutterer wrote:
> Wrong use of the mask here caused a beep whenever a key was rejected but also
> when it was released after being accepted. Fix the mask to check for the
> correct enabled controls.
> 
> Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>

ping? anyone? beeps are pretty exciting stuff, especially to review.

Cheers,
   Peter

> ---
>  xkb/xkbAccessX.c | 5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
> 
> diff --git a/xkb/xkbAccessX.c b/xkb/xkbAccessX.c
> index 02e820b..892cb30 100644
> --- a/xkb/xkbAccessX.c
> +++ b/xkb/xkbAccessX.c
> @@ -618,6 +618,7 @@ AccessXFilterReleaseEvent(DeviceEvent *event, DeviceIntPtr keybd)
>      if (ctrls->enabled_ctrls & XkbSlowKeysMask) {
>          xkbAccessXNotify ev;
>          unsigned beep_type;
> +        unsigned mask;
>  
>          ev.keycode = key;
>          ev.slowKeysDelay = ctrls->slow_keys_delay;
> @@ -625,14 +626,16 @@ AccessXFilterReleaseEvent(DeviceEvent *event, DeviceIntPtr keybd)
>          if (BitIsOn(keybd->key->down, key) || (xkbi->mouseKey == key)) {
>              ev.detail = XkbAXN_SKRelease;
>              beep_type = _BEEP_SLOW_RELEASE;
> +            mask = XkbAX_SKReleaseFBMask;
>          }
>          else {
>              ev.detail = XkbAXN_SKReject;
>              beep_type = _BEEP_SLOW_REJECT;
> +            mask = XkbAX_SKRejectFBMask;
>              ignoreKeyEvent = TRUE;
>          }
>          XkbSendAccessXNotify(keybd, &ev);
> -        if (XkbAX_NeedFeedback(ctrls, XkbAX_SKRejectFBMask)) {
> +        if (XkbAX_NeedFeedback(ctrls, mask)) {
>              XkbDDXAccessXBeep(keybd, beep_type, XkbSlowKeysMask);
>          }
>          if (xkbi->slowKey == key)
> -- 
> 2.5.0
 


More information about the xorg-devel mailing list