低精度タッチパッドでもwindows10のジェスチャを使いたい
windows10になってタッチパッドのmacライクな操作がサポートされました。
しかし、多くのパソコンに導入されているであろうsynapticsのタッチパッドはその多くが高精度タッチパッドではありません(脳内調べ)
かくいう私のラップトップvaio pro11も高精度タッチパッドではないです...
sonyあたりが対応してくれるかなと待っていたんですが対応してくれなさそうなので調べてみました。
何かしらすれば有効にできるんじゃないかと思ってたら
できました
なのでまとめておきます。(自己責任で)
やりたいこと
やっていることは単純で、synapticsのタッチパッドの入力はキーボードのコマンドとして処理されていることを利用して、Autohotkeyで制御してやろうというものです。
synapticsのドライバは、windows10対応のWindows 10 PS/2 and SMBus Devices v19.0.19.1
を使用しています。(たぶんこれ以外でもできる?)
このとき、デフォルトでは、
ジェスチャ | 認識されるキー |
---|---|
三本指swipe up | NumpadPgUp |
三本指swipe down | NumpadPgDn |
三本指swipe left | Alt+Left |
三本指swipe right | Alt+Right |
という風に認識されています。
つまり、これにあわせてAutohotkeyのマクロを書いてあげれば動くかなと思いました。
さらに本家とは違い柔軟にジェスチャーを定義できます。
しかし、
現実は甘くありません。一部のアプリケーションでしか動きません...
なぜ動かないかというと、アプリケーションごとにジェスチャに対する挙動が定義されていることがあり、それが邪魔しているようです。
ならば、アプリケーションごとの固有の動作を消せばいいわけです
アプリケーションの固有の動作はレジストリに記述されているため簡単にいじれます←
これでアプリケーションごとの固有の動作を削除したら動くようになりました
操作手順
- Autohotkeyのインストール
- Autohotkeyのマクロの設定
- レジストリの削除
Autohotkeyのインストール
省略
Autohotkeyのマクロの設定
前回の記事 admjgptw1357.hatenablog.com
で定義したマクロを使います。
最終的には、
ジェスチャ | 操作 |
---|---|
三本指swipe up | Win+Tab |
三本指swipe down | Win+D |
三本指swipe left | 仮想デスクトップ切り替え |
三本指swipe right | 仮想デスクトップ切り替え |
という動作にします。
プログラム
#NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases. ; #Warn ; Enable warnings to assist with detecting common errors. SendMode Input ; Recommended for new scripts due to its superior speed and reliability. SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory. #InstallKeybdHook !Left:: Sleep 30 Send ^l return !Right:: Sleep 30 Send ^h return NumpadPgUp:: send #{Tab} return NumpadPgDn:: send #d return ;;前回までで登録したマクロ ^l:: Send ^#{Right} Sleep 50 WinGetTitle, title, A If (title = "") { Send !{Esc} } return ^h:: Send ^#{Left} Sleep 50 WinGetTitle, title, A If (title = "") { Send !{Esc} } return
はいとても単純ですね。
左右のスワイプを連続して行ったときに面倒なことになったので、Sleep 30
をはさんで緩和させています。
これで基本的に動作するようになりました。
レジストリの削除
みんな大好きレジストリです。
言う迄も無いですが、ここを誤っていじると起動しなくなります。
システムの復元ポイントを作るなりしてすべて自己責任でお願いします。
レジストリには、三本指swipeの上下と左右で別な箇所で管理されているようです。
スワイプ | レジストリ位置 |
---|---|
左右 | HKEY_LOCAL_MACHINE\SOFTWARE\Synaptics\SynTPEnh\PlugInConfig\TouchPad\AppProfiles |
上下 | HKEY_LOCAL_MACHINE\SOFTWARE\Synaptics\SynTP\Defaults\AppProfiles |
という対応となります。
これらのフォルダの中に、定義ファイルが存在するようなので、フォルダごと消してあげます←
たとえば、Microsoft Outlook
などというフォルダが存在すると思うので、これを右クリックで消すわけです。あまり多く消すのは怖いので操作を実行したいアプリケーションだけ消してあげた方が安全です。
レジストリエディタはwin+R
でファイル名を指定して実行で、regedit
と打ち込んで起動してください。
レジストリは削除しなくても変更でもいけるかも知れませんが、めんどくさかったので削除しました。
以上です。
それでは快適なwindows10ライフを