Skip to content

Commit 75bef13

Browse files
authored
Use keyCode before defaulting to unrecognized rime keycode (#936)
1 parent ad7db91 commit 75bef13

File tree

1 file changed

+62
-0
lines changed

1 file changed

+62
-0
lines changed

sources/MacOSKeyCodes.swift

+62
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,10 @@ struct SquirrelKeycode {
5858
}
5959
}
6060

61+
if let code = additionalCodeMappings[Int(keycode)] {
62+
return UInt32(code)
63+
}
64+
6165
return UInt32(XK_VoidSymbol)
6266
}
6367

@@ -143,4 +147,62 @@ struct SquirrelKeycode {
143147
kVK_JIS_Eisu: XK_Eisu_Shift,
144148
kVK_JIS_Kana: XK_Kana_Shift
145149
]
150+
151+
private static let additionalCodeMappings: [Int: Int32] = [
152+
// numbers
153+
kVK_ANSI_0: XK_0,
154+
kVK_ANSI_1: XK_1,
155+
kVK_ANSI_2: XK_2,
156+
kVK_ANSI_3: XK_3,
157+
kVK_ANSI_4: XK_4,
158+
kVK_ANSI_5: XK_5,
159+
kVK_ANSI_6: XK_6,
160+
kVK_ANSI_7: XK_7,
161+
kVK_ANSI_8: XK_8,
162+
kVK_ANSI_9: XK_9,
163+
164+
// pubct
165+
kVK_ANSI_RightBracket: XK_bracketright,
166+
kVK_ANSI_LeftBracket: XK_bracketleft,
167+
kVK_ANSI_Comma: XK_comma,
168+
kVK_ANSI_Grave: XK_grave,
169+
kVK_ANSI_Period: XK_period,
170+
// kVK_VolumeUp:
171+
// kVK_VolumeDown:
172+
// kVK_Mute:
173+
kVK_ANSI_Semicolon: XK_semicolon,
174+
kVK_ANSI_Quote: XK_apostrophe,
175+
kVK_ANSI_Backslash: XK_backslash,
176+
kVK_ANSI_Minus: XK_minus,
177+
kVK_ANSI_Slash: XK_slash,
178+
kVK_ANSI_Equal: XK_equal,
179+
180+
// letters
181+
kVK_ANSI_A: XK_a,
182+
kVK_ANSI_B: XK_b,
183+
kVK_ANSI_C: XK_c,
184+
kVK_ANSI_D: XK_d,
185+
kVK_ANSI_E: XK_e,
186+
kVK_ANSI_F: XK_f,
187+
kVK_ANSI_G: XK_g,
188+
kVK_ANSI_H: XK_h,
189+
kVK_ANSI_I: XK_i,
190+
kVK_ANSI_J: XK_j,
191+
kVK_ANSI_K: XK_k,
192+
kVK_ANSI_L: XK_l,
193+
kVK_ANSI_M: XK_m,
194+
kVK_ANSI_N: XK_n,
195+
kVK_ANSI_O: XK_o,
196+
kVK_ANSI_P: XK_p,
197+
kVK_ANSI_Q: XK_q,
198+
kVK_ANSI_R: XK_r,
199+
kVK_ANSI_S: XK_s,
200+
kVK_ANSI_T: XK_t,
201+
kVK_ANSI_U: XK_u,
202+
kVK_ANSI_V: XK_v,
203+
kVK_ANSI_W: XK_w,
204+
kVK_ANSI_X: XK_x,
205+
kVK_ANSI_Y: XK_y,
206+
kVK_ANSI_Z: XK_z
207+
]
146208
}

0 commit comments

Comments
 (0)