†逆襲のOS/2†

MYKBD.SYS キーの入れ替え・配置変更

作成開始日 2013.02.10
最終更新日 2021.12.17

MYKBD.SYSはIBMKBD.SYSを解析・改造してキーマップを変更するツール(K.Yoshizawa氏作)。CtrlCapsLockを入れ替えるのに重宝…というか殆ど唯一の方法。が、使用できるのはWarp 4.0まで。4.5xのIBMKBD.SYSは「解析不能」となる(尤も、ソースまで配布してくれているので、その気になれば改造できるとは思うが)。

ただし、Warp 4.0のIBMKBD.SYSから作成したMYKBD.SYSでも、4.5xで動作するようだ。注意しなければならないのは、IBMKBD.SYSのタイムスタンプ。4.0と言っても、FixPakやなんやらでけっこうアップデートされてしまうようだが、97-05-14のIBMKBD.SYSでないとブート時にクラッシュする(これより古い3.5xなどもダメのようだ)。また、97-05-14のIBMKBD.SYSでも、ブート時に数分間黙り込む(⇒キーボードによっては黙り込まないものもある)。

やっぱり、ハードウェア的にAの横にCtrlのあるキーボードを使う方が良い。まあ、それは確かなんだが、そうなると現実的にはJKB-89S系かHHK Lite2くらいしか選択肢がない。JKB-89S系は入手が困難だし、HHKL2はその他のキー配列が問題で…

なお、テンキーレスのミニキーボードでは、PageUp/Down/Home/EndがFn併用になっていることが多いが、MYKBDではこれらのキーを他のキーに割り付けることはできないようだ。PM専用のキー入力変更ツールで良いものがないものか…

スキャンコード

MYKBD.SYSでは入れ替えるキーをスキャンコード(走査コード)で指定するが、スキャンコードに関するOS/2の資料は混乱が多い。『日本語版ご使用の手引き』(LDFREF.INF)に一覧が乗っているのだが、どうも実際とは異なっているような気がする(特に[半角/全角]のスキャンコード)。そこで、変更できそうな特殊キーのスキャンコードを挙げておく(全部を試したわけではない。また、文字キーや記号キーも変更できるが、変更する可能性が低いと思われるので省略)。なお、上段がmake、下段がbreak。

変更可能な特殊キーのスキャンコード
Keymake
break
Keymake
break
Keymake
break
Keymake
break
Keymake
break
ESC 01
81
CapsLock 3A
BA
F1 3B
BB
F7 41
C1
半角/全角 29
A9
左Alt 38
B8
Backspace 0E
8E
F2 3C
BC
F8 42
C2
変換 79
F9
左Ctrl 1D
9D
Tab 0F
8F
F3 3D
BD
F12 43
C3
無変換 7B
FB
左Shift 2A
AA
Enter 1C
9C
F4 3E
BE
F10 44
C4
カタカナ
ひらがな
70
F0
右Shift 36
B6
Space 39
B9
F5 3F
BF
F11 57
D7
  
   ScrollLock 46
C6
F6 40
C0
F12 58
D8
  

【注】右Alt、右Ctrl、Delete、Home/End、PageUp/Down、カーソルキーなどは拡張キーであり、MYKBDでは変更できない。

CapsLockをCtrlに

私がMYKBDを使用する最大の目的が[CapsLock]の[Ctrl]化。通常は[CapsLock]と[Ctrl]の《交換》が一般的で、MYKBDのサンプルデータ「CTRL.DAT」も以下のようになっている。
# 左CTRL -> CapsLock
#1D 3A
#9D BA
# CapsLock -> 左CTRL
3A 1D
BA 9D
しかし、私に取って[CapsLock]は全く不要なキーであり、この世に存在してはいけないもの。また、[CapsLock]を[Ctrl]に変更し、左[Ctrl]をそのまま残しておけば、「Ctrl-A」タイプのキーボードでも、「Caps-A」タイプキーボードでも、ドライバを入れ替えることなく使用できる。

そのためには「CTRL.DAT」の中の「# 左CTRL -> CapsLock」以下3行を削除してしまえば良い…かと言うと、実はそれだけではエラーが出る。変更しない左[Ctrl]に関しても、明示的に設定しておかなくてはならないようだ。

# CapsLock -> 左CTRL
3A 1D
BA 9D
# 左CTRL -> 左CTRL
1D 1D
9D 9D

Happy Hacking Keyboard Lite2 (JP/PS2)のキー変更

HHKL2はCtrl-A配列でキータッチも優れたキーボードだ。問題点は、通常左[Alt]があるべき位置に[半角/全角]があり、誤操作が頻発すること。また、[F1]〜[F12]がないのも極めて不便。そこで;

@[ESC]を[半角/全角]に
A[半角/全角]を左[Alt]に
B[無変換]を[Esc]に
C[変換]を[F8]に
D左[Alt]を[F2]に

変更した。なお、[F2]と[F8]は個人的に使用頻度が極めて高いPFキー。このキーアサインは個人的には大当たりで、びっくりするほど使い易くなった。最初は[ESC]の位置に戸惑ったが、通常よりも押しやすい位置にしたので、これは慣れで克服できる。もっとも、MYKBDを使うのであれば、HHKL2のCtrl-A配列というアドバンテージはあまり意味がなくなる。配列的には、むしろ通常のCapsLock-A配列のキーボード+MYKBDの方が馴染みやすい。しかし、HHKL2のキータッチはメンブレン式としては頭一つ抜けているし、何よりブート時に黙り込まないのがありがたい。

# ESC -> 半角/全角
01 29
81 A9
#全角/半角 -> 左Alt
29 38
A9 B8
#左Alt -> F2
38 3C
B8 BC
#変換 -> F8
79 42
F9 C2
#無変換 -> ESC
7B 01
FB 81


【逆襲のOS/2目次】 【ホーム】