見出し画像

ロジクールのトラックボールマウスM575のポインタ速度を最適化した話

問題

以前より気になっていたトラックボールマウス。Amazonでセールしているのを見つけてしまい、いてもたってもいられず購入したのが始まりだ。

ついついマウスごと動かしそうになりながら、基本的な操作に慣れるまで約3日。シューティングゲームをひたすらやった。それからはドラッグやジェスチャー動作をスムーズに行えるよう練習していた。

しかしどうしても慣れでは解決しない問題が明るみに出た。
トラックボールマウスのポインタ微調整が難しいことだ。

設定速度を下げて対応してみたがベストな速度が見つからない。

というのも、普段の操作が快適にできるポインタ速度では一文字単位でコピーしたいときに不便。親指がぷるぷるした。悲しみ。
一文字単位でコピーが簡単にできる速度では普段の操作が不便。

私は仕事柄photoshopもよく使う。これではやばい。WEBデザイナーにはトラックボールが向いてないと記事が書かれるわけだ。

だからってここで諦めたくはない。この問題以外はめちゃくちゃ快適なマウスなのだから。こういうときはやはりカスタマイズの出番である。

右Altを押している間はポインタ速度が低速に、離せば通常速度に戻るようにした。

2024/06/23
トリガー条件を改良した版を作った。新記事はこちら↓


環境

私が使用しているマウスはこちら。
Logicool トラックボールマウス M575

3つのボタンに割り当てられるジェスチャー機能がとても便利。さすがロジクール。デフォルトでここまでできるなんて感動だ。

ジェスチャー割当画面

同社製マラソンマウスM705からの買い替えなのだが、できることが格段に増えている。

ちなみにM575の上位機種、MX ERGOであればプレシジョンモードという機能がついている。ボタンを押すたびに設定しておいたポイント速度に切り替わる仕組みだ。

今回紹介するやり方は他社マウスを使っていても適用可能なので、他社のトラックボールマウスでお悩みの方もそのまま読み進めてほしい。

解決策

『AutoHotkey』というソフトを使って解決した。

考え方としては、ポインタ速度を一時的に落としてやる環境を作れば良い。
なので、右Altキーを押している間のみポインタ速度を下げた。
(正直ERGOより使いやすく仕上がったのではないかと思っている)

手順

1.AutoHotkeyというソフトはなにができるのか?

A.任意のキーに対して、好きなキーやプログラムを割り当てられる。

この『プログラムを割り当て』られるのが鍵。
つまり今回は右Altを押している間のみポインタ速度の値を書き換えるコードを割り当てた。

プログラミング言語はahkというニッチな言語を使用する。
しかしノンプログラマーでも気負うことはない。
コピペすればできる簡単仕様だからだ。

2.参考文献

参考にさせてもらった動画と記事を先に紹介しておく。

導入はこちらの動画がわかりやすかった。

【AutoHotKey】キーボードのキー配置に不満がある人が見る動画|ぷらぐら

並行してこの記事にもお世話になった。
執筆者のスズキさんの技術力をひしひしと感じる。

多数の便利ツールが紹介されているのも面白い。
とはいえ今回はマウスのカスタマイズのみが目的なので、必要な部分だけ参考にさせていただいている。あとでじっくり読み込ませていただこう。

3.ソフトの導入

公式サイトからAutoHotkeyをダウンロードする。

バージョンは古いv1.1を選択した。最新版ではないので自己責任で。

インストーラを起動したら『Express Installation』『Exit』の順で選択する。これでインストールは完了だ。

AutoHotkey.exeの場所を開く。
参考)C:\Program Files\AutoHotkey

AutoHotkey.exeと同じ階層にファイルを作る。右クリックして『新規作成』『AutoHotkey Script』を選択。ファイル名をAutoHotkey.ahkとする。

※Program Filesの配下ディレクトリではAutoHotkey Script選択肢は出ない。     別の適当な場所で作成してコピペなどで対応できる。

同じ階層&指定の名前にすることで、ソフト起動時にプログラムが実行される環境が整う。

4.プログラム記述

先ほど作成したAutoHotkey.ahkをテキストエディタで開く。
メモ帳もしくはVScodeなど。

中身を↓にまるごと書き換えればOK。初期記述も消して大丈夫。

#Persistent
#SingleInstance, Force
#NoEnv
#UseHook
#InstallKeybdHook
#InstallMouseHook
#HotkeyInterval, 2000
#MaxHotkeysPerInterval, 200
Process, Priority,, Realtime
SendMode, Input
SetWorkingDir %A_ScriptDir%
SetTitleMatchMode, 2

Return

;マウス速度一時減速
; https://www.autohotkey.com/docs/commands/DllCall.htm#ExMouseSpeed
; 右Altをトリガーにする
RAlt::
	SPI_GETMOUSESPEED := 0x70
	SPI_SETMOUSESPEED := 0x71
  ;低速時速度
	DllCall("SystemParametersInfo", "UInt", SPI_SETMOUSESPEED, "UInt", 0, "Ptr", 5, "UInt", 0)
	KeyWait, RAlt
  ;通常時速度
	DllCall("SystemParametersInfo", "UInt", SPI_SETMOUSESPEED, "UInt", 0, "Ptr", 12, "UInt", 0)
return

冒頭~1つ目Returnまでは上で載せた記事の執筆者、スズキさんのコードを拝借している。
後半はLordNoesisさんのコードを元に編集させていただいたものだ。

このコードでは低速時速度を5、通常時速度を12にした。
好みで適宜調整してほしい。

トリガーにできるキーだが、ホットキー限定で変更できる。
選択肢:Ctrl、LCtrl、RCtrl、Shift、LShift、RShift、Alt、LAlt、RAlt、LWin、RWin
※FnはOSに信号がいかないので対象外だ。余ってるのに……

5.プログラム実行

まずはAutoHotkey.ahkを保存。
次にAutoHotkey.exeをダブルクリックで実行する。
コードにエラーがあればここでダイアログが出てくる。エラーがなければ何も起こらない。正しく動作しているか確認しよう。

動作確認は右Altを押してマウスを動かしてみるとよい。
押している間は低速に、離せば通常速度に戻れば成功だ。

まとめ

以上の手順でAutoHotkeyというソフトを使い、ロジクールのトラックボールマウスM575のポインタ速度を最適化できた。

使い始めて1週間だが、このマウス、めちゃくちゃいい。ジェスチャーボタンは偉大だ。捗る。
難点に感じていたポインタ速度問題も解決したので、これから使い倒そうと思う。

ちなみにAutoHotkeyはキー入れ替えもできるので、興味があれば検索するといい。無変換というある意味まっさらなキーをどうするか……あぁCapsLockもある。夢が広がる話だ。

夢の選択肢をひとつおいて記事を締めくくることにする。

;キー入れ替え
vk1D::Enter
vkF0::Backspace

この記事が気に入ったらサポートをしてみませんか?