Nexus 7でBluetooth英語キーボードを使う(3) – KLファイル、KCMファイルの内容確認と変更

Nexus 7にANKERのウルトラスリム・ミニ Bluetooth 3.0 ワイヤレスキーボードを接続したときに使われるKLファイル(Vendor_05ac_Product_0293.kl)とKCMファイル(Generic.kcm)の中身を調べて対応表を作った(長いので一番下に記載)。

この表を見ていくと、

  • Androidを使う上で必須の「HOME」、「BACK」、「MENU」が定義されていない。 正確には、KCMファイルで「ESCAPE」キーのコンビネーションに割り当てられているが、肝心の「ESCAPE」に対応するLKC「1」がこのキーボードから発せられていないので入力できない。
  • 「SEARCH」、「FORWARD_DEL」は「fn」キーと一緒に押す必要があり使いにくい。

これら以外にもKLファイルで定義されているがキーボードから該当コードが出ていないものもいろいろある(例:「F1」~「F10」)が、特に必要ではないと思われるので今回は触らない、必要あればKCMファイルで定義すればよいはず。

変更箇所をまとめると下表の通り。 変更はKLファイルだけで、KCMファイルは変更しない。
Vendor_05ac_Product_0239.klの変更はWindowsのNotepadでは改行にCR+LFが入ってしまうので、Notepad++を使った。

LKC KLファイルの定義(変更前) KLファイルの定義(変更後) 変更内容
100 ALT_RIGHT MENU 右「ALT」キーに「MENU」を割り当てる
111 FORWARD_DEL POWER 「fn」+「Del」キー(最上段右端のキー)に「POWER」を割り当てる
116 (未定義) FORWARD_DEL 「Del」キー(最上段右端のキー)に「FORWARD_DEL」を割り当てる
126 META_RIGHT HOME 右「MRTA」キーに「HOME」を割り当てる
172 (未定義) BACK 「Esc」キー(最上段左端のキー)に「BACK」を割り当てる
204 (未定義) (未定義)
217 (未定義) SEARCH 「F3」キーに「SEARCH」を割り当てる
229 (未定義) (未定義)
230 (未定義) (未定義)
374 (未定義) (未定義)

割り当てたキーと配置は下図の通り。


キーボードが発生させるコードとKLファイル、KCMファイルとの対応表

LKC KBD AKC by KL label base shift capslock cntl alt alt+shift meta
1 ESCAPE BACK fallback MENU fallback HOME fallback HOME
2 2 1 1 1 !
3 3 2 2 2 @
4 4 3 3 3 #
5 5 4 4 4 $
6 6 5 5 5 %
7 7 6 6 6 ^
8 8 7 7 7 &
9 9 8 8 8 *
10 10 9 9 9 (
11 11 0 0 0 )
12 12 MINUS _
13 13 EQUALS = = +
14 14 DEL
15 15 TAB t t
16 16 Q Q q Q Q
17 17 W W w W W
18 18 E E e E E u0301
19 19 R R r R R
20 20 T T t T T
21 21 Y Y y Y Y
22 22 U U u U U u0308
23 23 I I i I I u0302
24 24 O O o O O
25 25 P P p P P
26 26 LEFT_BRACKET [ [ {
27 27 RIGHT_BRACKET ] ] }
28 28 ENTER n n
29 29 CTRL_LEFT
30 30 A A a A A
31 31 S S s S S u00df
32 32 D D d D D
33 33 F F f F F
34 34 G G f G G
35 35 H H h H H
36 36 J J j J J
37 37 K K k K K
38 38 L L l L L
39 39 SEMICOLON ; ; :
40 40 APOSTROPHE
41 41 GRAVE ` ` ~ u0300 u0303
42 42 SHIFT_LEFT
43 43 BACKSLASH
44 44 Z Z z Z Z
45 45 X X x X X
46 46 C C c C C u00e7 u00e7
47 47 V V v V V
48 48 B B b B B
49 49 N N n N N
50 50 M M m M M u0303
51 51 COMMA , ,
52 52 PERIOD . . >
53 53 SLASH / / ?
54 54 SHIFT_RIGHT
56 56 ALT_LEFT
57 57 SPACE ’ ’ ’ ’ fallback LANGUAGE_SWITCH fallback SEARCH fallback SEARCH
58 58 CAPS_LOCK
59 F1
60 F2
61 F3
62 F4
63 F5
64 F6
65 F7
66 F8
67 F9
68 F10
(中略)
87 F11
88 F12
(中略)
100 100 ALT_RIGHT
102 MOVE_HOME
103 103 DPAD_UP
104 PAGE_UP
105 105 DPAD_LEFT
106 106 DPAD_RIGHT
107 MOVE_END
108 108 DPAD_DOWN
109 PAGE_DOWN
110 NUMPAD_ENTER n n fallback ENTER none fallback ENTER none fallback ENTER none fallback ENTER
111 111 FORWARD_DEL
113 113 VOLUME_MUTE
114 114 VOLUME_DOWN
115 115 VOLUME_UP
116 116
(中略)
120 120 APP_SWITCH
(中略)
125 125 META_LEFT
126 126 META_RIGHT
(中略)
161 MEDIA_EJECT
163 163 MEDIA_NEXT
164 164 MEDIA_PLAY_PAUSE
165 165 MEDIA_PREVIOUS
(中略)
172 172
(中略)
204 204 # show gadgets
(中略)
217 217
(中略)
224 224 BRIGHTNESS_DOWN
225 225 BRIGHTNESS_UP
(中略)
229 229 # blank special function on F5
230 230 # blank special function on F6
(中略)
374 374
(中略)
464 FUNCTION

 

タイトルとURLをコピーしました