作業メモ:
https://gist.github.com/3056964
scancodeからUSB-UserIDへの変換ができた。256バイトのテーブルを使って通常と拡張モード(0xE0)付きのスキャンコードを変換。可変長で扱いが面倒なスキャンコードをUSB-UserIDの固定長にした。
USB-UserIDは0x70に続く2バイトで表現。先頭のbit15はキーを離した時に1、とした。
また、CTRL,SHIFT,ALT,GUI(META)キーの状態取得、Caps/Num/Scrのロック状態を取得。
残りは特殊なキー[PrtScn]と[Pause/break]の取り扱い。特に[PrtScn]はalt併用状態をどう扱うか。
ここまでやれば英語キーボードの変換は一応済となる。
あとはUSB-UserIDから日本語キーボード配列向けのUSB-UserIDに変換するテーブルを作成、ケース組み込み。
https://gist.github.com/3056964
scancodeからUSB-UserIDへの変換ができた。256バイトのテーブルを使って通常と拡張モード(0xE0)付きのスキャンコードを変換。可変長で扱いが面倒なスキャンコードをUSB-UserIDの固定長にした。
USB-UserIDは0x70に続く2バイトで表現。先頭のbit15はキーを離した時に1、とした。
また、CTRL,SHIFT,ALT,GUI(META)キーの状態取得、Caps/Num/Scrのロック状態を取得。
残りは特殊なキー[PrtScn]と[Pause/break]の取り扱い。特に[PrtScn]はalt併用状態をどう扱うか。
ここまでやれば英語キーボードの変換は一応済となる。
あとはUSB-UserIDから日本語キーボード配列向けのUSB-UserIDに変換するテーブルを作成、ケース組み込み。