diff options
author | Olivier Fourdan <ofourdan@redhat.com> | 2016-03-09 10:31:13 +0100 |
---|---|---|
committer | Olivier Fourdan <ofourdan@redhat.com> | 2016-06-03 09:39:42 +0200 |
commit | fda5675f9d257d583ea0683adf863c5e1e51e30c (patch) | |
tree | 54e22d63f147e71e0e53d53b7a51da626470f8e9 /include | |
parent | 3735ab965a4642273d070840bda4e827991e5219 (diff) |
xkb: add hook to allow/deny AccessX key repeat
The xserver generates the key repeat by itself.
But when used with another server processing inputs first (e.g. a
Wayland compositor), the other server may be busy dealing with some
other things and not queue up key release events in time.
Add a vfunc in XkbSrvInfo to possibly add a check before re-emitting a
keypress event in the AccessX timer handler, so that the key repeat has
a chance to be denied if the server processing the input is not ready.
Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Diffstat (limited to 'include')
-rw-r--r-- | include/xkbsrv.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/include/xkbsrv.h b/include/xkbsrv.h index 7e71089f1..6e4ad44d4 100644 --- a/include/xkbsrv.h +++ b/include/xkbsrv.h @@ -142,6 +142,10 @@ typedef struct _XkbFilter { struct _XkbFilter *next; } XkbFilterRec, *XkbFilterPtr; +typedef Bool (*XkbSrvCheckRepeatPtr) (DeviceIntPtr dev, + struct _XkbSrvInfo * /* xkbi */ , + unsigned /* keycode */); + typedef struct _XkbSrvInfo { XkbStateRec prev_state; XkbStateRec state; @@ -189,6 +193,8 @@ typedef struct _XkbSrvInfo { int szFilters; XkbFilterPtr filters; + + XkbSrvCheckRepeatPtr checkRepeat; } XkbSrvInfoRec, *XkbSrvInfoPtr; #define XkbSLI_IsDefault (1L<<0) |