Don't set modifiers for AltGr on Windows

AltGr is the same as ctrl+alt, and we don't want those to be set when you press
a key using AltGr.
This commit is contained in:
stk 2024-01-03 17:28:05 +01:00 committed by Garrett D'Amore
parent 337e381927
commit 96e2990564
1 changed files with 10 additions and 5 deletions

View File

@ -599,12 +599,17 @@ func geti16(v []byte) int16 {
func mod2mask(cks uint32) ModMask { func mod2mask(cks uint32) ModMask {
mm := ModNone mm := ModNone
// Left or right control // Left or right control
if (cks & (0x0008 | 0x0004)) != 0 { ctrl := (cks & (0x0008 | 0x0004)) != 0
mm |= ModCtrl
}
// Left or right alt // Left or right alt
if (cks & (0x0002 | 0x0001)) != 0 { alt := (cks & (0x0002 | 0x0001)) != 0
mm |= ModAlt // Filter out ctrl+alt (it means AltGr)
if !(ctrl && alt) {
if ctrl {
mm |= ModCtrl
}
if alt {
mm |= ModAlt
}
} }
// Any shift // Any shift
if (cks & 0x0010) != 0 { if (cks & 0x0010) != 0 {