読者です 読者をやめる 読者になる 読者になる

『のどか』によるマウスカスタマイズを改良したあれこれ

 前回、「『のどか』のマウスフック機能を使って横スクロールを実装するぞ」という記事を書きましたが、そのあとで気がついたり改良したりしたことがいくつかあるのです。

その1:「TiltLeft」と「TiltRight」

 『のどか』のマウスイベントに横スクロール(チルト)を表わす「TiltLeft」と「TiltRight」があることに気がつきました。なんだ、『Firefox』の横スクロールは[←] [→]で実現する、なんてする必要ないじゃん。というわけで、『Firefox』の横スクロールは「TiltLeft」と「TiltRight」で実装することにしました。Twitterでもばっちり横スクロールできました。

 なお、『Firefox』以外のウインドウでは「TiltRight」と「TiltLeft」が利かない?ようなので、「S-*WheelForward」などのままです(『ZTop』経由で横スクロール)。

その2:マウスホイールで高速スクロール

 やっぱり『FireGestures』で実装していた高速スクロールを『Firefox』だけじゃなくて全アプリケーションで使えるようにしたかったので、『のどか』で設定することにしました。[拡張ボタン2]+[ホイール]に[PageUp] [PageDown]を割り当てます。[拡張ボタン2]を押しながらホイールを回すと、[PageUp] [PageDown]が発動して、ふつうより加速してスクロールされる感じになります。

 なお、これで『FireGestures』の高速スクロールに設定していた[右ボタン]+[ホイール]が空いたので割り当てを変更します。まず「右ボタン押しながら上スクロール」を「文字サイズのみ変更 - 拡大」にしました。文字サイズが小さすぎて読みにくいWebページは多い。「文字サイズのみ」にすることで、文字のサイズだけ変更したい場合はマウス、画像なども含めて拡大したい場合はキーボードの[Ctrl]+[+]という使い分けもできます(「表示」→「ズーム」→「文字サイズのみ変更」のチェックは外す)。

 さらに、「右ボタンを押しながら下スクロール」には「文字サイズの変更 - リセット」にしました。ふつうに考えると「文字サイズの変更 - 縮小」にするところですが、文字サイズを最初より小さくしたい場合は少ない。文字サイズを小さくしたい場合というのは大きくした文字サイズを元に戻したい場合がほとんどなので、この方が実用的です。

f:id:y_koutarou:20150913184244p:plain

その3:高速スクロール発動ボタンを[拡張ボタン1]に

 その2で設定した高速スクロールが便利すぎるので、少しでも押しやすい[拡張ボタン1]で高速スクロールしたくなったので、横スクロールと入れ替えました。つまり、[拡張ボタン1]+[ホイール]を高速スクロール、[拡張ボタン2]+[ホイール]を横スクロールにしました。

その4:操作対象ウインドウはマウスカーソル直下ではない?

 前回、[拡張ボタン2]+[左ボタン]のウインドウを閉じるの設定の説明で「マウスカーソルの下にあるウィンドウを閉じます」と書きましたが、違いました。この設定だと「アクティブウィンドウを閉じる」になります。ごめんなさい。前回の記事も修正しました。

 さらに、そのほかの設定も、変更後の操作がマウスかキーボードかによって操作対象のウィンドウが異なることに気がつきました。変更後の操作がマウス操作の場合は「マウスカーソル直下のウィンドウ」が操作対象になる(ことが多い)。変更後の操作がキーボードのキーの場合は「アクティブウィンドウ」が操作対象になる。例えば、[拡張ボタン1]+[マウスホイール]での高速スクロールは、その操作がされたら[PageUp] [PageDown]が押されたことにすることで実現しているので、マウスカーソルの位置とは関係なくアクティブウィンドウが対象になります。

 ふつうのマウス操作・キーボード操作がそうなのだから当然の挙動ですが、統一が取れてなくてやや違和感があります。できれば、(変更後がどうあれ)変更前の操作がマウスであればマウスカーソル直下のウィンドウが操作対象になるようにしたいところですが……。

その5 [拡張ボタン2]+[右クリック]を[Enter]に

 前回は空きになっていた[拡張ボタン2]+[右クリック]は、[Enter]を割り当ててみました。主にダイアログボックスの「はい」ボタンなどを押すのに使います。今まで、マウス使用中に親指をちょっと伸ばしてテンキーの[Enter]を押すことがときどきあったな、と思い出したので。

設定ファイル

 以上の点を踏まえた『のどか』の設定ファイルが以下のものです。

# 【マウス】
def option mouse-event = true

mod Mod3              += !!XButton1      # 拡張ボタン1をモディファイヤ3に
mod Mod4              += !!XButton2      # 拡張ボタン2をモディファイヤ4に
key M3-*WheelForward  = *PageUp          # 拡張ボタン1を押しながらホイールで高速スクロール
key M3-*WheelBackward = *PageDown        # 
key M3-*LButton       = &WindowMinimize  # 拡張ボタン1を押しながら左ボタンでウィンドウを最小化
key M3-*RButton       = &WindowMaximize  # 拡張ボタン1を押しながら右ボタンでウィンドウを最大化/元に戻す
key M4-*WheelForward  = S-*WheelForward  # 拡張ボタン2を押しながらホイールで横スクロール(『ZTop使用』)
key M4-*WheelBackward = S-*WheelBackward # 
key M4-*LButton       = &WindowClose     # 拡張ボタン2を押しながら左ボタンでウィンドウを閉じる
key M4-*RButton       = *Enter           # 拡張ボタン2を押しながら右ボタンで[Enter]

window Firefox /firefox\.exe/ : Global   # 以下は『Firefox』用の設定
key M4-*WheelForward  = TiltLeft         # 拡張ボタン2を押しながらホイールで横スクロール
key M4-*WheelBackward = TiltRight        #