input: Add "AltGr" alias for ISO level3 shift modifier

It's what's written on keyboards, so perhaps a bit more accessible to
users.
This commit is contained in:
Andreas Stührk 2024-03-24 23:14:36 +01:00
parent e5bd1113ba
commit 0c7686230d

View File

@ -1574,6 +1574,7 @@ impl FromStr for Key {
modifiers |= Modifiers::SUPER;
} else if part.eq_ignore_ascii_case("iso_level3_shift")
|| part.eq_ignore_ascii_case("mod5")
|| part.eq_ignore_ascii_case("altgr")
{
modifiers |= Modifiers::ISO_LEVEL3_SHIFT;
} else {
@ -2145,19 +2146,14 @@ mod tests {
#[test]
fn parse_iso_level3_shift() {
assert_eq!(
"ISO_Level3_Shift+A".parse::<Key>().unwrap(),
Key {
trigger: Trigger::Keysym(Keysym::a),
modifiers: Modifiers::ISO_LEVEL3_SHIFT
},
);
assert_eq!(
"Mod5+A".parse::<Key>().unwrap(),
Key {
trigger: Trigger::Keysym(Keysym::a),
modifiers: Modifiers::ISO_LEVEL3_SHIFT
},
);
for input in ["ISO_Level3_Shift+A", "Mod5+A", "AltGr+A"] {
assert_eq!(
input.parse::<Key>().unwrap(),
Key {
trigger: Trigger::Keysym(Keysym::a),
modifiers: Modifiers::ISO_LEVEL3_SHIFT
},
);
}
}
}