日別アーカイブ: 2013/2/12

Apple Wireless Keyboard のキーコード (CentOS 6.3)

Apple Wireless Keyboard を CentOS 6.3 (Linux) で使用する」の補足です。

4. Apple Wireless Keyboard のキーコード (keycode)

CentOS 6.3 (64 bit) に Apple Wireless Keyboard を接続したときの、Mac 専用キーのキーコードを調べました。

4.1. キーコード (keycode) の取得

キーコードは "xev" アプリを使用して取得します。

取得例: コントロールキーを押したときのイベント情報

$ xev
...
KeyPress event, serial 44, synthetic NO, window 0x4600001,
    root 0x1c3, subw 0x0, time 6953593, (80,132), root:(991,1181),
    state 0x0, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
    XLookupString gives 0 bytes:                                     
    XmbLookupString gives 0 bytes:                                   
    XFilterEvent returns: False

赤字がキーコード (keycode)、青字が発生イベントです。

4.2. xkb_keycodes の取得

現在使用している "xkb_keycodes" を確認します。

$ setxkbmap -print
xkb_keymap {
        xkb_keycodes  { include "evdev+aliases(qwerty)" };
        xkb_types     { include "complete"      };
        xkb_compat    { include "complete+japan"        };
        xkb_symbols   { include "pc+jp(OADG109A)+inet(evdev)+terminate(ctrl_alt_bksp)"  };
        xkb_geometry  { include "pc(pc104)"     };
};

"xkb_keycodes" の値から、/usr/share/X11/xkb/keycodes/evdev がキーコードとして使用されていることが分かります。

/usr/share/X11/xkb/keycodes/evdev

// translation from evdev scancodes to something resembling xfree86 keycodes.

default xkb_keycodes "evdev" {
    minimum = 8;
    maximum = 255;

        # Added for pc105 compatibility
        <LSGT> = 94;

    <TLDE> = 49;
    <AE01> = 10;
    <AE02> = 11;
    <AE03> = 12;
    <AE04> = 13;
    ...

    ~ 以下、略 ~

4.3. Mac 専用キーのキーコード一覧

Apple Wireless Keyboard の Mac 専用キーのキーコード (keycode) 一覧です。
比較用に Happy Hacking Keyboard Lite 2 の発生イベントも参考として乗せています。

物理キー keycode 発生イベント
Apple Wireless Keyboard 【参考】 HHKB Lite 2
control 37 <LCTL> Control_L Control_L
command (左) 133 <LWIN> Super_L -
command (右) 134 <RWIN> Super_R -
option (左) 64 <LALT> Alt_L Alt_L
option (右) 108 <RALT> - Alt_R
caps 66 <CAPS> Eisu_toggle -
delete 22 <BKSP> BackSpace -
119 <DELE> - Delete
BS 22 <BKSP> - BackSpace
英数 130 <HNGL> Hangul_Hanja -
かな 131 <HJCV> Hangul -
半角/全角 49 <TLDE> - Zenkaku_Hankaku
無変換 102 <MUHE> - Muhenkan
変換 100 <HENK> - Henkan_Mode
eject 169 <I169> XF86Eject -

[ END ]