Autohotkeyでキーバインドを変えてみよう
環境移行中
会社でMacBookを使って開発をしているのですが、ThinkPadに環境を移行しようといろいろ調整中です。キーボードはHHKB Pro, マウスはケンジントンのトラックボールなので物理的インターフェースは変わらないのですが、キー配置が変わるのが難点。
だいぶOSX配置になれてしまったのでそっちにあわせてキー配置を変更中です。
Vistaで使えるキー配置変更ソフトウェア
会社でつかうThinkPadはXPなのだけれど、自宅のPCはVistaで、どうせなら変更したキー配置はどこでも使えるようにしたいものです。ですが、キーバインド変更ソフトウェアの定番であるところの"窓使いの憂鬱(mayu)"は現在開発が終了していて、Vistaでの動作が微妙です。64bitだとブルースクリーンになるそうです。有償の"のどか"ならVistaでもいけますが、mayu系はキーボードドライバを変更してしまうのがちょっと怖いところでもありますし、決済が確認されるまで有償版が使えないのもネックです。
そこで、友人がお勧めしていたautohotkeyを使います。
autohotkeyはドライバの変更は行わないので、機能的にmayuに劣る場合もありますが、ほとんどの場合、autohotkeyで事足りるでしょう。また、autohotkeyはスクリプトが簡潔で書きやすい利点もあります。
autohotokey
細かいの情報は、
http://lukewarm.s101.xrea.com/index.html
あたりを見てもらうとして自分のした設定と簡単な使い方をご紹介。
簡単な使いかた
- ダウンロード
- http://www.autohotkey.com/download/
- ここからダウンロード。インストーラ版が便利です
- インストール
- インストーラを起動するだけ。途中の、設定ファイルの関連付けはかならずOnにしましょう
- 起動方法
- 上記の関連付けをOnにしておけば、設定ファイルをダブルクリックするだけで、設定したキーバインドが有効になります。
LWin<->LAlt交換
HHKBをMacで使っていると、スペースの左がコマンドで、さらにその左がAltになります。一方でHHKB Lite ExtendモードでWinで使うと、スペースの左がWinでそのひだりがAltになります。
MacのCarbon Emacs など EmacsバインディングはM-xなどのキー配置がコマンドキーとの組み合わせになっていて、これになれていると、WinのAltとの組み合わせになったときにキーが隣になって不便してしまいます。これを直すために以下の設定
;For HHKB LWin <-> LAlt LWin::LAlt LAlt::LWin
というわけでキーのリマップは
変更されるキー::変更後のキー
です。
Emacs風キーバインドをどこでも使えるように
http://d.hatena.ne.jp/teturouet/20071120/AHK_Emacs2
にある、スクリプトをコピーしてファイル(ここではEmcas.ahk)に書き込んでおきます。
設定ファイルに
include Emcas.ahk
IMEの切り替え
IMEのOn/Offは英字キーボードの標準だと右Alt+~でかなり使いづらいのですが、なぜかずっと標準で僕は使っていました。これをMacと同じ、スペースとスペースの左のキー(Macならコマンドキー)に変えます
IMEをいじるには、そのためのファイルを用意したほうが楽です。
http://sadat-studio.net/modules/mydownloads/viewcat.php?cid=3
ここから手に入る物を使います。
設定方法は
#include IME_Func.ahk !Space:: ret := IME_CHECK("A") if( !ret ){ IME_ON("A") IME_SetConvMode( "A", 25 ) ; R漢 }else{ IME_OFF("A") } return
です。
!Space::
これは、!がAlt+の意味で、Alt+Spaceのときの機能の定義です。IME_CHECK("A")でon/offを取得してoffの場合Onにして仮名漢字変換モードに設定しています。
とりあえず、これで文字入力関係はMac上のHHKBっぽく動くようになったはず。設定ファイルはDropboxで共有しておくとなお便利。あとはこの設定ファイルがログイン時に起動されるように何かしらの設定をしてあげましょう。