Firmware v3 追加説明

スキャンコードの移動について

EEPROMの 0x00, 0x7D-0x7F, 0x80 の領域を設定用に空けるために一部のキーのスキャンコードを移動しました。
Firmware Ver2.xまでで作成していた設定ファイルを使用する際は以下の変更(と、使用未使用にかかわらずFnキー設定方法の変更。後述)を行ってください。

usb2sun
usb2pc98
usb2fmr
usb2adb
usb2ps2

各モードについて

[FMRとPS/2]

mode 1, 2, 3a, 3bが使用できます。
modeの意味は設定ファイルサンプルのコメントを参照してください

拡張キー定義変更 Fn機能 マクロ定義数 ※2 Fnとマクロの
同時利用
mode 1 不可 Short  11個
Long 5個
mode 2 不可 可 ※1 Short 15個
Long 7個
不可
mode 3a
(16個限定)
Short 7個
Long 3個
mode 3b
(24個限定)
Short 5個
Long 2個

※1 拡張キーを除く全キーについて定義可
※2 ここで記載しているShortマクロ(8step)定義数、Longマクロ(16step)定義数はマクロ領域全体をShortかLongのどちらか片方で定義した場合の最大数です。例えばmode1については「Short11個+Long5個の合計16個が定義出来る」と言う訳ではないので注意。

[それ以外]

mode 0, 1a, 1bが使用できます。
modeの意味は設定ファイルサンプルのコメントを参照してください

Fn機能 マクロ定義数 Fnとマクロの
同時利用
mode 0 可 (全キー対象) Short  15個
Long 7個
不可
mode 1a 可 (16個限定) Short 11個
Long 5個
mode 1b 可 (24個限定) Short 9個
Long 4個

 

その他変更点

 

Fnキーの定義方法を変更しました。
Fnキーとして使用するキーのスキャンコードを0xFDに書く方式にしました。(よって複数キーをFnキーとすることは出来なくなります)
Fnキーの機能を使用しない場合は0xFDに0xFFを設定してください

 

PC-98用アダプタに対しては2種類のファーム(通常版とKB011版)をリリースします
違いは次の通りです

通常版:
メディアコントロールキーとシステムコントロールキー(SleepやPower)を使用可能
VendorIDとProductIDをごにょごにょしても98配列化出来ない

KB011版:
メディアコントロールキーとシステムコントロールキーは使用出来ない
VendorIDとProductIDをごにょごにょすると98配列化出来る

キーボードのLEDは世代設定をRDF世代以降にした場合にみの対応します
RDFキーボードを旧世代設定で使用している場合はLED制御を行いません

かな/CAPSキー押下時のBreak発生までのタイミングが調整可能です(デフォルトは100ms)
Delay値を0xFCに書いてください。Break発生は「100+(設定値×10)」ms後となります。
例えば 0xFC に 15 (0x0F) を設定するとキー押下250ms後にBreakコードが生成されます

かなキーを強引にWinキーにした場合に、Breakコード発生までのタイミングを少し長く(250~400ms程度)すれば Win+? の同時押しショートカットもなんとか使えると思います。ただし代償としてスタートメニュー出現がワンテンポ遅れて出現するようになります

 

キー配列の初期設定を変更し、一切の小細工無しの素の配列にしました
本アダプタをOSX/macOSで使用する場合はキー設定を変更しなくてもそのまま使用出来るはずです

一方で、本アダプタをWindowsで使用する場合は設定の変更が必須となります。
(F13~F15をPrintScreen、Scroll Lock、Pauseに変更)

 

compactキーボードの内部判定処理を廃止しました
compactキーボードを繋ぐ場合はキー配置のユーザ設定を行ってください

フルキーボード用にちょっとした「お遊び」を実装しています
0xFFの最下位ビットを0にした上でPCをスリープさせてください。(無効化する場合はADR=0xFFの最下位ビットを1にして下さい)

 

マクロ定義について

キーを押した/離したの操作を順に記述するだけです
マクロ定義において「押した」「離した」の区別はありません。
詳しくは設定ファイルサンプルのマクロ定義例を参照してください

すべてのキーが解放された状態でマクロが終了するようにしてください。例えば Aのキー(0x04) を2連打するマクロは

0x04, 0x04, 0x04, 0x04

となりますが、

0x04, 0x04, 0x04

こうすると2回目の打鍵はキーを押したまま、キーを解放せずにマクロ終了となります。(Aのキーは押しっぱなしのままマクロ終了)

定義がMAX step数より短い場合は 0x00で埋めてください。
前述の「Aを2度連打するマクロ」を8stepのShortマクロで定義するなら

0x04, 0x04, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00

こうなります

マクロは、マクロ呼び出しに設定したキーを押したタイミングで処理されます。また呼び出しキーを押しっぱなしにしてもリピートしません

 

レイヤー操作キーについて

「FMR、PS/2用『以外』のアダプタで」「mode0に限り」以下のレイヤー操作キーが使用可能です

キーコード 機能
0xF5 メインレイヤーをレイヤー0(アドレス 0x01-0x7C の定義)にする
0xF6 メインレイヤーをレイヤー1 (アドレス 0x81-0xFC の定義)にする
0xF7 メインレイヤーをトグルで切り替える

メインレイヤーとは「Fnキー同時押しをしていない時に入力される側」を指します。
アダプタ起動直後はレイヤー0 (アドレス 0x01-0x7C の定義)がメインレイヤーでレイヤー1 (アドレス 0x81-0xFC の定義)がサブレイヤーです。

例えば、「普段はCtrlとCapsLockを入れ替えて使いたいが、ゲームをする間だけ元に戻したい」といった場合に

レイヤー0:
Ctrl -> Caps Lock
Caps -> Left Ctrl

レイヤー1:
Ctrl -> Left Ctrl
Caps -> Caps Lock

のように定義しておけばレイヤーを切り替えることで即座に元に戻すことが出来ます

また、テンキー=やテンキーカンマはマクロで何とか実現していますがゲームやエミュレータだとマクロが不都合な場合があります。そのような場合も

レイヤー0:
テンキー= →  マクロのテンキー=

レイヤー1:
テンキー=→ F16 (使ってないキーコードなら何でも可)

と定義しておいてゲームやエミュを使う場合にレイヤーを切り替えることが出来ます。1 2

なおメインレイヤーをレイヤー1に切り替えている状態でFn同時押しを行うとレイヤー0の定義に従ってキー入力が発生します(Fnキーは「押している間だけメインレイヤーを切り替えるキー」です)

Tweet about this on TwitterShare on FacebookShare on Google+
  1. 前述の例は当然ながらゲームやエミュ側でF16へのアサインが出来る必要があります []
  2. レイヤー切り替えのためにキーを1つ使う必要があるのでキーボードの全キーをエミュで使用する事は出来ないのが残念ですが []

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です