AHKでHHKBのキーマップを作成する
はじめに
こんにちは。暮田のんです。
皆さんはHHKBをしっていますか? 知らないという方は、プログラマ向けの高級キーボードであることだけ認識してもらえたらいいです。
- HHKB高級
-
AHKは無料
-
だったらAHKでHHKBを再現すれば無料で高級キーボードと同じ体験ができるじゃないか!
- 学生はうれしいよね。
- 最初はお金をかけるべきではない
- 中古で買って体に会わなかったら中古でうればいいという意見もある。リセールがよい商品なのであり
個人的には以下の2点を重視してやっていこうと思います。
- AHKのみで完結すること(レジストリの書き換えは再起動が必要なのでなし)
- 無料でできること
ちなみに私自身はHHKBを持っています。 2025-09-15 TUF Gaming A14 を購入をきっかけに作業環境を外に持ち出すことができるようになりました。 しかし、自宅では依然として、HHKBを使用し続けます。 つまり、備え付けのキーボードを使用してる時だけAHKスクリプトを読み込ませて、HHKB配列を使用できるようにしたいということです。
Note
尊師スタイルというのが世の中にはあります。 そしてHHKBにはその尊師スタイルをサポートするアイテムTypesticksという製品があります。 HHKBを持っているのであればこれを使えばいいのではないかという意見があるともいます。 もちろんその通りなんですが、せっかくの携帯性に優れるノートPCのためにキーボードを持ち運ぶのはちょっとナンセンスだとは思いませんか?
使用環境
- Windows11
- Microsoft IME
- AHK V2
- JIS配列
素直にやっても上手く行きません
なので同じことをやりたい人はみんなレジストリを書き換えてます。 でも私の場合はレジストリを書き換えたらHHKB接続時に支障がでます。
そのためPowerToysのKeyboard Managerを使用します。 こちらではトグル1つで有効と無効を切り替えることができるのでこちらを採用します。
当初の目標であったAHK1つで環境を構築することはできませんが、レジストリを書き換えるよりは幾分かましな手段でしょう。
(MacのKarabiner-Elementsはたしか変更するキーボードを指定できたようなきがするなぁ)
slockをctrl 全角・半角をescに変更
ahkで内臓キーボードのときだけ有効になるように判定をする
- Windows11
- MS IME
- AHK V2
- JIS配列
書き換えたいキー一覧
| 置換前 | 置換後 |
|---|---|
| CapsLock | Ctrl |
| 半角・全角 | ESC |
| 無変換 | F13 |
| 変換 | IME OFF |
Fmキーの組み合わせ
※ここでいうFnは無変換キーのこと。 AHKでF13との組み合わせで 以下のショートを作成して
| ショートカットキー | 効果 |
|---|---|
| Fn + HJKL | 矢印キー |
| Fn + P | PrintScrean |
| Fn + O | Enter |
| Fn + I | Space |
| Fn + U | BS |
| Fn + Y | Del |
| Fn + 数字 | Fn1~F12 |
| Fn + IME off | IME ON |
| Fn + Space | ALT |
CapsLockをCtrlに変更
JISキーボードを使用して、AHKからCapsLockをCtrlを単に入れ替えるだけでは正常に動作しません。 なぜならCapsLockにはIMEのON / OFF が割り当てられているからです。
今回はこちらをKeybord Manegaerで画像のように入れ替えます。
本音をいえばこの問題をAHKのスクリプトで解決してほしい
全角・半角をescに変更
左上の全角・半角キーをescに変換します。 こちらも同様に押しっぱなしなる問題があるようで、AHK単体では解決が難しい問題となっています。
その他のキー
無変換はF13に、変換はIMEOFFに割り当てます。 これはHHKBの標準の配列ではなく自分が使いやすいキーマップです Fnキーの組み合わせは大体全部自分用です。
