キー配置の変更方法

1) SWITCH.Xを立ち上げ、「FIRST_KY」 の値を15 (1700ms) に設定します。

SWITCH.X を終了する際は「[Y] 登録して終了」を選んで終了します。
SWITCH.X を終了したら、以降指示があるまでF1キーは押さないで下さい。

 

2) SWITCH.X 終了後、マシンを再起動させます
(リセットボタンを押すか、[CTRL] + [OPT.1] + [DEL] キーを押下)

 

3) マシンが再起動したらエディタを立ち上げます。エディタは何でも構いません。このページではエディタとしてシステムディスク標準添付の ED.X を使用しています。

 

4) エディタが立ち上がったらF1キーを押します。下図のようにプロンプトがエディタに出力されたら変換アダプタは設定モードになっています。なお明示的に編集モードに切り替える必要があるエディタ (vi系など) の場合は編集モードにしてからF1キーを押して下さい。

 

5) 設定モードで使用出来るコマンドは以下の4つです

e Edit 設定を変更します
c Clear 設定内容を一括初期化します
d Dump 設定内容をダンプします
q Quit 設定モードを終了します

 

【Edit】

設定モードのプロンプトで “e” を入力するとEditモードに切り替わります。(プロンプトの表示がコロンに変わります)

Editプロンプトが表示されたら、4桁の16進数で設定を入力します。前2桁がEEPROMのアドレスで、後2桁が設定値です。

ここでは 「PS/2キーボードのスキャンコード = EEPROMアドレスに」「X68000キーボードのキーコード = 設定値」 とします。

例えば、上図の入力例1行目の 「1602」 という設定は「PS/2キーボードのフルキー1 (ScanCode 0x16) が押されたら、X68000には 0x02 (フルキー1) を返す」 という意味です。
同様に、入力例2行目の 「de54」 は「PS/2キーボードの ACPI WakeUpキー (ScanCode 0xde) が押されたら、X68000には 0x54 (HELP) を返す」 という意味になります。

なおキーマッピングのカスタマイズはデフォルトの配置から変更したいキーのみピンポイントに設定を変更すれば大丈夫です。変更を元に戻したい場合は設定値を 0x00 にするか、後述する Clear コマンドで設定を全消去して下さい。

Editプロンプトが表示されている状態で何も入力せずにエンターキーを押下するとEditモードを終了し、設定プロンプトに戻ります。

 

【Dump】

現在の設定内容をダンプ表示します

 

【Clear】

 

【Quit】

設定モードを終了します。

設定モードを終了したらエディタを閉じ、その後 SWITCH.X で FIRST_KY の値を元に(15: 1700ms 以外に)戻してからマシンを再起動して下さい。

 

PS/2キーボードのスキャンコード (ACPIキー付日本語109キーボード)

なおアダプタの処理の都合で、一部キーのキーコードはアダプタ独自のコードとなっています。

もう少し詳しく

PS/2キーボードのキーコードはおおむね以下の3パターンに分かれます (Codeset2の場合)

  1. 1byteで表現される通常キー1
  2. 0xE0 から始まる拡張キー2
  3. 上記以外の特定のキー

本アダプタでは (b) の拡張キーのキーコードは 0x80~ に配置しています。(例:0xE0, 0x11 のキーコードを返す右Altは 0x11 + 0x80 → 0x91 に配置)

(c) に該当する特定キーの本アダプタにおけるキーコードは以下のとおりです。

F7キー → 0x83
Print Screenキー → 0xFC
Pauseキー → 0xFE

マルチメディアキー等の特殊キーにX68000キーボードのキーコードを割り当てる場合の参考にして下さい。

(例) 例えば、キーを押すと { 0xE0, 0x0a } を返す特殊キーにHELPを割り当てたい場合、設定モードのエディットで “8a54” を入力します。

 

X68000キーボードのスキャンコード

 

 

  1. 例えばスペースは押下で {29} を返し、開放で {F0, 29} を返します []
  2. 例えば右Altは押下で {E0, 11} を返し、開放で {E0, F0, 11} を返します []