タッチパッドの革新的な操作感を提供する、 ThumbSense というソフトがあるのだが、これには中クリックを実現できない欠点があった。
そこで、AutoHotkey を利用して、スクリプトで自由にキーを割り当てつつ、 ThumbSense の機能を実現してしまおうという、 ThumbRemap.ahk というものが存在する。
(オリジナルの配布もとは既に無くなっており、ミラーサイトで配布中 → 残念ながら、ミラーサイトからは拾えなくなってしまったようだ。 ただ、 元サイトの Wayback Machine で拾える模様)
これ自体もなかなか古く、最新の 64bit OS で 普通に AutoHotkey を導入してしてもおそらく動かないだろう。
AutoHotkey を導入する
まず前提として、本家 Autohotkey は事実上開発停止状態なので、派生版の AutoHotkey_L を使用することを前提とする。
http://www.autohotkey.com/ こちらからインストーラのダウンロードが可能だ。
さて、インストールする際、オプションに注意が必要だ。
OS の種類にかかわらず、32bit 版をインストールする必要がある。
これは、タッチパッドの状態を知るためにドライバを叩く際、32bit 版の DLL であることを前提に作られているため、32bit 版のプロセスから実行しないと、正常に動作しないためだ。
しかし心配するなかれ。64bit OS 上でも、AutoHotkey を 32bit プロセスで立ち上げれば、問題なく動作する。
また、32bit 版には、 ANSI 版と Unicode 版の2種類が存在する。
ThumbRemap を動かすだけであれば、 ANSI 版の方が上記のミラーサイトからダウンロードできるスクリプトがそのまま実行できて良い。
ただ、ほかのスクリプトも動かすとなると、国内では日本語の取り扱いに問題の無い Unicode 版の方が主流となりつつあるようなので、そちらでも動かせるようにしたい。
Unicode 版での違いは、スクリプトが UTF-8 であることと、DLL を呼び出す際の文字列の形式が Unidode となるので、Unicode 対応関数を呼ばなくてはならないことぐらいなので、それに対応した ThumbRemap のパッケージを ここに置いておく。
(配布元がなくなっているのもあり、許可無く再配布してしまっているが、再配布に問題がある場合は連絡をいただければ配布を停止します。)
AutoHotkey_L のインストーラはかなり親切な作りなので迷うことは無いと思うが、一応 x86 Unicode 版を選ぶまでのスクリーンショットを張っておく。
ThumbRemap の実行
AutoHotkey を導入し、適切な ThumbRemap がダウンロードできたら、あとは Readme.txt に従って、 ThumbRemap.ahk をテキストエディタで編集し、ThumbRemap.ahk を実行すれば、無事に実行可能になるはずだ。
動かない場合、以下の点を正しく登録できているか確認してみよう。
- 32bit 版の AutoHotkey を導入しているか?
- Unicode版と ANSI版で、使用する ThumbRemap.ahk が異なるが、その選択は適切か?
- Readme.txt に従って、 ThumbRemap.ahk の書き換えは行ったか?タッチパットのドライバは正しいか?対応していないドライバではないか?
64bit 版 AutoHotkey との共存
残念ながら、現時点で Synaptics の 64bit 版のドライバが解析できておらず、64bit 版 AutoHotkey に対応させるすべはないようだ。
そういった場合は、 AutoHotkey_L に付属する、 Ahk2Exe を使って 32bit 版 Exe化 させてしまえば良い。
Ahk2Exe は、インストールしたパッケージにかかわらず、32bit+Unicode, 64bit+Unicode, 32bit+ANSI すべてのスクリプトを変換できるので、ThumbRemap を利用する際は、Exe化 したものを使い、それ以外は 64bit 版 AutoHotkey を利用するなど、住み分けを行えば良い。