[PATCH weston] libinput-device: Don't get initial key states

Pekka Paalanen ppaalanen at gmail.com
Fri Sep 12 01:51:31 PDT 2014


On Thu, 11 Sep 2014 23:35:58 +0200
Jonas Ådahl <jadahl at gmail.com> wrote:

> Initial key state is no pressed keys, and the libinput_device_get_keys
> function was deprecated in libinput 0.6.0.
> 
> Signed-off-by: Jonas Ådahl <jadahl at gmail.com>
> ---
> 
> Requires libinput 0.6.0, and assumes the previous posted patch that
> updates the configure.ac requirement to 0.6.0 has been applied.

Yup, pushed.


Thanks,
pq



> 
>  src/libinput-device.c | 30 ------------------------------
>  1 file changed, 30 deletions(-)
> 
> diff --git a/src/libinput-device.c b/src/libinput-device.c
> index 6e50eeb..02ec891 100644
> --- a/src/libinput-device.c
> +++ b/src/libinput-device.c
> @@ -381,42 +381,12 @@ void
>  evdev_notify_keyboard_focus(struct weston_seat *seat,
>  			    struct wl_list *evdev_devices)
>  {
> -	struct evdev_device *device;
>  	struct wl_array keys;
> -	unsigned int i, set;
> -	char evdev_keys[(KEY_CNT + 7) / 8];
> -	char all_keys[(KEY_CNT + 7) / 8];
> -	uint32_t *k;
> -	int ret;
>  
>  	if (!seat->keyboard_device_count > 0)
>  		return;
>  
> -	memset(all_keys, 0, sizeof all_keys);
> -	wl_list_for_each(device, evdev_devices, link) {
> -		memset(evdev_keys, 0, sizeof evdev_keys);
> -		ret = libinput_device_get_keys(device->device,
> -					       evdev_keys,
> -					       sizeof evdev_keys);
> -		if (ret < 0) {
> -			weston_log("failed to get keys for device %s\n",
> -				device->devnode);
> -			continue;
> -		}
> -		for (i = 0; i < ARRAY_LENGTH(evdev_keys); i++)
> -			all_keys[i] |= evdev_keys[i];
> -	}
> -
>  	wl_array_init(&keys);
> -	for (i = 0; i < KEY_CNT; i++) {
> -		set = all_keys[i >> 3] & (1 << (i & 7));
> -		if (set) {
> -			k = wl_array_add(&keys, sizeof *k);
> -			*k = i;
> -		}
> -	}
> -
>  	notify_keyboard_focus_in(seat, &keys, STATE_UPDATE_AUTOMATIC);
> -
>  	wl_array_release(&keys);
>  }



More information about the wayland-devel mailing list