2008/03/15

スキャンコード

概要
スキャンコードとは、キーボードがキーコードとは別に持っているキーの情報であり、通常は物理的なキーの識別番号となっている。
キーコードが同じキーを区別したい場合にスキャンコードを使う。
ドライバやキーフックを通ることにより変わることもある。

Advanced/W-ZERO3[es]のダイヤルキー1,キーボード1の区別
ダイヤルキー1とキーボード1のキーコードは同じ0x31であるが、スキャンコードはそれぞれ0x33, 0x01である。
これにより、ダイヤルキー1とキーボード1の区別が可能になる。

Advanced/W-ZERO3[es]のXcrawl下回転に割り当てたい場合
Xcrawl下回転:0x28(スキャンコード:0xw0)+0x83(スキャンコード:0x00)で
下キー:0x28(スキャンコード:0xc2)
0x28が重複しているため、スキャンコードを指定せずにXcrawl下回転を割り当てると下キーに影響が出てしまう。
これを解決するのにもスキャンコードを使い、この場合は0x00を指定すれば良い。

キーコードもスキャンコードも重複する場合
例えば、Advanced/W-ZERO3[es]のクリアとBSのキーコード・スキャンコードは同じなので、片方に割り当てると両方に割り当てた事になる。
この場合、どちらかに割り当てることはできない。

0 件のコメント: