俺メモ
FMRおよびPS/2 “以外” のアダプタのEEPROMアドレスマップ
※スキャンコード=キーボードが返す生のコード
※キーコード=アダプタがUSBホスト(PC)に返す、USB規格で定義されたコード
0x00 | ここに 0xA5 を書くとユーザ定義のキーマップが有効になる |
0x01-0x7C | 通常レイヤーのユーザ定義キーマップ。 スキャンコードがEEPROMのアドレスに対応する |
0x7D | アダプタ設定2 |
0x7E | 予約 |
0x7F | 予約 |
0x80 | 予約 |
0x81-0xFC | Fnレイヤーのユーザ定義キーマップ。 スキャンコード + 0x80 がEEPROMのアドレスに対応する。 Fnキーの機能を使わない場合は全領域がユーザ定義マクロの記録領域となる。 |
0xFD | Fnキーとするキーのスキャンコードを設定する。0x00 か 0xFF に設定するとFnキー無効 |
0xFE | リモートWakeUpに使うキーを指定する。 特定キーのScancodeを書いた場合はそのキーでSleep解除。 0xFF を書いた場合は任意のキーでSleep解除。 0x00 を書いた場合はキーボードによるSleep解除は無効。 |
0xFF | アダプタ設定1 |
※ もっともシンプルなモード。Fnキーを大量に定義したい場合はこのモードで。
mode 1a のEEPROMアドレスマップ0x00 | ここに 0xA5 を書くとユーザ定義のキーマップが有効になる |
0x01-0x7C | 通常レイヤーのユーザ定義キーマップ。 スキャンコードがEEPROMのアドレスに対応する |
0x7D | アダプタ設定2 |
0x7E | 予約 |
0x7F | 予約 |
0x80 | 予約 |
0x80-0x9F | Fnレイヤーのユーザ定義キーマップ。 必ず “<スキャンコード>, <発行したいキーコード>” の2バイトペアで記述する。 よってFnキーは16キーまで設定可能 |
0xA0-0xF7 | ユーザ定義マクロの記録領域。 8step (8byte) あるいは 16step (16byte) 単位で設定する 全領域を8stepのマクロ定義で使った場合は11個のマクロを定義可能。 |
0xFD | Fnキーとするキーのスキャンコードを設定する。0x00 か 0xFF に設定するとFnキー無効 |
0xFE | リモートWakeUpに使うキーを指定する。 特定キーのScancodeを書いた場合はそのキーでSleep解除。 0xFF を書いた場合は任意のキーでSleep解除。 0x00 を書いた場合はキーボードによるSleep解除は無効。 |
0xFF | アダプタ設定1 |
※ Fnキー機能とユーザ定義マクロ機能を同時に利用可能。ただしFnキーは16個までしか設定できない。
mode 1b のEEPROMアドレスマップ0x80-0xAF | Fnレイヤーのユーザ定義キーマップ。 必ず “<スキャンコード>, <発行したいキーコード>” の2バイトペアで記述する。 よってFnキーは24キーまで設定可能 |
0xB0-0xF7 | ユーザ定義マクロの記録領域。 8step (8byte) あるいは 16step (16byte) 単位で設定する 全領域を8stepのマクロ定義で使った場合は9個のマクロを定義可能。 |
※ Fnキー機能とユーザ定義マクロ機能を同時に利用可能。ただしFnキーは24個までしか設定できない。mode1aとの違いはマクロ定義領域を削って、代わりにFnレイヤー定義の領域を広げたのみです。