1
1
package jp
2
2
3
3
import (
4
+ "machine/usb/hid/keyboard"
5
+
4
6
"github.com/sago35/tinygo-keyboard/keycodes"
5
7
)
6
8
9
+ func init () {
10
+ keycodes .CharToKeyCodeMap = & CharToKeyCodeMap
11
+ }
12
+
7
13
// for Japanese Keyboard
8
14
// based on machine/usb/hid/keyboard/keycode.go
9
15
const (
@@ -116,9 +122,9 @@ const (
116
122
KeyF22 = keycodes .TypeNormal | 0x71
117
123
KeyF23 = keycodes .TypeNormal | 0x72
118
124
KeyF24 = keycodes .TypeNormal | 0x73
119
- KeyBackslash = keycodes .TypeNormal | 0x87 // \ |
125
+ KeyBackslash = keycodes .TypeNormal | 0x87 // \ _
120
126
KeyHiragana = keycodes .TypeNormal | 0x88
121
- KeyBackslash2 = keycodes .TypeNormal | 0x89 // \ _
127
+ KeyBackslash2 = keycodes .TypeNormal | 0x89 // \ |
122
128
KeyHenkan = keycodes .TypeNormal | 0x8A
123
129
KeyMuhenkan = keycodes .TypeNormal | 0x8B
124
130
KeyKana = keycodes .TypeNormal | 0x90
@@ -132,33 +138,33 @@ const (
132
138
)
133
139
134
140
const (
135
- KeyMediaBrightnessUp = keycodes .TypeMediaKey | 0x6F
136
- KeyMediaBrightnessDown = keycodes .TypeMediaKey | 0x70
137
- KeyMediaPlay = keycodes .TypeMediaKey | 0xB0
138
- KeyMediaPause = keycodes .TypeMediaKey | 0xB1
139
- KeyMediaRecord = keycodes .TypeMediaKey | 0xB2
140
- KeyMediaFastForward = keycodes .TypeMediaKey | 0xB3
141
- KeyMediaRewind = keycodes .TypeMediaKey | 0xB4
142
- KeyMediaNextTrack = keycodes .TypeMediaKey | 0xB5
143
- KeyMediaPrevTrack = keycodes .TypeMediaKey | 0xB6
144
- KeyMediaStop = keycodes .TypeMediaKey | 0xB7
145
- KeyMediaEject = keycodes .TypeMediaKey | 0xB8
146
- KeyMediaRandomPlay = keycodes .TypeMediaKey | 0xB9
147
- KeyMediaPlayPause = keycodes .TypeMediaKey | 0xCD
148
- KeyMediaPlaySkip = keycodes .TypeMediaKey | 0xCE
149
- KeyMediaMute = keycodes .TypeMediaKey | 0xE2
150
- KeyMediaVolumeInc = keycodes .TypeMediaKey | 0xE9
151
- KeyMediaVolumeDec = keycodes .TypeMediaKey | 0xEA
141
+ KeyMediaBrightnessUp = keycodes .KeyMediaBrightnessUp
142
+ KeyMediaBrightnessDown = keycodes .KeyMediaBrightnessDown
143
+ KeyMediaPlay = keycodes .KeyMediaPlay
144
+ KeyMediaPause = keycodes .KeyMediaPause
145
+ KeyMediaRecord = keycodes .KeyMediaRecord
146
+ KeyMediaFastForward = keycodes .KeyMediaFastForward
147
+ KeyMediaRewind = keycodes .KeyMediaRewind
148
+ KeyMediaNextTrack = keycodes .KeyMediaNextTrack
149
+ KeyMediaPrevTrack = keycodes .KeyMediaPrevTrack
150
+ KeyMediaStop = keycodes .KeyMediaStop
151
+ KeyMediaEject = keycodes .KeyMediaEject
152
+ KeyMediaRandomPlay = keycodes .KeyMediaRandomPlay
153
+ KeyMediaPlayPause = keycodes .KeyMediaPlayPause
154
+ KeyMediaPlaySkip = keycodes .KeyMediaPlaySkip
155
+ KeyMediaMute = keycodes .KeyMediaMute
156
+ KeyMediaVolumeInc = keycodes .KeyMediaVolumeInc
157
+ KeyMediaVolumeDec = keycodes .KeyMediaVolumeDec
152
158
)
153
159
154
160
const (
155
- MouseLeft = keycodes .TypeMouse | 0x01 // mouse.Left
156
- MouseRight = keycodes .TypeMouse | 0x02 // mouse.Right
157
- MouseMiddle = keycodes .TypeMouse | 0x04 // mouse.Middle
158
- MouseBack = keycodes .TypeMouse | 0x08 // mouse.Back
159
- MouseForward = keycodes .TypeMouse | 0x10 // mouse.Forward
160
- WheelDown = keycodes .TypeMouse | 0x20
161
- WheelUp = keycodes .TypeMouse | 0x40
161
+ MouseLeft = keycodes .MouseLeft
162
+ MouseRight = keycodes .MouseRight
163
+ MouseMiddle = keycodes .MouseMiddle
164
+ MouseBack = keycodes .MouseBack
165
+ MouseForward = keycodes .MouseForward
166
+ WheelDown = keycodes .WheelDown
167
+ WheelUp = keycodes .WheelUp
162
168
)
163
169
164
170
const (
@@ -176,3 +182,135 @@ const (
176
182
KeyTo4 = keycodes .KeyTo4
177
183
KeyTo5 = keycodes .KeyTo5
178
184
)
185
+
186
+ var CharToKeyCodeMap = [256 ]keyboard.Keycode {
187
+ keyboard .ASCII00 ,
188
+ keyboard .ASCII01 ,
189
+ keyboard .ASCII02 ,
190
+ keyboard .ASCII03 ,
191
+ keyboard .ASCII04 ,
192
+ keyboard .ASCII05 ,
193
+ keyboard .ASCII06 ,
194
+ keyboard .ASCII07 ,
195
+ keyboard .ASCII08 ,
196
+ keyboard .ASCII09 ,
197
+ keyboard .ASCII0A ,
198
+ keyboard .ASCII0B ,
199
+ keyboard .ASCII0C ,
200
+ keyboard .ASCII0D ,
201
+ keyboard .ASCII0E ,
202
+ keyboard .ASCII0F ,
203
+ keyboard .ASCII10 ,
204
+ keyboard .ASCII11 ,
205
+ keyboard .ASCII12 ,
206
+ keyboard .ASCII13 ,
207
+ keyboard .ASCII14 ,
208
+ keyboard .ASCII15 ,
209
+ keyboard .ASCII16 ,
210
+ keyboard .ASCII17 ,
211
+ keyboard .ASCII18 ,
212
+ keyboard .ASCII19 ,
213
+ keyboard .ASCII1A ,
214
+ keyboard .ASCII1B ,
215
+ keyboard .ASCII1C ,
216
+ keyboard .ASCII1D ,
217
+ keyboard .ASCII1E ,
218
+ keyboard .ASCII1F ,
219
+
220
+ KeySpace , // 32 SPACE
221
+ Key1 | keycodes .ShiftMask , // 33 !
222
+ Key2 | keycodes .ShiftMask , // 34 "
223
+ Key3 | keycodes .ShiftMask , // 35 #
224
+ Key4 | keycodes .ShiftMask , // 36 $
225
+ Key5 | keycodes .ShiftMask , // 37 %
226
+ Key6 | keycodes .ShiftMask , // 38 &
227
+ Key7 | keycodes .ShiftMask , // 39 '
228
+ Key8 | keycodes .ShiftMask , // 40 (
229
+ Key9 | keycodes .ShiftMask , // 41 )
230
+ KeyColon | keycodes .ShiftMask , // 42 *
231
+ KeySemicolon | keycodes .ShiftMask , // 43 +
232
+ KeyComma , // 44 ,
233
+ KeyMinus , // 45 -
234
+ KeyPeriod , // 46 .
235
+ KeySlash , // 47 /
236
+ Key0 , // 48 0
237
+ Key1 , // 49 1
238
+ Key2 , // 50 2
239
+ Key3 , // 51 3
240
+ Key4 , // 52 4
241
+ Key5 , // 53 5
242
+ Key6 , // 54 6
243
+ Key7 , // 55 7
244
+ Key8 , // 55 8
245
+ Key9 , // 57 9
246
+ KeyColon , // 58 :
247
+ KeySemicolon , // 59 ;
248
+ KeyComma | keycodes .ShiftMask , // 60 <
249
+ KeyMinus | keycodes .ShiftMask , // 61 =
250
+ KeyPeriod | keycodes .ShiftMask , // 62 >
251
+ KeySlash | keycodes .ShiftMask , // 63 ?
252
+ KeyAt , // 64 @
253
+ KeyA | keycodes .ShiftMask , // 65 A
254
+ KeyB | keycodes .ShiftMask , // 66 B
255
+ KeyC | keycodes .ShiftMask , // 67 C
256
+ KeyD | keycodes .ShiftMask , // 68 D
257
+ KeyE | keycodes .ShiftMask , // 69 E
258
+ KeyF | keycodes .ShiftMask , // 70 F
259
+ KeyG | keycodes .ShiftMask , // 71 G
260
+ KeyH | keycodes .ShiftMask , // 72 H
261
+ KeyI | keycodes .ShiftMask , // 73 I
262
+ KeyJ | keycodes .ShiftMask , // 74 J
263
+ KeyK | keycodes .ShiftMask , // 75 K
264
+ KeyL | keycodes .ShiftMask , // 76 L
265
+ KeyM | keycodes .ShiftMask , // 77 M
266
+ KeyN | keycodes .ShiftMask , // 78 N
267
+ KeyO | keycodes .ShiftMask , // 79 O
268
+ KeyP | keycodes .ShiftMask , // 80 P
269
+ KeyQ | keycodes .ShiftMask , // 81 Q
270
+ KeyR | keycodes .ShiftMask , // 82 R
271
+ KeyS | keycodes .ShiftMask , // 83 S
272
+ KeyT | keycodes .ShiftMask , // 84 T
273
+ KeyU | keycodes .ShiftMask , // 85 U
274
+ KeyV | keycodes .ShiftMask , // 86 V
275
+ KeyW | keycodes .ShiftMask , // 87 W
276
+ KeyX | keycodes .ShiftMask , // 88 X
277
+ KeyY | keycodes .ShiftMask , // 89 Y
278
+ KeyZ | keycodes .ShiftMask , // 90 Z
279
+ KeyLeftBrace , // 91 [
280
+ KeyBackslash , // 92 \
281
+ KeyRightBrace , // 93 ]
282
+ KeyHat , // 94 ^
283
+ KeyBackslash | keycodes .ShiftMask , // 95 _
284
+ KeyAt | keycodes .ShiftMask , // 96 `
285
+ KeyA , // 97 a
286
+ KeyB , // 98 b
287
+ KeyC , // 99 c
288
+ KeyD , // 100 d
289
+ KeyE , // 101 e
290
+ KeyF , // 102 f
291
+ KeyG , // 103 g
292
+ KeyH , // 104 h
293
+ KeyI , // 105 i
294
+ KeyJ , // 106 j
295
+ KeyK , // 107 k
296
+ KeyL , // 108 l
297
+ KeyM , // 109 m
298
+ KeyN , // 110 n
299
+ KeyO , // 111 o
300
+ KeyP , // 112 p
301
+ KeyQ , // 113 q
302
+ KeyR , // 114 r
303
+ KeyS , // 115 s
304
+ KeyT , // 116 t
305
+ KeyU , // 117 u
306
+ KeyV , // 118 v
307
+ KeyW , // 119 w
308
+ KeyX , // 120 x
309
+ KeyY , // 121 y
310
+ KeyZ , // 122 z
311
+ KeyLeftBrace | keycodes .ShiftMask , // 123 {
312
+ KeyBackslash2 | keycodes .ShiftMask , // 124 |
313
+ KeyRightBrace | keycodes .ShiftMask , // 125 }
314
+ KeyHat | keycodes .ShiftMask , // 126 ~
315
+ KeyDelete , // 127 DEL
316
+ }
0 commit comments