Skip to content

Commit ddc570d

Browse files
committed
Fix De105Key layout: add missing AltGr keys
1 parent e29a30e commit ddc570d

File tree

1 file changed

+32
-7
lines changed

1 file changed

+32
-7
lines changed

src/layouts/de105.rs

Lines changed: 32 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -34,14 +34,18 @@ impl KeyboardLayout for De105Key {
3434
}
3535
}
3636
KeyCode::Key2 => {
37-
if modifiers.is_shifted() {
37+
if modifiers.is_altgr() {
38+
DecodedKey::Unicode('²')
39+
} else if modifiers.is_shifted() {
3840
DecodedKey::Unicode('"')
3941
} else {
4042
DecodedKey::Unicode('2')
4143
}
4244
}
4345
KeyCode::Key3 => {
44-
if modifiers.is_shifted() {
46+
if modifiers.is_altgr() {
47+
DecodedKey::Unicode('³')
48+
} else if modifiers.is_shifted() {
4549
DecodedKey::Unicode('§')
4650
} else {
4751
DecodedKey::Unicode('3')
@@ -69,35 +73,45 @@ impl KeyboardLayout for De105Key {
6973
}
7074
}
7175
KeyCode::Key7 => {
72-
if modifiers.is_shifted() {
76+
if modifiers.is_altgr() {
77+
DecodedKey::Unicode('{')
78+
} else if modifiers.is_shifted() {
7379
DecodedKey::Unicode('/')
7480
} else {
7581
DecodedKey::Unicode('7')
7682
}
7783
}
7884
KeyCode::Key8 => {
79-
if modifiers.is_shifted() {
85+
if modifiers.is_altgr() {
86+
DecodedKey::Unicode('[')
87+
} else if modifiers.is_shifted() {
8088
DecodedKey::Unicode('(')
8189
} else {
8290
DecodedKey::Unicode('8')
8391
}
8492
}
8593
KeyCode::Key9 => {
86-
if modifiers.is_shifted() {
94+
if modifiers.is_altgr() {
95+
DecodedKey::Unicode(']')
96+
} else if modifiers.is_shifted() {
8797
DecodedKey::Unicode(')')
8898
} else {
8999
DecodedKey::Unicode('9')
90100
}
91101
}
92102
KeyCode::Key0 => {
93-
if modifiers.is_shifted() {
103+
if modifiers.is_altgr() {
104+
DecodedKey::Unicode('}')
105+
} else if modifiers.is_shifted() {
94106
DecodedKey::Unicode('=')
95107
} else {
96108
DecodedKey::Unicode('0')
97109
}
98110
}
99111
KeyCode::OemMinus => {
100-
if modifiers.is_shifted() {
112+
if modifiers.is_altgr() {
113+
DecodedKey::Unicode('\\')
114+
} else if modifiers.is_shifted() {
101115
DecodedKey::Unicode('?')
102116
} else {
103117
DecodedKey::Unicode('ß')
@@ -190,6 +204,17 @@ impl KeyboardLayout for De105Key {
190204
DecodedKey::Unicode('y')
191205
}
192206
}
207+
KeyCode::M => {
208+
if map_to_unicode && modifiers.is_ctrl() {
209+
DecodedKey::Unicode('\u{001A}')
210+
} else if modifiers.is_altgr() {
211+
DecodedKey::Unicode('µ')
212+
} else if modifiers.is_caps() {
213+
DecodedKey::Unicode('M')
214+
} else {
215+
DecodedKey::Unicode('m')
216+
}
217+
}
193218
KeyCode::OemComma => {
194219
if modifiers.is_shifted() {
195220
DecodedKey::Unicode(';')

0 commit comments

Comments
 (0)