@@ -34,14 +34,18 @@ impl KeyboardLayout for De105Key {
34
34
}
35
35
}
36
36
KeyCode :: Key2 => {
37
- if modifiers. is_shifted ( ) {
37
+ if modifiers. is_altgr ( ) {
38
+ DecodedKey :: Unicode ( '²' )
39
+ } else if modifiers. is_shifted ( ) {
38
40
DecodedKey :: Unicode ( '"' )
39
41
} else {
40
42
DecodedKey :: Unicode ( '2' )
41
43
}
42
44
}
43
45
KeyCode :: Key3 => {
44
- if modifiers. is_shifted ( ) {
46
+ if modifiers. is_altgr ( ) {
47
+ DecodedKey :: Unicode ( '³' )
48
+ } else if modifiers. is_shifted ( ) {
45
49
DecodedKey :: Unicode ( '§' )
46
50
} else {
47
51
DecodedKey :: Unicode ( '3' )
@@ -69,35 +73,45 @@ impl KeyboardLayout for De105Key {
69
73
}
70
74
}
71
75
KeyCode :: Key7 => {
72
- if modifiers. is_shifted ( ) {
76
+ if modifiers. is_altgr ( ) {
77
+ DecodedKey :: Unicode ( '{' )
78
+ } else if modifiers. is_shifted ( ) {
73
79
DecodedKey :: Unicode ( '/' )
74
80
} else {
75
81
DecodedKey :: Unicode ( '7' )
76
82
}
77
83
}
78
84
KeyCode :: Key8 => {
79
- if modifiers. is_shifted ( ) {
85
+ if modifiers. is_altgr ( ) {
86
+ DecodedKey :: Unicode ( '[' )
87
+ } else if modifiers. is_shifted ( ) {
80
88
DecodedKey :: Unicode ( '(' )
81
89
} else {
82
90
DecodedKey :: Unicode ( '8' )
83
91
}
84
92
}
85
93
KeyCode :: Key9 => {
86
- if modifiers. is_shifted ( ) {
94
+ if modifiers. is_altgr ( ) {
95
+ DecodedKey :: Unicode ( ']' )
96
+ } else if modifiers. is_shifted ( ) {
87
97
DecodedKey :: Unicode ( ')' )
88
98
} else {
89
99
DecodedKey :: Unicode ( '9' )
90
100
}
91
101
}
92
102
KeyCode :: Key0 => {
93
- if modifiers. is_shifted ( ) {
103
+ if modifiers. is_altgr ( ) {
104
+ DecodedKey :: Unicode ( '}' )
105
+ } else if modifiers. is_shifted ( ) {
94
106
DecodedKey :: Unicode ( '=' )
95
107
} else {
96
108
DecodedKey :: Unicode ( '0' )
97
109
}
98
110
}
99
111
KeyCode :: OemMinus => {
100
- if modifiers. is_shifted ( ) {
112
+ if modifiers. is_altgr ( ) {
113
+ DecodedKey :: Unicode ( '\\' )
114
+ } else if modifiers. is_shifted ( ) {
101
115
DecodedKey :: Unicode ( '?' )
102
116
} else {
103
117
DecodedKey :: Unicode ( 'ß' )
@@ -190,6 +204,17 @@ impl KeyboardLayout for De105Key {
190
204
DecodedKey :: Unicode ( 'y' )
191
205
}
192
206
}
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
+ }
193
218
KeyCode :: OemComma => {
194
219
if modifiers. is_shifted ( ) {
195
220
DecodedKey :: Unicode ( ';' )
0 commit comments