[PATCH] Drop valuator mask argument from GetKeyboardEvents

Jeremy Huddleston Sequoia jeremyhu at apple.com
Tue Dec 16 00:30:47 PST 2014


I should be able to take a look over the winter break next week.

--Jeremy

> On Dec 15, 2014, at 20:43, Peter Hutterer <peter.hutterer at who-t.net> wrote:
> 
> Nothing was using it and if anyone had they would've gotten a warning and
> noticed that it doesn't actually work. Drop this, it has been unused for years.
> 
> Input ABI 22
> 
> Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
> ---
> Jeremy, Jon, can you please build-test this? thanks
> 
> 
> Xext/xtest.c                   |  2 +-
> dix/devices.c                  |  2 +-
> dix/getevents.c                | 40 +++++-----------------------------------
> hw/dmx/input/dmxevents.c       |  7 ++-----
> hw/kdrive/src/kinput.c         |  2 +-
> hw/xfree86/common/xf86Events.c |  2 +-
> hw/xfree86/common/xf86Module.h |  2 +-
> hw/xfree86/common/xf86Xinput.c | 41 +++++++----------------------------------
> hw/xfree86/common/xf86Xinput.h | 13 +++----------
> hw/xnest/Events.c              |  2 +-
> hw/xquartz/darwinEvents.c      |  6 ++----
> hw/xwayland/xwayland-input.c   | 12 +++---------
> hw/xwin/winkeybd.c             |  2 +-
> include/input.h                |  5 ++---
> 14 files changed, 31 insertions(+), 107 deletions(-)
> 
> diff --git a/Xext/xtest.c b/Xext/xtest.c
> index 88df443..2371a69 100644
> --- a/Xext/xtest.c
> +++ b/Xext/xtest.c
> @@ -421,7 +421,7 @@ ProcXTestFakeInput(ClientPtr client)
>     case KeyPress:
>     case KeyRelease:
>         nevents =
> -            GetKeyboardEvents(xtest_evlist, dev, type, ev->u.u.detail, NULL);
> +            GetKeyboardEvents(xtest_evlist, dev, type, ev->u.u.detail);
>         break;
>     }
> 
> diff --git a/dix/devices.c b/dix/devices.c
> index c4fdbe1..d8e7f9c 100644
> --- a/dix/devices.c
> +++ b/dix/devices.c
> @@ -2518,7 +2518,7 @@ ReleaseButtonsAndKeys(DeviceIntPtr dev)
>     /* Release all keys */
>     for (i = 0; k && i < MAP_LENGTH; i++) {
>         if (BitIsOn(k->down, i)) {
> -            nevents = GetKeyboardEvents(eventlist, dev, KeyRelease, i, NULL);
> +            nevents = GetKeyboardEvents(eventlist, dev, KeyRelease, i);
>             for (j = 0; j < nevents; j++)
>                 mieqProcessDeviceEvent(dev, &eventlist[j], NULL);
>         }
> diff --git a/dix/getevents.c b/dix/getevents.c
> index 6684ddc..6e3dc06 100644
> --- a/dix/getevents.c
> +++ b/dix/getevents.c
> @@ -1054,21 +1054,18 @@ event_set_root_coordinates(DeviceEvent *event, double x, double y)
>  *
>  * This function is not reentrant. Disable signals before calling.
>  *
> - * FIXME: flags for relative/abs motion?
> - *
>  * @param device The device to generate the event for
>  * @param type Event type, one of KeyPress or KeyRelease
>  * @param keycode Key code of the pressed/released key
> - * @param mask Valuator mask for valuators present for this event.
>  *
>  */
> void
> QueueKeyboardEvents(DeviceIntPtr device, int type,
> -                    int keycode, const ValuatorMask *mask)
> +                    int keycode)
> {
>     int nevents;
> 
> -    nevents = GetKeyboardEvents(InputEventList, device, type, keycode, mask);
> +    nevents = GetKeyboardEvents(InputEventList, device, type, keycode);
>     queueEventList(device, InputEventList, nevents);
> }
> 
> @@ -1083,20 +1080,17 @@ QueueKeyboardEvents(DeviceIntPtr device, int type,
>  */
> int
> GetKeyboardEvents(InternalEvent *events, DeviceIntPtr pDev, int type,
> -                  int key_code, const ValuatorMask *mask_in)
> +                  int key_code)
> {
>     int num_events = 0;
>     CARD32 ms = 0;
>     DeviceEvent *event;
>     RawDeviceEvent *raw;
> -    ValuatorMask mask;
> 
> #if XSERVER_DTRACE
>     if (XSERVER_INPUT_EVENT_ENABLED()) {
> -        XSERVER_INPUT_EVENT(pDev->id, type, key_code, 0,
> -                            mask_in ? mask_in->last_bit + 1 : 0,
> -                            mask_in ? mask_in->mask : NULL,
> -                            mask_in ? mask_in->valuators : NULL);
> +        XSERVER_INPUT_EVENT(pDev->id, type, key_code, 0, 0,
> +                            NULL, NULL);
>     }
> #endif
> 
> @@ -1109,11 +1103,6 @@ GetKeyboardEvents(InternalEvent *events, DeviceIntPtr pDev, int type,
>         (key_code < 8 || key_code > 255))
>         return 0;
> 
> -    if (mask_in && valuator_mask_size(mask_in) > 1) {
> -        ErrorF("[dix] the server does not handle valuator masks with "
> -               "keyboard events. This is a bug. You may fix it.\n");
> -    }
> -
>     num_events = 1;
> 
>     events =
> @@ -1135,14 +1124,7 @@ GetKeyboardEvents(InternalEvent *events, DeviceIntPtr pDev, int type,
>     events++;
>     num_events++;
> 
> -    valuator_mask_copy(&mask, mask_in);
> -
>     init_raw(pDev, raw, ms, type, key_code);
> -    set_raw_valuators(raw, &mask, raw->valuators.data_raw);
> -
> -    clipValuators(pDev, &mask);
> -
> -    set_raw_valuators(raw, &mask, raw->valuators.data);
> 
>     event = &events->device_event;
>     init_device_event(event, pDev, ms);
> @@ -1157,18 +1139,6 @@ GetKeyboardEvents(InternalEvent *events, DeviceIntPtr pDev, int type,
>         set_key_up(pDev, key_code, KEY_POSTED);
>     }
> 
> -    clipValuators(pDev, &mask);
> -
> -    set_valuators(pDev, event, &mask);
> -
> -    if (!IsFloating(pDev)) {
> -        DeviceIntPtr master = GetMaster(pDev, MASTER_POINTER);
> -
> -        event_set_root_coordinates(event,
> -                                   master->last.valuators[0],
> -                                   master->last.valuators[1]);
> -    }
> -
>     return num_events;
> }
> 
> diff --git a/hw/dmx/input/dmxevents.c b/hw/dmx/input/dmxevents.c
> index 14ac05f..2b579ee 100644
> --- a/hw/dmx/input/dmxevents.c
> +++ b/hw/dmx/input/dmxevents.c
> @@ -488,12 +488,9 @@ dmxTranslateAndEnqueueExtEvent(DMXLocalInputInfoPtr dmxLocal,
>     switch (type) {
>     case XI_DeviceKeyPress:
>     case XI_DeviceKeyRelease:
> -        EXTRACT_VALUATORS(ke, valuators);
> -        valuator_mask_set_range(&mask, ke->first_axis, ke->axes_count,
> -                                valuators);
>         if (block)
>             OsBlockSIGIO();
> -        QueueKeyboardEvents(pDevice, event, ke->keycode, &mask);
> +        QueueKeyboardEvents(pDevice, event, ke->keycode);
>         if (block)
>             OsReleaseSIGIO();
>         break;
> @@ -718,7 +715,7 @@ dmxEnqueue(DevicePtr pDev, int type, int detail, KeySym keySym,
>             detail = dmxFixup(pDev, detail, keySym);
> 
>         /*ErrorF("KEY %d  sym %d\n", detail, (int) keySym); */
> -        QueueKeyboardEvents(p, type, detail, NULL);
> +        QueueKeyboardEvents(p, type, detail);
>         return;
> 
>     case ButtonPress:
> diff --git a/hw/kdrive/src/kinput.c b/hw/kdrive/src/kinput.c
> index a539ca5..057f53b 100644
> --- a/hw/kdrive/src/kinput.c
> +++ b/hw/kdrive/src/kinput.c
> @@ -1831,7 +1831,7 @@ KdEnqueueKeyboardEvent(KdKeyboardInfo * ki,
>         else
>             type = KeyPress;
> 
> -        QueueKeyboardEvents(ki->dixdev, type, key_code, NULL);
> +        QueueKeyboardEvents(ki->dixdev, type, key_code);
>     }
>     else {
>         ErrorF("driver %s wanted to post scancode %d outside of [%d, %d]!\n",
> diff --git a/hw/xfree86/common/xf86Events.c b/hw/xfree86/common/xf86Events.c
> index 16b3e28..c06aaae 100644
> --- a/hw/xfree86/common/xf86Events.c
> +++ b/hw/xfree86/common/xf86Events.c
> @@ -403,7 +403,7 @@ xf86ReleaseKeys(DeviceIntPtr pDev)
>          i < keyc->xkbInfo->desc->max_key_code; i++) {
>         if (key_is_down(pDev, i, KEY_POSTED)) {
>             OsBlockSIGIO();
> -            QueueKeyboardEvents(pDev, KeyRelease, i, NULL);
> +            QueueKeyboardEvents(pDev, KeyRelease, i);
>             OsReleaseSIGIO();
>         }
>     }
> diff --git a/hw/xfree86/common/xf86Module.h b/hw/xfree86/common/xf86Module.h
> index e68fe9c..25a8869 100644
> --- a/hw/xfree86/common/xf86Module.h
> +++ b/hw/xfree86/common/xf86Module.h
> @@ -81,7 +81,7 @@ typedef enum {
>  */
> #define ABI_ANSIC_VERSION	SET_ABI_VERSION(0, 4)
> #define ABI_VIDEODRV_VERSION	SET_ABI_VERSION(19, 0)
> -#define ABI_XINPUT_VERSION	SET_ABI_VERSION(21, 0)
> +#define ABI_XINPUT_VERSION	SET_ABI_VERSION(22, 0)
> #define ABI_EXTENSION_VERSION	SET_ABI_VERSION(9, 0)
> #define ABI_FONT_VERSION	SET_ABI_VERSION(0, 6)
> 
> diff --git a/hw/xfree86/common/xf86Xinput.c b/hw/xfree86/common/xf86Xinput.c
> index 1fb5b16..9fa3dc4 100644
> --- a/hw/xfree86/common/xf86Xinput.c
> +++ b/hw/xfree86/common/xf86Xinput.c
> @@ -1326,47 +1326,21 @@ xf86PostButtonEventM(DeviceIntPtr device,
> }
> 
> void
> -xf86PostKeyEvent(DeviceIntPtr device,
> -                 unsigned int key_code,
> -                 int is_down,
> -                 int is_absolute, int first_valuator, int num_valuators, ...)
> +xf86PostKeyEvent(DeviceIntPtr device, unsigned int key_code, int is_down)
> {
> -    va_list var;
> -    int i = 0;
> -    ValuatorMask mask;
> -
> -    XI_VERIFY_VALUATORS(num_valuators);
> -
> -    valuator_mask_zero(&mask);
> -
> -    va_start(var, num_valuators);
> -    for (i = 0; i < num_valuators; i++)
> -        valuator_mask_set(&mask, first_valuator + i, va_arg(var, int));
> -
> -    va_end(var);
> -
> -    xf86PostKeyEventM(device, key_code, is_down, is_absolute, &mask);
> +    xf86PostKeyEventM(device, key_code, is_down);
> }
> 
> void
> xf86PostKeyEventP(DeviceIntPtr device,
>                   unsigned int key_code,
> -                  int is_down,
> -                  int is_absolute,
> -                  int first_valuator, int num_valuators, const int *valuators)
> +                  int is_down)
> {
> -    ValuatorMask mask;
> -
> -    XI_VERIFY_VALUATORS(num_valuators);
> -
> -    valuator_mask_set_range(&mask, first_valuator, num_valuators, valuators);
> -    xf86PostKeyEventM(device, key_code, is_down, is_absolute, &mask);
> +    xf86PostKeyEventM(device, key_code, is_down);
> }
> 
> void
> -xf86PostKeyEventM(DeviceIntPtr device,
> -                  unsigned int key_code,
> -                  int is_down, int is_absolute, const ValuatorMask *mask)
> +xf86PostKeyEventM(DeviceIntPtr device, unsigned int key_code, int is_down)
> {
> #if XFreeXDGA
>     DeviceIntPtr pointer;
> @@ -1382,8 +1356,7 @@ xf86PostKeyEventM(DeviceIntPtr device,
>     }
> #endif
> 
> -    QueueKeyboardEvents(device,
> -                        is_down ? KeyPress : KeyRelease, key_code, mask);
> +    QueueKeyboardEvents(device, is_down ? KeyPress : KeyRelease, key_code);
> }
> 
> void
> @@ -1392,7 +1365,7 @@ xf86PostKeyboardEvent(DeviceIntPtr device, unsigned int key_code, int is_down)
>     ValuatorMask mask;
> 
>     valuator_mask_zero(&mask);
> -    xf86PostKeyEventM(device, key_code, is_down, 0, &mask);
> +    xf86PostKeyEventM(device, key_code, is_down);
> }
> 
> InputInfoPtr
> diff --git a/hw/xfree86/common/xf86Xinput.h b/hw/xfree86/common/xf86Xinput.h
> index 42d66d2..0024053 100644
> --- a/hw/xfree86/common/xf86Xinput.h
> +++ b/hw/xfree86/common/xf86Xinput.h
> @@ -148,18 +148,11 @@ extern _X_EXPORT void xf86PostButtonEventM(DeviceIntPtr device, int is_absolute,
>                                            int button, int is_down,
>                                            const ValuatorMask *mask);
> extern _X_EXPORT void xf86PostKeyEvent(DeviceIntPtr device,
> -                                       unsigned int key_code, int is_down,
> -                                       int is_absolute, int first_valuator,
> -                                       int num_valuators, ...);
> +                                       unsigned int key_code, int is_down);
> extern _X_EXPORT void xf86PostKeyEventM(DeviceIntPtr device,
> -                                        unsigned int key_code, int is_down,
> -                                        int is_absolute,
> -                                        const ValuatorMask *mask);
> +                                        unsigned int key_code, int is_down);
> extern _X_EXPORT void xf86PostKeyEventP(DeviceIntPtr device,
> -                                        unsigned int key_code, int is_down,
> -                                        int is_absolute, int first_valuator,
> -                                        int num_valuators,
> -                                        const int *valuators);
> +                                        unsigned int key_code, int is_down);
> extern _X_EXPORT void xf86PostKeyboardEvent(DeviceIntPtr device,
>                                             unsigned int key_code, int is_down);
> extern _X_EXPORT void xf86PostTouchEvent(DeviceIntPtr dev, uint32_t touchid,
> diff --git a/hw/xnest/Events.c b/hw/xnest/Events.c
> index 3ff095b..f727557 100644
> --- a/hw/xnest/Events.c
> +++ b/hw/xnest/Events.c
> @@ -103,7 +103,7 @@ void
> xnestQueueKeyEvent(int type, unsigned int keycode)
> {
>     lastEventTime = GetTimeInMillis();
> -    QueueKeyboardEvents(xnestKeyboardDevice, type, keycode, NULL);
> +    QueueKeyboardEvents(xnestKeyboardDevice, type, keycode);
> }
> 
> void
> diff --git a/hw/xquartz/darwinEvents.c b/hw/xquartz/darwinEvents.c
> index 5a5e4da..9bf2f14 100644
> --- a/hw/xquartz/darwinEvents.c
> +++ b/hw/xquartz/darwinEvents.c
> @@ -456,8 +456,7 @@ DarwinInputReleaseButtonsAndKeys(DeviceIntPtr pDev)
>         if (pDev->key) {
>             for (i = 0; i < NUM_KEYCODES; i++) {
>                 if (BitIsOn(pDev->key->down, i + MIN_KEYCODE)) {
> -                    QueueKeyboardEvents(pDev, KeyRelease, i + MIN_KEYCODE,
> -                                        NULL);
> +                    QueueKeyboardEvents(pDev, KeyRelease, i + MIN_KEYCODE);
>                 }
>             }
>         }
> @@ -611,8 +610,7 @@ DarwinSendKeyboardEvents(int ev_type, int keycode)
> 
>     darwinEvents_lock();
>     {
> -        QueueKeyboardEvents(darwinKeyboard, ev_type, keycode + MIN_KEYCODE,
> -                            NULL);
> +        QueueKeyboardEvents(darwinKeyboard, ev_type, keycode + MIN_KEYCODE);
>         DarwinPokeEQ();
>     } darwinEvents_unlock();
> }
> diff --git a/hw/xwayland/xwayland-input.c b/hw/xwayland/xwayland-input.c
> index b8c543c..68826ff 100644
> --- a/hw/xwayland/xwayland-input.c
> +++ b/hw/xwayland/xwayland-input.c
> @@ -318,7 +318,6 @@ keyboard_handle_key(void *data, struct wl_keyboard *keyboard, uint32_t serial,
> {
>     struct xwl_seat *xwl_seat = data;
>     uint32_t *k, *end;
> -    ValuatorMask mask;
> 
>     xwl_seat->xwl_screen->serial = serial;
> 
> @@ -333,9 +332,8 @@ keyboard_handle_key(void *data, struct wl_keyboard *keyboard, uint32_t serial,
>         *k = key;
>     }
> 
> -    valuator_mask_zero(&mask);
>     QueueKeyboardEvents(xwl_seat->keyboard,
> -                        state ? KeyPress : KeyRelease, key + 8, &mask);
> +                        state ? KeyPress : KeyRelease, key + 8);
> }
> 
> static void
> @@ -388,16 +386,14 @@ keyboard_handle_enter(void *data, struct wl_keyboard *keyboard,
>                       struct wl_surface *surface, struct wl_array *keys)
> {
>     struct xwl_seat *xwl_seat = data;
> -    ValuatorMask mask;
>     uint32_t *k;
> 
>     xwl_seat->xwl_screen->serial = serial;
>     xwl_seat->keyboard_focus = surface;
> 
>     wl_array_copy(&xwl_seat->keys, keys);
> -    valuator_mask_zero(&mask);
>     wl_array_for_each(k, &xwl_seat->keys)
> -        QueueKeyboardEvents(xwl_seat->keyboard, KeyPress, *k + 8, &mask);
> +        QueueKeyboardEvents(xwl_seat->keyboard, KeyPress, *k + 8);
> }
> 
> static void
> @@ -405,14 +401,12 @@ keyboard_handle_leave(void *data, struct wl_keyboard *keyboard,
>                       uint32_t serial, struct wl_surface *surface)
> {
>     struct xwl_seat *xwl_seat = data;
> -    ValuatorMask mask;
>     uint32_t *k;
> 
>     xwl_seat->xwl_screen->serial = serial;
> 
> -    valuator_mask_zero(&mask);
>     wl_array_for_each(k, &xwl_seat->keys)
> -        QueueKeyboardEvents(xwl_seat->keyboard, KeyRelease, *k + 8, &mask);
> +        QueueKeyboardEvents(xwl_seat->keyboard, KeyRelease, *k + 8);
> 
>     xwl_seat->keyboard_focus = NULL;
> }
> diff --git a/hw/xwin/winkeybd.c b/hw/xwin/winkeybd.c
> index 3a75ab2..e7202a6 100644
> --- a/hw/xwin/winkeybd.c
> +++ b/hw/xwin/winkeybd.c
> @@ -502,7 +502,7 @@ winSendKeyEvent(DWORD dwKey, Bool fDown)
>     g_winKeyState[dwKey] = fDown;
> 
>     QueueKeyboardEvents(g_pwinKeyboard, fDown ? KeyPress : KeyRelease,
> -                        dwKey + MIN_KEYCODE, NULL);
> +                        dwKey + MIN_KEYCODE);
> 
>     winDebug("winSendKeyEvent: dwKey: %d, fDown: %d\n", dwKey, fDown);
> }
> diff --git a/include/input.h b/include/input.h
> index bf22dc7..cb83cac 100644
> --- a/include/input.h
> +++ b/include/input.h
> @@ -448,12 +448,11 @@ extern _X_EXPORT void QueuePointerEvents(DeviceIntPtr pDev,
> extern _X_EXPORT int GetKeyboardEvents(InternalEvent *events,
>                                        DeviceIntPtr pDev,
>                                        int type,
> -                                       int key_code, const ValuatorMask *mask);
> +                                       int key_code);
> 
> extern _X_EXPORT void QueueKeyboardEvents(DeviceIntPtr pDev,
>                                           int type,
> -                                          int key_code,
> -                                          const ValuatorMask *mask);
> +                                          int key_code);
> 
> extern int GetTouchEvents(InternalEvent *events,
>                           DeviceIntPtr pDev,
> -- 
> 2.1.0
> 

-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 4109 bytes
Desc: not available
URL: <http://lists.x.org/archives/xorg-devel/attachments/20141216/ea1474ef/attachment.bin>


More information about the xorg-devel mailing list