From 02149769ec61d485ddc0bf4f07e98f0ec700420f Mon Sep 17 00:00:00 2001 From: Ashley Wulber Date: Fri, 6 Mar 2026 12:55:12 -0500 Subject: [PATCH] fix: winit does not consider space a named key anymore to comply with spec --- core/src/keyboard/key.rs | 2 -- winit/src/platform_specific/wayland/keymap.rs | 5 ++++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/core/src/keyboard/key.rs b/core/src/keyboard/key.rs index 37a91597..7be037d1 100644 --- a/core/src/keyboard/key.rs +++ b/core/src/keyboard/key.rs @@ -991,8 +991,6 @@ pub enum Code { ShiftLeft, /// Shift or ShiftRight, - /// (space) - Space, /// Tab or Tab, /// Japanese: (henkan) diff --git a/winit/src/platform_specific/wayland/keymap.rs b/winit/src/platform_specific/wayland/keymap.rs index ea4ea977..ed7ad070 100644 --- a/winit/src/platform_specific/wayland/keymap.rs +++ b/winit/src/platform_specific/wayland/keymap.rs @@ -682,7 +682,9 @@ pub fn keysym_to_key(keysym: u32) -> Key { keysyms::_3270_PrintScreen => Named::PrintScreen, keysyms::_3270_Enter => Named::Enter, - keysyms::space => Named::Space, + keysyms::space => { + return Key::Character(" ".into()); + } // exclam..Sinh_kunddaliya // XFree86 @@ -1069,6 +1071,7 @@ pub fn key_to_keysym( (Some('*'), Location::Numpad) => keysyms::KP_Multiply, (Some('/'), Location::Numpad) => keysyms::KP_Divide, (Some('='), Location::Numpad) => keysyms::KP_Equal, + (Some(' '), _) => keysyms::space, (Some(c), _) => unsafe { let keysym =