[PATCH v3 libinput 2/2] Rename functions for left handed device configurations
Peter Hutterer
peter.hutterer at who-t.net
Tue Jan 6 19:02:01 PST 2015
On Tue, Jan 06, 2015 at 09:20:22PM -0500, Stephen Chandler Paul wrote:
> Some devices require more than just flipping around the buttons, such as
> tablets.
> When it comes to devices like tablets, because the position of the palm rest is
> on the right, the entire tablet has to be flipped around in order to be usable
> by lefties. As such, this requires that we reverse the coordinates of the
> tablets in addition to flipping the buttons on the tablet. As such, renaming
> these functions so that they aren't specific to devices where only the buttons
> are flipped seems appropriate.
>
> Signed-off-by: Stephen Chandler Paul <thatslyude at gmail.com>
> ---
>
> Fixed the naming scheme and changed it from
> libinput_device_config_foo_left_handed to
> libinput_device_config_left_handed_foo. Also fixed a small indenting error
> caused by the patch.
merged, thanks. I renamed libinput_device_config_has_left_handed to
libinput_device_left_handed_is_available() to get the same grouping (and we
already use "is_available" for pointer accel)
Cheers,
Peter
> src/evdev-mt-touchpad.c | 4 ++--
> src/evdev.c | 34 +++++++++++++++---------------
> src/evdev.h | 12 +++++------
> src/libinput.c | 16 +++++++-------
> src/libinput.h | 55 ++++++++++++++++++++++++-------------------------
> src/libinput.sym | 8 +++----
> test/pointer.c | 12 +++++------
> test/touch.c | 8 +++----
> test/touchpad.c | 18 ++++++++--------
> tools/event-debug.c | 2 +-
> tools/shared.c | 2 +-
> 11 files changed, 85 insertions(+), 86 deletions(-)
>
> diff --git a/src/evdev-mt-touchpad.c b/src/evdev-mt-touchpad.c
> index 7e8306d..34b107e 100644
> --- a/src/evdev-mt-touchpad.c
> +++ b/src/evdev-mt-touchpad.c
> @@ -1310,7 +1310,7 @@ tp_change_to_left_handed(struct evdev_device *device)
> {
> struct tp_dispatch *tp = (struct tp_dispatch *)device->dispatch;
>
> - if (device->buttons.want_left_handed == device->buttons.left_handed)
> + if (device->left_handed.want_enabled == device->left_handed.enabled)
> return;
>
> if (tp->buttons.state & 0x3) /* BTN_LEFT|BTN_RIGHT */
> @@ -1319,7 +1319,7 @@ tp_change_to_left_handed(struct evdev_device *device)
> /* tapping and clickfinger aren't affected by left-handed config,
> * so checking physical buttons is enough */
>
> - device->buttons.left_handed = device->buttons.want_left_handed;
> + device->left_handed.enabled = device->left_handed.want_enabled;
> }
>
> struct model_lookup_t {
> diff --git a/src/evdev.c b/src/evdev.c
> index 1718491..1fc1d6b 100644
> --- a/src/evdev.c
> +++ b/src/evdev.c
> @@ -119,8 +119,8 @@ evdev_pointer_notify_button(struct evdev_device *device,
> pointer_notify_button(&device->base, time, button, state);
>
> if (state == LIBINPUT_BUTTON_STATE_RELEASED &&
> - device->buttons.change_to_left_handed)
> - device->buttons.change_to_left_handed(device);
> + device->left_handed.change_to_enabled)
> + device->left_handed.change_to_enabled(device);
>
> if (state == LIBINPUT_BUTTON_STATE_RELEASED &&
> device->scroll.change_scroll_method)
> @@ -810,13 +810,13 @@ evdev_left_handed_has(struct libinput_device *device)
> static void
> evdev_change_to_left_handed(struct evdev_device *device)
> {
> - if (device->buttons.want_left_handed == device->buttons.left_handed)
> + if (device->left_handed.want_enabled == device->left_handed.enabled)
> return;
>
> if (evdev_any_button_down(device))
> return;
>
> - device->buttons.left_handed = device->buttons.want_left_handed;
> + device->left_handed.enabled = device->left_handed.want_enabled;
> }
>
> static enum libinput_config_status
> @@ -824,9 +824,9 @@ evdev_left_handed_set(struct libinput_device *device, int left_handed)
> {
> struct evdev_device *evdev_device = (struct evdev_device *)device;
>
> - evdev_device->buttons.want_left_handed = left_handed ? true : false;
> + evdev_device->left_handed.want_enabled = left_handed ? true : false;
>
> - evdev_device->buttons.change_to_left_handed(evdev_device);
> + evdev_device->left_handed.change_to_enabled(evdev_device);
>
> return LIBINPUT_CONFIG_STATUS_SUCCESS;
> }
> @@ -838,7 +838,7 @@ evdev_left_handed_get(struct libinput_device *device)
>
> /* return the wanted configuration, even if it hasn't taken
> * effect yet! */
> - return evdev_device->buttons.want_left_handed;
> + return evdev_device->left_handed.want_enabled;
> }
>
> static int
> @@ -851,14 +851,14 @@ int
> evdev_init_left_handed(struct evdev_device *device,
> void (*change_to_left_handed)(struct evdev_device *))
> {
> - device->buttons.config_left_handed.has = evdev_left_handed_has;
> - device->buttons.config_left_handed.set = evdev_left_handed_set;
> - device->buttons.config_left_handed.get = evdev_left_handed_get;
> - device->buttons.config_left_handed.get_default = evdev_left_handed_get_default;
> - device->base.config.left_handed = &device->buttons.config_left_handed;
> - device->buttons.left_handed = false;
> - device->buttons.want_left_handed = false;
> - device->buttons.change_to_left_handed = change_to_left_handed;
> + device->left_handed.config.has = evdev_left_handed_has;
> + device->left_handed.config.set = evdev_left_handed_set;
> + device->left_handed.config.get = evdev_left_handed_get;
> + device->left_handed.config.get_default = evdev_left_handed_get_default;
> + device->base.config.left_handed = &device->left_handed.config;
> + device->left_handed.enabled = false;
> + device->left_handed.want_enabled = false;
> + device->left_handed.change_to_enabled = change_to_left_handed;
>
> return 0;
> }
> @@ -1052,7 +1052,7 @@ fallback_dispatch_create(struct libinput_device *device)
>
> dispatch->interface = &fallback_interface;
>
> - if (evdev_device->buttons.want_left_handed &&
> + if (evdev_device->left_handed.want_enabled &&
> evdev_init_left_handed(evdev_device,
> evdev_change_to_left_handed) == -1) {
> free(dispatch);
> @@ -1442,7 +1442,7 @@ evdev_configure_device(struct evdev_device *device)
> has_button ? " button" : "");
>
> /* want left-handed config option */
> - device->buttons.want_left_handed = true;
> + device->left_handed.want_enabled = true;
> /* want natural-scroll config option */
> device->scroll.natural_scrolling_enabled = true;
> }
> diff --git a/src/evdev.h b/src/evdev.h
> index a75dd13..b7e7848 100644
> --- a/src/evdev.h
> +++ b/src/evdev.h
> @@ -141,15 +141,15 @@ struct evdev_device {
> uint8_t key_count[KEY_CNT];
>
> struct {
> - struct libinput_device_config_left_handed config_left_handed;
> + struct libinput_device_config_left_handed config;
> /* left-handed currently enabled */
> - bool left_handed;
> + bool enabled;
> /* set during device init if we want left_handed config,
> * used at runtime to delay the effect until buttons are up */
> - bool want_left_handed;
> + bool want_enabled;
> /* Checks if buttons are down and commits the setting */
> - void (*change_to_left_handed)(struct evdev_device *device);
> - } buttons;
> + void (*change_to_enabled)(struct evdev_device *device);
> + } left_handed;
>
> int dpi; /* HW resolution */
> struct ratelimit syn_drop_limit; /* ratelimit for SYN_DROPPED logging */
> @@ -329,7 +329,7 @@ static inline uint32_t
> evdev_to_left_handed(struct evdev_device *device,
> uint32_t button)
> {
> - if (device->buttons.left_handed) {
> + if (device->left_handed.enabled) {
> if (button == BTN_LEFT)
> return BTN_RIGHT;
> else if (button == BTN_RIGHT)
> diff --git a/src/libinput.c b/src/libinput.c
> index 426c306..00aa6b6 100644
> --- a/src/libinput.c
> +++ b/src/libinput.c
> @@ -1547,7 +1547,7 @@ libinput_device_config_scroll_get_default_natural_scroll_enabled(struct libinput
> }
>
> LIBINPUT_EXPORT int
> -libinput_device_config_buttons_has_left_handed(struct libinput_device *device)
> +libinput_device_config_has_left_handed(struct libinput_device *device)
> {
> if (!device->config.left_handed)
> return 0;
> @@ -1556,28 +1556,28 @@ libinput_device_config_buttons_has_left_handed(struct libinput_device *device)
> }
>
> LIBINPUT_EXPORT enum libinput_config_status
> -libinput_device_config_buttons_set_left_handed(struct libinput_device *device,
> - int left_handed)
> +libinput_device_config_left_handed_set(struct libinput_device *device,
> + int left_handed)
> {
> - if (!libinput_device_config_buttons_has_left_handed(device))
> + if (!libinput_device_config_has_left_handed(device))
> return LIBINPUT_CONFIG_STATUS_UNSUPPORTED;
>
> return device->config.left_handed->set(device, left_handed);
> }
>
> LIBINPUT_EXPORT int
> -libinput_device_config_buttons_get_left_handed(struct libinput_device *device)
> +libinput_device_config_left_handed_get(struct libinput_device *device)
> {
> - if (!libinput_device_config_buttons_has_left_handed(device))
> + if (!libinput_device_config_has_left_handed(device))
> return 0;
>
> return device->config.left_handed->get(device);
> }
>
> LIBINPUT_EXPORT int
> -libinput_device_config_buttons_get_default_left_handed(struct libinput_device *device)
> +libinput_device_config_left_handed_get_default(struct libinput_device *device)
> {
> - if (!libinput_device_config_buttons_has_left_handed(device))
> + if (!libinput_device_config_has_left_handed(device))
> return 0;
>
> return device->config.left_handed->get_default(device);
> diff --git a/src/libinput.h b/src/libinput.h
> index 7719b8c..dafa0ad 100644
> --- a/src/libinput.h
> +++ b/src/libinput.h
> @@ -2076,33 +2076,32 @@ libinput_device_config_scroll_get_default_natural_scroll_enabled(struct libinput
> /**
> * @ingroup config
> *
> - * Check if a device has a button configuration that supports left-handed
> - * usage.
> + * Check if a device has a configuration that supports left-handed usage.
> *
> * @param device The device to configure
> * @return Non-zero if the device can be set to left-handed, or zero
> * otherwise
> *
> - * @see libinput_device_config_buttons_set_left_handed
> - * @see libinput_device_config_buttons_get_left_handed
> - * @see libinput_device_config_buttons_get_default_left_handed
> + * @see libinput_device_config_left_handed_set
> + * @see libinput_device_config_left_handed_get
> + * @see libinput_device_config_left_handed_get_default
> */
> int
> -libinput_device_config_buttons_has_left_handed(struct libinput_device *device);
> +libinput_device_config_has_left_handed(struct libinput_device *device);
>
> /**
> * @ingroup config
> *
> - * Set the left-handed configuration of the device. A device in left-handed
> - * mode sends a left button event instead of the right button and vice
> - * versa.
> + * Set the left-handed configuration of the device. For example, a pointing
> + * device may reverse it's buttons and send a right button click when the
> + * left button is pressed, and vice versa.
> *
> - * The exact button behavior is device-dependent. On a mouse and most
> - * pointing devices, left and right buttons are swapped but the middle
> - * button is unmodified. On a touchpad, physical buttons (if present) are
> - * swapped. On a clickpad, the top and bottom software-emulated buttons are
> - * swapped where present, the main area of the touchpad remains a left
> - * button. Tapping and clickfinger behavior is not affected by this setting.
> + * The exact behavior is device-dependent. On a mouse and most pointing
> + * devices, left and right buttons are swapped but the middle button is
> + * unmodified. On a touchpad, physical buttons (if present) are swapped. On a
> + * clickpad, the top and bottom software-emulated buttons are swapped where
> + * present, the main area of the touchpad remains a left button. Tapping and
> + * clickfinger behavior is not affected by this setting.
> *
> * Changing the left-handed configuration of a device may not take effect
> * until all buttons have been logically released.
> @@ -2111,13 +2110,13 @@ libinput_device_config_buttons_has_left_handed(struct libinput_device *device);
> * @param left_handed Zero to disable, non-zero to enable left-handed mode
> * @return A configuration status code
> *
> - * @see libinput_device_config_buttons_has_left_handed
> - * @see libinput_device_config_buttons_get_left_handed
> - * @see libinput_device_config_buttons_get_default_left_handed
> + * @see libinput_device_config_has_left_handed
> + * @see libinput_device_config_left_handed_get
> + * @see libinput_device_config_left_handed_get_default
> */
> enum libinput_config_status
> -libinput_device_config_buttons_set_left_handed(struct libinput_device *device,
> - int left_handed);
> +libinput_device_config_left_handed_set(struct libinput_device *device,
> + int left_handed);
>
> /**
> * @ingroup config
> @@ -2128,12 +2127,12 @@ libinput_device_config_buttons_set_left_handed(struct libinput_device *device,
> * @return Zero if the device is in right-handed mode, non-zero if the
> * device is in left-handed mode
> *
> - * @see libinput_device_config_buttons_has_left_handed
> - * @see libinput_device_config_buttons_set_left_handed
> - * @see libinput_device_config_buttons_get_default_left_handed
> + * @see libinput_device_config_has_left_handed
> + * @see libinput_device_config_left_handed_set
> + * @see libinput_device_config_left_handed_get_default
> */
> int
> -libinput_device_config_buttons_get_left_handed(struct libinput_device *device);
> +libinput_device_config_left_handed_get(struct libinput_device *device);
>
> /**
> * @ingroup config
> @@ -2144,12 +2143,12 @@ libinput_device_config_buttons_get_left_handed(struct libinput_device *device);
> * @return Zero if the device is in right-handed mode by default, or non-zero
> * if the device is in left-handed mode by default
> *
> - * @see libinput_device_config_buttons_has_left_handed
> - * @see libinput_device_config_buttons_set_left_handed
> - * @see libinput_device_config_buttons_get_left_handed
> + * @see libinput_device_config_has_left_handed
> + * @see libinput_device_config_left_handed_set
> + * @see libinput_device_config_left_handed_get
> */
> int
> -libinput_device_config_buttons_get_default_left_handed(struct libinput_device *device);
> +libinput_device_config_left_handed_get_default(struct libinput_device *device);
>
> /**
> * @ingroup config
> diff --git a/src/libinput.sym b/src/libinput.sym
> index 826bfde..1ee43c5 100644
> --- a/src/libinput.sym
> +++ b/src/libinput.sym
> @@ -7,10 +7,10 @@ global:
> libinput_device_config_accel_get_speed;
> libinput_device_config_accel_is_available;
> libinput_device_config_accel_set_speed;
> - libinput_device_config_buttons_get_default_left_handed;
> - libinput_device_config_buttons_get_left_handed;
> - libinput_device_config_buttons_has_left_handed;
> - libinput_device_config_buttons_set_left_handed;
> + libinput_device_config_left_handed_get_default;
> + libinput_device_config_left_handed_get;
> + libinput_device_config_has_left_handed;
> + libinput_device_config_left_handed_set;
> libinput_device_config_calibration_get_default_matrix;
> libinput_device_config_calibration_get_matrix;
> libinput_device_config_calibration_has_matrix;
> diff --git a/test/pointer.c b/test/pointer.c
> index b9bd3cc..751f7be 100644
> --- a/test/pointer.c
> +++ b/test/pointer.c
> @@ -569,13 +569,13 @@ START_TEST(pointer_left_handed_defaults)
> struct libinput_device *d = dev->libinput_device;
> int rc;
>
> - rc = libinput_device_config_buttons_has_left_handed(d);
> + rc = libinput_device_config_has_left_handed(d);
> ck_assert_int_ne(rc, 0);
>
> - rc = libinput_device_config_buttons_get_left_handed(d);
> + rc = libinput_device_config_left_handed_get(d);
> ck_assert_int_eq(rc, 0);
>
> - rc = libinput_device_config_buttons_get_default_left_handed(d);
> + rc = libinput_device_config_left_handed_get_default(d);
> ck_assert_int_eq(rc, 0);
> }
> END_TEST
> @@ -587,7 +587,7 @@ START_TEST(pointer_left_handed)
> struct libinput *li = dev->libinput;
> enum libinput_config_status status;
>
> - status = libinput_device_config_buttons_set_left_handed(d, 1);
> + status = libinput_device_config_left_handed_set(d, 1);
> ck_assert_int_eq(status, LIBINPUT_CONFIG_STATUS_SUCCESS);
>
> litest_drain_events(li);
> @@ -637,7 +637,7 @@ START_TEST(pointer_left_handed_during_click)
> libinput_dispatch(li);
>
> /* Change while button is down, expect correct release event */
> - status = libinput_device_config_buttons_set_left_handed(d, 1);
> + status = libinput_device_config_left_handed_set(d, 1);
> ck_assert_int_eq(status, LIBINPUT_CONFIG_STATUS_SUCCESS);
>
> litest_button_click(dev, BTN_LEFT, 0);
> @@ -662,7 +662,7 @@ START_TEST(pointer_left_handed_during_click_multiple_buttons)
> litest_button_click(dev, BTN_LEFT, 1);
> libinput_dispatch(li);
>
> - status = libinput_device_config_buttons_set_left_handed(d, 1);
> + status = libinput_device_config_left_handed_set(d, 1);
> ck_assert_int_eq(status, LIBINPUT_CONFIG_STATUS_SUCCESS);
>
> /* No left-handed until all buttons were down */
> diff --git a/test/touch.c b/test/touch.c
> index 5c9b72a..7260ad6 100644
> --- a/test/touch.c
> +++ b/test/touch.c
> @@ -408,16 +408,16 @@ START_TEST(touch_no_left_handed)
> enum libinput_config_status status;
> int rc;
>
> - rc = libinput_device_config_buttons_has_left_handed(d);
> + rc = libinput_device_config_has_left_handed(d);
> ck_assert_int_eq(rc, 0);
>
> - rc = libinput_device_config_buttons_get_left_handed(d);
> + rc = libinput_device_config_left_handed_get(d);
> ck_assert_int_eq(rc, 0);
>
> - rc = libinput_device_config_buttons_get_default_left_handed(d);
> + rc = libinput_device_config_left_handed_get_default(d);
> ck_assert_int_eq(rc, 0);
>
> - status = libinput_device_config_buttons_set_left_handed(d, 0);
> + status = libinput_device_config_left_handed_set(d, 0);
> ck_assert_int_eq(status, LIBINPUT_CONFIG_STATUS_UNSUPPORTED);
> }
> END_TEST
> diff --git a/test/touchpad.c b/test/touchpad.c
> index 422e8fe..f2c3f32 100644
> --- a/test/touchpad.c
> +++ b/test/touchpad.c
> @@ -1915,7 +1915,7 @@ START_TEST(touchpad_left_handed)
> struct libinput *li = dev->libinput;
> enum libinput_config_status status;
>
> - status = libinput_device_config_buttons_set_left_handed(d, 1);
> + status = libinput_device_config_left_handed_set(d, 1);
> ck_assert_int_eq(status, LIBINPUT_CONFIG_STATUS_SUCCESS);
>
> litest_drain_events(li);
> @@ -1960,7 +1960,7 @@ START_TEST(touchpad_left_handed_clickpad)
> struct libinput *li = dev->libinput;
> enum libinput_config_status status;
>
> - status = libinput_device_config_buttons_set_left_handed(d, 1);
> + status = libinput_device_config_left_handed_set(d, 1);
> ck_assert_int_eq(status, LIBINPUT_CONFIG_STATUS_SUCCESS);
>
> litest_drain_events(li);
> @@ -2011,7 +2011,7 @@ START_TEST(touchpad_left_handed_clickfinger)
> struct libinput *li = dev->libinput;
> enum libinput_config_status status;
>
> - status = libinput_device_config_buttons_set_left_handed(d, 1);
> + status = libinput_device_config_left_handed_set(d, 1);
> ck_assert_int_eq(status, LIBINPUT_CONFIG_STATUS_SUCCESS);
>
> litest_drain_events(li);
> @@ -2054,7 +2054,7 @@ START_TEST(touchpad_left_handed_tapping)
>
> libinput_device_config_tap_set_enabled(dev->libinput_device,
> LIBINPUT_CONFIG_TAP_ENABLED);
> - status = libinput_device_config_buttons_set_left_handed(d, 1);
> + status = libinput_device_config_left_handed_set(d, 1);
> ck_assert_int_eq(status, LIBINPUT_CONFIG_STATUS_SUCCESS);
>
> litest_drain_events(li);
> @@ -2085,7 +2085,7 @@ START_TEST(touchpad_left_handed_tapping_2fg)
>
> libinput_device_config_tap_set_enabled(dev->libinput_device,
> LIBINPUT_CONFIG_TAP_ENABLED);
> - status = libinput_device_config_buttons_set_left_handed(d, 1);
> + status = libinput_device_config_left_handed_set(d, 1);
> ck_assert_int_eq(status, LIBINPUT_CONFIG_STATUS_SUCCESS);
>
> litest_drain_events(li);
> @@ -2121,7 +2121,7 @@ START_TEST(touchpad_left_handed_delayed)
> litest_button_click(dev, BTN_LEFT, 1);
> libinput_dispatch(li);
>
> - status = libinput_device_config_buttons_set_left_handed(d, 1);
> + status = libinput_device_config_left_handed_set(d, 1);
> ck_assert_int_eq(status, LIBINPUT_CONFIG_STATUS_SUCCESS);
>
> litest_button_click(dev, BTN_LEFT, 0);
> @@ -2138,7 +2138,7 @@ START_TEST(touchpad_left_handed_delayed)
> litest_button_click(dev, BTN_LEFT, 1);
> libinput_dispatch(li);
>
> - status = libinput_device_config_buttons_set_left_handed(d, 0);
> + status = libinput_device_config_left_handed_set(d, 0);
> ck_assert_int_eq(status, LIBINPUT_CONFIG_STATUS_SUCCESS);
>
> litest_button_click(dev, BTN_RIGHT, 0);
> @@ -2171,7 +2171,7 @@ START_TEST(touchpad_left_handed_clickpad_delayed)
> litest_button_click(dev, BTN_LEFT, 1);
> libinput_dispatch(li);
>
> - status = libinput_device_config_buttons_set_left_handed(d, 1);
> + status = libinput_device_config_left_handed_set(d, 1);
> ck_assert_int_eq(status, LIBINPUT_CONFIG_STATUS_SUCCESS);
>
> litest_button_click(dev, BTN_LEFT, 0);
> @@ -2190,7 +2190,7 @@ START_TEST(touchpad_left_handed_clickpad_delayed)
> litest_button_click(dev, BTN_LEFT, 1);
> libinput_dispatch(li);
>
> - status = libinput_device_config_buttons_set_left_handed(d, 0);
> + status = libinput_device_config_left_handed_set(d, 0);
> ck_assert_int_eq(status, LIBINPUT_CONFIG_STATUS_SUCCESS);
>
> litest_button_click(dev, BTN_LEFT, 0);
> diff --git a/tools/event-debug.c b/tools/event-debug.c
> index 8fbea24..4f1add5 100644
> --- a/tools/event-debug.c
> +++ b/tools/event-debug.c
> @@ -146,7 +146,7 @@ print_device_notify(struct libinput_event *ev)
>
> if (libinput_device_config_tap_get_finger_count((dev)))
> printf(" tap");
> - if (libinput_device_config_buttons_has_left_handed((dev)))
> + if (libinput_device_config_has_left_handed((dev)))
> printf(" left");
> if (libinput_device_config_scroll_has_natural_scroll((dev)))
> printf(" scroll-nat");
> diff --git a/tools/shared.c b/tools/shared.c
> index 3e1368d..b4f41d0 100644
> --- a/tools/shared.c
> +++ b/tools/shared.c
> @@ -262,5 +262,5 @@ tools_device_apply_config(struct libinput_device *device,
> libinput_device_config_scroll_set_natural_scroll_enabled(device,
> options->natural_scroll);
> if (options->left_handed != -1)
> - libinput_device_config_buttons_set_left_handed(device, options->left_handed);
> + libinput_device_config_left_handed_set(device, options->left_handed);
> }
> --
> 2.0.5
>
More information about the wayland-devel
mailing list