diff --git a/window/src/os/x11/keyboard.rs b/window/src/os/x11/keyboard.rs index 8fd3edeee6e..0b2c242de29 100644 --- a/window/src/os/x11/keyboard.rs +++ b/window/src/os/x11/keyboard.rs @@ -396,7 +396,17 @@ impl KeyboardWithFallback { } _ => sym, } - } else if kc.is_none() && key_code_from_sym.is_none() { + } else if kc.is_none() + && key_code_from_sym.is_none() + // Make sure that none-standard modifier keys of Neo2 layout are not mapped + // te a fallback because that would result in extra emitions of the + // original ANSI characters + && !matches!( + xsym, + xkbcommon::xkb::Keysym::ISO_Level3_Shift + | xkbcommon::xkb::Keysym::ISO_Level5_Shift + ) + { // Not sure if this is a good idea, see // for context. match fallback_feed {