左利きでも使えるトラックボールマウス!安い!ということで購入したロジクールのTM−150r。
LOGICOOL 有線 レーザー式 4ボタン マーブル TM-150r
- 出版社/メーカー: ロジクール
- 発売日: 2013/04/19
- メディア: Personal Computers
- この商品を含むブログ (3件) を見る
追記 2021/08/16
現在はTM-150rの後継機としてTM-150nが販売されています。大きな違いはないようです。現在も愛用していますが、裏の滑り止めゴムが外れてしまいました。しかし、ボタンやスクロールなどの操作は問題なく、通常通り使えています。
このマウスはスクロールの部分がなく、その点が不便なわけですがMacでは他のアプリなどを使って設定すればトラックボールの部分でスクロールができる。
という情報があったので購入しました。
ところがこのマウス、最近のOSアップデートによってトラックボールの部分でスクロールできるよう設定するアプリがSierra以降使えなくなっていて現在はKarabinerというアプリで代用されている模様。
で、このKarabinerを入れれば解決だろうと思ってやってみたところMapping RightClick+CursorMove to ScrollWheelのチェックマークがない!
\(^o^)/オワタ
このままではせっかく買ったマウスが無駄になってしまってまずいと思い、色々サイトを探していると解決できたような記述を発見。
英語のサイトだったのでグーグル先生に翻訳してもらって解読してみると
Hammerspoonというアプリで解決できそうな感じが。
設定方法
まず、Hammerspoonをダウンロード。インストールします。
Hammerspoonを開いたら上メニュー(バー?)のFileからOpen configをクリック。
すると、xcodeのようなコードを書く画面が出てきます。
このコードを書く画面に上記サイトの
I had the same problem, but I prefer to use right mouse button to init scrolling,という文章から始まる人の
-- HANDLE SCROLLING
local deferred = false
から始まるソースをコピー。
Hammerspoonに貼り付けてReload configをクリック。コードの内容が読み込まれ、エラーが出なければ成功です。
追記 2021/08/16
私が今使っているHammerspoonのコードを書き込んでおきます。
-- HANDLE SCROLLING
local deferred = false
overrideRightMouseDown = hs.eventtap.new({ hs.eventtap.event.types.rightMouseDown }, function(e) --print("down")) deferred = true return trueend)
overrideRightMouseUp = hs.eventtap.new({ hs.eventtap.event.types.rightMouseUp }, function(e) -- print("up")) if (deferred) then overrideRightMouseDown:stop() overrideRightMouseUp:stop() hs.eventtap.rightClick(e:location()) overrideRightMouseDown:start() overrideRightMouseUp:start() return true end
return falseend)
local oldmousepos = {}local scrollmult = -4 -- negative multiplier makes mouse work like traditional scrollwheeldragRightToScroll = hs.eventtap.new({ hs.eventtap.event.types.rightMouseDragged }, function(e) -- print("scroll");
deferred = false
oldmousepos = hs.mouse.getAbsolutePosition()
local dx = e:getProperty(hs.eventtap.event.properties['mouseEventDeltaX']) local dy = e:getProperty(hs.eventtap.event.properties['mouseEventDeltaY']) local scroll = hs.eventtap.event.newScrollEvent({dx * scrollmult, dy * scrollmult},{},'pixel') -- put the mouse back hs.mouse.setAbsolutePosition(oldmousepos)
return true, {scroll}end)
overrideRightMouseDown:start()overrideRightMouseUp:start()dragRightToScroll:start()
エラーが出るときはシステム環境設定のセキュリティーとプライバシーのアクセリビリティからHammerspoonの制御を許可してないと思うので許可してください(最初これやってなくてエラー出て少し悩みました)
これで左(大)ボタンを押しながらトラックボールを動かすとスクロールできるようになると思います。
Logicoolのアプリで小さなボタン2つの設定もできます。私は戻るを右ボタン(小)に、進むを左ボタン(小)に設定しています。