From 6de323768747dcfab15d2b14b885451331c9a951 Mon Sep 17 00:00:00 2001 From: Jeremy Soller Date: Thu, 15 May 2025 14:11:17 -0600 Subject: [PATCH] support CapsLock modifiers on wayland --- core/src/keyboard/modifiers.rs | 2 ++ winit/src/platform_specific/wayland/conversion.rs | 6 +++--- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/core/src/keyboard/modifiers.rs b/core/src/keyboard/modifiers.rs index 45b44a55..2c3cab37 100644 --- a/core/src/keyboard/modifiers.rs +++ b/core/src/keyboard/modifiers.rs @@ -26,6 +26,8 @@ bitflags! { // const RLOGO = 0b001 << 9; /// No modifiers const NONE = 0; + /// The Caps Lock key + const CAPS_LOCK = 0b100 << 12; } } diff --git a/winit/src/platform_specific/wayland/conversion.rs b/winit/src/platform_specific/wayland/conversion.rs index c2ca825d..d102b8e1 100644 --- a/winit/src/platform_specific/wayland/conversion.rs +++ b/winit/src/platform_specific/wayland/conversion.rs @@ -64,10 +64,10 @@ pub fn modifiers_to_native(mods: Modifiers) -> keyboard::Modifiers { if mods.shift { native_mods = native_mods.union(keyboard::Modifiers::SHIFT); } + if mods.caps_lock { + native_mods = native_mods.union(keyboard::Modifiers::CAPS_LOCK); + } // TODO Ashley: missing modifiers as platform specific additions? - // if mods.caps_lock { - // native_mods = native_mods.union(keyboard::Modifier); - // } // if mods.num_lock { // native_mods = native_mods.union(keyboard::Modifiers::); // }