Sierra以前ではKarabinerを使っていたが、SierraではKanabinerは使えない。かといってその代替であるKanabiner-elementsでもマウスボタンのバインドは今のところ出来ない。なのでHammerspoonを使って設定する。
local function mousePress(eventobj)
if eventobj:getButtonState(4) then
hs.eventtap.event.newKeyEvent({'cmd'}, ']', true):post()
hs.eventtap.event.newKeyEvent({'cmd'}, ']', false):post()
end
if eventobj:getButtonState(3) then
hs.eventtap.event.newKeyEvent({'cmd'}, '[', true):post()
hs.eventtap.event.newKeyEvent({'cmd'}, '[', false):post()
end
return false
end
hs.eventtap.new({25}, mousePress):start()
こんな感じで設定すればOK。自分は5ボタンのうち2つのボタンをブラウザバックフォワードに割り当てている。Chromeでブラウザバックやフォワードのショートカットキーが ⌘ + [
なのでマウスボタンが押されたらそれらのショートカットキーが発火するように設定してる。
参考 https://github.com/tarpdalton/dotfiles/blob/tarp/.hammerspoon/init.lua
追記: 2017/10/4 12:45
キーボードがJIS配列の場合、Hammerspoonが [
などを別のキーと認識してしまうので、上記のスクリプトではうまく動かない。なので下記のような設定が必要。@keroxpさんコメントありがとうございます!
https://qiita.com/shim0mura/items/96fad93b2696bc073d23#comment-f56d88456d43739448ad