【AutoHotkey/ステアーマウス/barrier/input-leap】G502Xを購入した理由&高速スクロールホイールの感度設定&速度設定

世界で最も売れているゲーミングマウスの最新機種、Logicool G502X を購入しました。

G502Xの購入を決意した理由

私が長年愛用していた「Performance Mouse M950」は廃盤になってます。安定した高速スクロールが使えて、さらにチルトホイールが使えるマウスは減っているようです。

予備として持っていた「M500」は安物ながら悪くはなかったですが、高速スクロールが若干カクつきます。新しい「M500s」も試したものの、印象はほとんど変わりません。

ビジネス用途としては定番の「MX MASTER 3S」は、チルトホイールが使えない、つまみ持ちでクリックしにくい、ドライバのせいか Premiere でホイールの調子が悪いです。

となるとゲーミングマウスしか選択肢に残らないのですが、Razerは高いしホイールの評判が悪い。実店舗で触ってみたけど、すぐ購入したいと思うほどではありませんでした。

結局ロジクールに戻ることになりますが、マウスの形は頻繁にアップデートされるので移行が大変。G502シリーズは売れてるし、2014年から大きな仕様変更もないので安心。

AutoHotkey&ステアーマウスで感度設定

G502X は、Windowsはロジクールの純正ドライバ「G HUB」利用が必須。不安定なので正直使いたくないもの、オンボード設定もよく初期化するので、代替案はなさそう。

そして G502X はホイール感度が良すぎで逆に使いにくいです。「G HUB」でも感度を設定する箇所は無いので、AutoHotkeyを使い意図的に感度を悪くする設定を加えました。

;あらかじめWindows側のホイール速度を最低値(1)にしておくこと
;参考:<https://hail2u.net/blog/coding/autohotkey-accelerate-wheel-scroll.html>
#MaxHotkeysPerInterval 500
WheelUp::
WheelDown::
    wheeltype := A_ThisHotkey
    ;[G502X用]150ミリ秒以下のホイールは無視
    if (wheeltype <> A_PriorHotkey || A_TimeSincePriorHotkey > 150) {
        wheeled = 0
    } else {
        wheeled = 1
    }
    ;[G502X用]上スクロールの感度高いので調整
    if (wheeltype == "WheelUp") {
        wheelspeedtime = 250
    }
    if (wheeltype == "WheelDown") {
        wheelspeedtime = 350
    }
    ;加速スクロール
    if (wheeltype <> A_PriorHotkey || A_TimeSincePriorHotkey > wheelspeedtime) {
        wheelcount = 1
    } else if (wheelcount < 8) {
        wheelcount++
    }
    ;カウント
    count := (wheelcount // 8) + wheeled

    ;デバッグ用。
    ;ToolTip, %count%`, %wheelcount%`, %wheeled%

    ;発火
    MouseClick, %wheeltype%, , , %count%
    return

ちなみにMacは「ステアーマウス」という神アプリがあるので「G HUB」は不要。ステアーマウスで感度調整して終わりですが↑みたいにホイールを無視する設定はできません。

とはいえ、ステアーマウスの設定だけストレスないレベルまでは改善できました。あと Karabiner を入れてる場合は G502X を全てOFFにしないと挙動がおかしくなるので注意。

barrier(input-leap)でスクロール量調整

マウス&キーボード共有化ソフトの barrier(input-leap) でサーバー側をWindows、クライアント側をMacで使うとホイール速度が速すぎます。かつ変更する箇所がありません。

この手のソフトはホイール制御を自前で用意してて AutoHotkey でも制御できず。有料ソフトの中では唯一 ShareMouse のみ設定変更できましたが、日本語に対応してません。

一旦、barrier2.4.0のOSXScreen.mm1434行目の数字をいじるしかなさそうです。x は 120 や 240などざっくりな値しか返ってこなかったので、加速はAutoHotkeyで処理。