10年以上 Happy Hacking Keyboard(以下 HHK)の初代 PD-KB02 を愛用している.
PD-KB02 は, 自身の専用端子を, PS/2, Sun の Type5, 昔Macで使っていたADB に変換する三種類のケーブルが存在し, 三種類全て付属するパッケージと, いずれか一つ付属する少し安いパッケージがあった.
私は今までは主に PS/2 ケーブル, 最近は PS/2 ケーブルの先に PS/2-USB 変換を付けて, USB で接続して使っていた.
半年前に MacBook Pro を主に使うことにしたが, 残念な事に PS/2-USB 変換を通すとコマンドキーを認識しない.
HHK は各種型番いろいろ持っているので, キータッチの好みは初代が一番, Lite が二番なのだが, USBが無いからしかたない, Professional を繋げて使っていた.
そこでお盆ですよみなさん.
帰省先にもディスプレイやキーボードのストックはあるので MacBook Pro だけ持って帰省したら, HHK は初代 PD-KB02 しかなかった.
というわけで, そのうち調べようと思っていた, PD-KB02 をコマンドキーを認識させて使う方法を Google 先生に探していただきました.
ありました.
HHKPS2USBDriver
を使わせていただくことで無事認識できました.
Google さん, HHKPS2USBDriver の作者さん, ありがとうございます.
一応手順.
上記サイトさんから,
HHKPS2USBDriver-1.0.4.dmg
をダウンロードさせていただきます.
マウントしたら, HHKPS2USBDriver.kext フォルダをフォルダごと
/System/Library/Extensions/
にコピーします.
コピーの仕方によっては最初から uid, gid は root:wheel になってますが,
なってない場合は,
sudo /usr/sbin/chown -R root:wheel /System/Library/Extensionts/HHKPS2USBDriver.kext
しておきます.
あと, フォルダの作成日時を調整しておくため,
sudo touch /System/Library/Extensions/HHKPS2USBDriver.kext
を実行しておいた方が良いようです.
PS/2-USB 変換アダプタの Vendor ID と Product IDを確認します.
私の場合は, サンワサプライの USB-CVPS1 という製品ですが, 変換アダプタを接続した状態で, システムプロファイラで調べてみると, 製造元 ID: 0x0b39, 製品ID: 0×0001 となっています. HHKPS2USBDriver には 10進数で指定しますので, 16進数0b39 を脳内コンピュータか, 目の前のコンピュータに計算させ, 十進数で 2873 に変換しておきます.
/System/Library/Extensions/HHKPS2USBDriver.kext/Contents/Info.plist
を編集します. 他の項目を参考に, お手持ちの PS/2-USB 変換用の <dict> ノードを追加します. 私の場合は
<key>Sanwa USB-CVPS1</key> <dict> <key>CFBundleIdentifier</key> <string>org.nnip.driver.HHKPS2USBDriver</string> <key>HIDDefaultBehavior</key> <string></string> <key>IOClass</key> <string>HHKPS2USBDriver</string> <key>IOProviderClass</key> <string>IOUSBInterface</string> <key>bConfigurationValue</key> <integer>1</integer> <key>bInterfaceNumber</key> <integer>0</integer> <key>idProduct</key> <integer>1</integer> <key>idVendor</key> <integer>2873</integer> </dict>
を追加しました.
sudo /sbin/kextload -t /System/Library/Extensions/HHKPS2USBDriver.kext
で, モジュールをロードするか, 再起動します. うちではロードがうまくいかないようだったので, 再起動しました.
/usr/sbin/ioclasscount HHKPS2USBDriver
を実行して
HHKPS2USBDriver = 1
と出力されればOKです.
ドライバが有効になっていないと
HHKPS2USBDriver = 0
が返ってきます.