From 50aabad06ae34677ce0813e47e46af76053d0e5c Mon Sep 17 00:00:00 2001 From: n3rdopolis Date: Thu, 1 Feb 2024 00:10:47 -0500 Subject: [PATCH] xkb_state_led_name_is_active does not appear to require devices to have EV_LED This allows the on-screen caps lock indicator to work on HyperV keyboards, and HyperV has one keyboard --- src/plugins/renderers/drm/plugin.c | 21 ++------------------- src/plugins/renderers/frame-buffer/plugin.c | 21 ++------------------- 2 files changed, 4 insertions(+), 38 deletions(-) diff --git a/src/plugins/renderers/drm/plugin.c b/src/plugins/renderers/drm/plugin.c index 2fbb6b85..e09c7b3e 100644 --- a/src/plugins/renderers/drm/plugin.c +++ b/src/plugins/renderers/drm/plugin.c @@ -1983,28 +1983,11 @@ get_any_input_device (ply_renderer_backend_t *backend) return NULL; } -static ply_input_device_t * -get_any_input_device_with_leds (ply_renderer_backend_t *backend) -{ - ply_list_node_t *node; - - ply_list_foreach (backend->input_source.input_devices, node) { - ply_input_device_t *input_device; - - input_device = ply_list_node_get_data (node); - - if (ply_input_device_is_keyboard_with_leds (input_device)) - return input_device; - } - - return NULL; -} - static bool get_capslock_state (ply_renderer_backend_t *backend) { if (using_input_device (&backend->input_source)) { - ply_input_device_t *dev = get_any_input_device_with_leds (backend); + ply_input_device_t *dev = get_any_input_device (backend); if (!dev) return false; @@ -2043,7 +2026,7 @@ sync_input_devices (ply_renderer_backend_t *backend) ply_xkb_keyboard_state_t *xkb_state; ply_input_device_t *source_input_device; - source_input_device = get_any_input_device_with_leds (backend); + source_input_device = get_any_input_device (backend); if (source_input_device == NULL) return; diff --git a/src/plugins/renderers/frame-buffer/plugin.c b/src/plugins/renderers/frame-buffer/plugin.c index 3d56116e..8f341d07 100644 --- a/src/plugins/renderers/frame-buffer/plugin.c +++ b/src/plugins/renderers/frame-buffer/plugin.c @@ -832,28 +832,11 @@ get_any_input_device (ply_renderer_backend_t *backend) return NULL; } -static ply_input_device_t * -get_any_input_device_with_leds (ply_renderer_backend_t *backend) -{ - ply_list_node_t *node; - - ply_list_foreach (backend->input_source.input_devices, node) { - ply_input_device_t *input_device; - - input_device = ply_list_node_get_data (node); - - if (ply_input_device_is_keyboard_with_leds (input_device)) - return input_device; - } - - return NULL; -} - static bool get_capslock_state (ply_renderer_backend_t *backend) { if (using_input_device (&backend->input_source)) { - ply_input_device_t *dev = get_any_input_device_with_leds (backend); + ply_input_device_t *dev = get_any_input_device (backend); if (!dev) return false; @@ -892,7 +875,7 @@ sync_input_devices (ply_renderer_backend_t *backend) ply_xkb_keyboard_state_t *xkb_state; ply_input_device_t *source_input_device; - source_input_device = get_any_input_device_with_leds (backend); + source_input_device = get_any_input_device (backend); if (source_input_device == NULL) return;