キーボード割付の変更:AutoHotKeyの紹介


$センチュリーBLACK PAWN(グレー軸)

 最近getしたセンチュリーのミニキーボードBLACK PAWNですが,Shiftキーが矢印キーの外側にあって,かなり使いづらいです.

 このキー配置はコンパクトキーボードにちょくちょく見られるものです.FILCOのMajestouch MINILAも同じです.


 
 いただけない.
 
 なぜ右シフトは冷遇されるのか,不当な差別に憤りを感じます.
憤りの理由は明白です.おいらがかな入力だからです.かな入力は左右のシフトキーをたくさん使うのです.
 しょうがないので右シフトと上矢印を入れ替えました.
 

 これはこれで上矢印と下矢印が斜めの位置なんで,結構やりにくいんですが,Vimんちゅは矢印キー使わないから気にしない
 

$キーバインドを変更する: AutoHotKey

 キーバインドを変える方法ですが,今までは  changekey  というツールを使っていました.

 しかし,ChangeKeyはいちいち再起動が必要です.BLACK PAWNを使わない時には元に戻したい.BLACK PAWN のようなミニキーボードは持ち歩いて,他のPCにつなげてマイ入力環境として利用したいんだけど,いちいち変更するのは面倒です.

 で,ぜひ紹介したいのは,Windows用のツール,AutoHotkeyです.
 ※日本語の専用Wikiもあります.⇨ AutoHotkey Wiki

 これを使えば,管理者権限がなくても,レジストリを変更しなくても,キーの交換が自由自在です.

 USBメモリにAutoHotKey本体と,BLACK PAWN用のAutoHotKey設定ファイルを入れておき,BLACK PAWNを使うときだけ実行する.これで快適なマイキーボード生活が可能になります.
 設定ファイルの記述はキーの入れ替えだけなら簡単です.例えば,右シフトと上矢印を入れ替えるなら,こうです.

Up::RShift
RShift::Up

たったこれだけです.

 AutoHotKeyはWindows用の常駐ソフトなので,ほかのOSでは使えません.ものすごく残念です.だれか移植してください.

で,AutoHotKeyの設定ですが,詳しくは上のWikiで理解できると思います.

利用方法をざっくりいうと,こういう感じです.

  1. 設定ファイルを記述する.ファイル名はなんでもいい.拡張子は"ahk"
  2. ahkファイルからAutoHotKeyを起動する.もちろん関連付けしておく.
  3. ahkファイルは複数起動可能.外部キーボードをつなげた時にそのキーボード用のahkファイルを実行できる.
  4. ahkは常駐しているので動作がおかしければ,メニューを開いて動作確認したりahkファイルを編集することができる.

 AutoHotKeyはキーバインドの変更だけでなく,キー操作を割り当てたり,特定のアプリを起動することもできます.探せばいろいろな応用例があります.

 以下,おいらが愛用しているThinkPad T440p用の設定ファイルです.

;;; 無変換にいろいろバインド
!q::Send,!{F4}
vk1D & Q::Send,!{F4} ; 無変換+q = Alt+F4(Window閉じる)
vk1D & C::Send,^{c}  ; 無変換+c = C-c(Copy)
vk1D & V::Send,^{v}  ; 無変換+v = C-v(Paste)
vk1D & X::Send,^{x}  ; 無変換+x = C-x(Cut)
vk1D & K::Send,{pgup}; 無変換+k = PageUp
vk1D & J::Send,{pgdn}; 無変換+j = PageDown
vk1D & H::Send,{Home}; 無変換+h = Home
vk1D & L::Send,{End}; 無変換+l = End
vk1D & M::Send,{Enter}; 無変換+M = Enter
vk1D & N::Send,{Blind}{F3}; 無変換+n = F3
vk1D & B::Send,{Blind}+{F3}; 無変換+b = Shift F3
vk1D & 2::Send,{Blind}{F2}; 無変換+2 = F2
vk1D & R::Reload ; 無変換+r = AutoHotKeyファイルリロード
vk1D & Enter::MouseClick,Left; 無変換+Enter = マウス左クリック
;; ↓Chrome起動
vk1D & P::Run,"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --profile-directory="Profile 1" https://keep.google.com/u/0/
;; ↓Vim起動
vk1D & E::Run,"C:\bin\vim\gvim.exe" "C:\Users\user\AutoHotKey\altq_TPT430.ahk"

$vk1D:: ;無変換2連打 = DF起動
 KeyWait, vk1D
 if (A_PriorHotkey == A_ThisHotkey) && (400 > A_TimeSincePriorHotkey){
  Run, C:\bin\df198\DF.EXE, C:\Users\user\Documents
  WinActivate, ahk_class DoubleWindowedFiler
}
return

;; Vim用設定
#IfWinActive ahk_class Vim
;;; 無変換+kでC-b,+jでC-d(半画面スクロール)
vk1D & K::Send,^{b}
vk1D & J::Send,^{d}
#IfWinActive

みなさんも快適なキーバインドライフを試してみませんか.