人生シーケンスブレイク

シーケンスブレイクとは

Ubuntuでマウスホイールのスクロール速度を上げる

環境

  • Ubuntu 19.10
  • MX Ergo
  • MX Master 3

IMWheel をインストールする

いろいろ調べたら IMWheel で設定するのがセオリーらしいのでこちらをインストールする

$ sudo apt install imwheel

ヘルプを叩いてみた

$ imwheel --help
imwheel 1.0.0pre12 by -=<Long Island Man>=- <jcatki@jcatki.no-ip.org>
imwheel [--auto-repeat|-a delay-rate] [--buttons|-b grab-buttons] [--config|-c] [--debug|-D] [--detach|-d] [--display|-X display-name] [--flip-buttons|-4] [--focus|-f] [--focus-events|-g] [--help|-h] [--key-defaults|-K] [--kill|-k] [--pid|-p] [--root-window|-r] [--quit|-q] [--version|-v]
--auto-repeat|-a  delay-rate   auto repeat until button release (default=250)
--buttons|-b      grab-buttons
                       Specify button remappings (default="4 5 6 7 8 9", 0=skip)
--config|-c                    Open configuration helper window imediately
--debug|-D                     Spit out all debugging info (it's a lot!)
--detach|-d                    IMWHeel process doesn't detach from terminal
--display|-X      display-name Sets X display to use
--flip-buttons|-4              Swaps buttons 4 and 5 events (same as -b "5 4")
--focus|-f                     Use event subwindow instead of XGetInputFocus
--focus-events|-g              Disable the use of Focus Events for button grabs
--help|-h                      For this help!  Now you know
--key-defaults|-K              Use the old key style default actions
--kill|-k                      Kills the running imwheel process
--pid|-p                       IMWheel doesn't use or check any pid files
--root-window|-r               Allow wheeling in the root window (no cfg dialog)
--quit|-q                      Don't start imwheel process, after args
--version|-v                   Show version info and exit

IMWheelの設定ファイルを作成する

$HOME.imwheelrc を作成した。

".*"
None,      Up,   Button4, 2
None,      Down, Button5, 2
  • ".*" でどのアプリケーションでもこの設定を適用するように指定している
  • 行末の数字がスクロール量の大きさ。1がデフォルトで大きくする程スクロール量が増える。
    • 個人的にはMX Ergo, MX Master 3ともに2で良かった
  • None はキーボードのModifier Key
    • Shiftなどを定義していないので、この設定ならShiftキーを押しながらスクロールすると従来のスクロール量になってちょうどいい。

下記コマンドでimwheelを起動、再起動できるので、それでスクロール量の挙動を確かめるとよい。

# 起動
$ imwheel

# 再起動
$ imwheel -k

# 停止
$ imwheel -q

自動起動設定

設定が決まったら、systemd用のserviceファイルを作成して.config下に配置する。

[Unit]
Description=IMWheel
Wants=display-manager.service
After=display-manager.service

[Service]
Type=simple
Environment=XAUTHORITY=%h/.Xauthority
ExecStart=/usr/bin/imwheel -d
ExecStop=/usr/bin/pkill imwheel
RemainAfterExit=yes

[Install]
WantedBy=graphical.target

serviceファイル設置後、下記コマンドを順に実行してimwheelの自動起動設定を有効にする

$ sudo chmod +x /usr/bin/imwheel
$ systemctl --user daemon-reload
$ systemctl --user enable --now imwheel
$ journalctl --user --unit imwheel

これでスクロールが快適になった。

2020-04-22追記: back / forwardボタンが効かない場合

imwheel 適用時にMX Ergo や MX Master 3の戻る/進むボタンが効かなくなっていたことに気付いた。

改めてヘルプコマンドを叩いてみたら、

--buttons|-b      grab-buttons
                       Specify button remappings (default="4 5 6 7 8 9", 0=skip)

のように、-b オプションでホイールスクロールの4, 5のみを指定すれば、他のボタンには作用しない。

$ imwheel -b "4 5"

serviceファイルのExecStartも

-ExecStart=/usr/bin/imwheel -d
+ExecStart=/usr/bin/imwheel -b "4 5" -d

とすればOK

参考

  • IMWheel - ArchWiki
    • ホイールスクロールのみ指定する方法がこの通りでなくて少し手間取ってしまった。