birdMac OS XでMouse Button4/5をブラウザの戻る/進むにマップする, きょうのつぶやき@digitune

Mac OS XでMouse Button4/5をブラウザの戻る/進むにマップする

LOGICOOL ワイヤレス レーザー式 3ボタン ダークシルバー M325DSLogicoolのM325のようなMac OS X標準のマウスドライバを使うマウスの場合、仮にマウス側にButton4や5などがあっても1そのままでは利用することができませんでした。軽くググッてみると、Steermouseといったシェアウェアを使うことで利用可能にすることも出来るようですが、Linux上などではXmodmapなどを使いそのあたりのmappingをホゲりまくっている者としては、たかだかマウスボタンのマッピングを弄るためだけにシェアウェアを購入する、というのもなんだかちょっと納得が行きません<えーケチ。

そんなわけでマウスのButton4、5をRemapすることは出来ないか、という方針でググッてみたところ、Karabinerというツールを見つけました。こちらのツールでは、XMLファイルを定義することで、ポインティングデバイスのボタンやキーマップを変更することが可能なようです。デフォルトでもたくさんのRemap例が定義されており、その中にはまさに今回のケースにドンピシャの「Button4をブラウザの戻る(Command+[)に割り当てる」というものもあったんですが、JISキーボードではうまく動作しないようでした。

というわけで、同ツールで用意されているprivate.xmlを用意して読み込ませる、という機能で、下記のようなXMLを用意することで無事Button4、5を使えるように(ホイールチルトでブラウザの戻る、進むを起動)することが出来ました。

<?xml version="1.0"?>  
<root>  
  <item>  
    <name>Private: Enable Button4 and 5 (JIS)</name>  
    <identifier>private.enable_button4and5</identifier>  
    <autogen>  
      __KeyToKey__  
      PointingButton::BUTTON4,  
      KeyCode::JIS_BRACKET_LEFT, ModifierFlag::COMMAND_L  
    </autogen>  
    <autogen>  
      __KeyToKey__  
      PointingButton::BUTTON5,  
      KeyCode::JIS_BRACKET_RIGHT, ModifierFlag::COMMAND_L  
    </autogen>  
  </item>  
  <item>  
    <name>Private: Middle Button to Command+Shift+Left Button</name>  
    <identifier>private.middle_button_to_command_shift_left_button</identifier>  
    <autogen>  
      __KeyToKey__  
      PointingButton::MIDDLE,  
      PointingButton::LEFT, ModifierFlag::COMMAND_L | ModifierFlag::SHIFT_L  
    </autogen>  
  </item>  
</root>  

なお上記private.xmlを作るにあたっては、こちらのような偉大な先達のページに大変お世話になりました。どうもありがとうございます。

追記。ホイールクリック (Middle button) を「新しいタブで開いてそのタブをアクティブに (Command+Shift+Left button)」に割り当ててみました。

きょうのつぶやき@digitune

いちおうWD Boostプリインストールはされているのか>VAIO Fit 14A 工場出荷時にインストールされていたソフトウェア一覧メモ http://did2memo.net/2014/04/12/vaio-fit-14a-pre-installed-software/ (08:24 Twitter for Websitesから)

雨降ってると元気が出ないにゃー。 (12:27 Twitter Web Clientから)

WillcomじゃなくなったY!mobileには何の思い入れもないし、家族の回線を全部MVNOに移行(繋がる人はLINE、Hangout等で、そうじゃない人は楽天でんわとか使うことにして)すると、結構月々の通信料が減るんだよな。MNPも出来るようになったし真面目に検討しようかな。 (18:07 Twitter Web Clientから)

とはいえ、僕の回線はおさいふケータイを使いたいがだけのためにキャリア回線から離れられないのだけれど。 (18:13 Twitter Web Clientから)

以前から、Magic Mouseのタッチ機能の感度が良すぎて、ブラウザの進む/戻るの誤爆やGoogle Mapが勝手にZoom in/outしてしまうなどの現象に困っているのだが、過去何度かググってみてもなかなか効果的な解決策が見つからず。みんな困ってないのかな。 (18:42 Twitter Web Clientから)

Google Mapの件の方はGoogle Groupsに英語のthreadがあったのだけれど、2009年春に立てられたそのthread、同じように困っている人がたくさんコメントしているにも関わらず、5年経った今でも効果的な解決策が示されていないようでちょっと笑ってしまった。 (18:44 Twitter Web Clientから)

LOGICOOL M325DSふと、以前少しはマシになるかもと思って繋いでみるも、スクロールはガコガコだしチルトホイールは使えないし、でお蔵入りしていたロジクールM325マウスのことを思い出し、ちょっと追求してみることにしました>LOGICOOL M325DS http://www.amazon.co.jp/dp/B004WA61IE (20:13 Twitter Web Clientから)

まず、Magic MouseやTrackpadなら初めからスムーズなスクロールについては、ことChromeでのブラウジング時の話ならばChromium Wheel Smooth Scrollerのような機能拡張を使えばスムーズに出来ることはWindowsでも経験済み。 (20:17 Twitter Web Clientから)

ちなみにデフォルトのパラメータだと僕としてはしっくり来なかったので、Step Size=80、Smoothness(Forepart)=100、Smoothness=1、Acceleration Sensitivity=1に変更して使っています。 (20:19 Twitter Web Clientから)

で、次にチルトホイールの方ですが、この問題の根本的な原因は、Logicoolが専用マウスドライバを提供していない=Mac OS X標準マウスドライバだとButton4や5に対して何も動作を割り当てていないこと。なのでそれらのボタンを特定のKeyにマップ出来れば勝利です。 (20:22 Twitter Web Clientから)

そんなわけで、ググる先生で「mac mouse button 4 and 5」などと聞いてみると、Mac OS X用のXmodmapみたいなutility、KeyRemap4Macbook改め「Karabiner」に関する情報が出てきます。今回はこちらを使うことにしました。 (20:24 Twitter Web Clientから)

Karabinerを使ってマウスのButton4+5をブラウザの戻る/進む(具体的にはCommand+[と])に割り当てるという対応はもう超FAQな感じで組み込みのスクリプトにも含まれていますが、JISキーボードを使う我々日本人の場合そのままではちゃんと動作しませんでした。 (20:27 Twitter Web Clientから)

そんなわけで、こんなprivate.xmlを用意して読み込ませることで、無事button4、5を有効化することが出来ました>Digitune [memo] - Mac OS XでMouse 4/5をブラウザの戻る/進むにマップする http://memo.digitune.org/?date=20141129 (20:47 Twitter for Websitesから)

Logicool M325は安いわりに良いマウスなんですよね。物理ボタン&ホイールはやっぱり良いなぁ!電池も超持つし。しばらくはこのマウスを使うことにしてみよう。なんだかだんだんMacっぽく無くなってきたけど(^^;。 (20:57 Twitter Web Clientから)

ちなみにホイールクリック(middleボタン)にはまだ何も機能を割り当てていません。何に割り当てると便利だろう? (21:00 Twitter Web Clientから)

Chromium Wheel Smooth Scrollerの設定、Step Sizeは120くらいの方が良いかも。 (22:25 Twitter Web Clientから)


  1. M325ではホイールをチルトしたときの操作がButton4(左)と5(右)に割り当てられています。 ↩︎