keyhac
Macをsierraにアップグレードしたらkarabinerが使えなくなったので、かわりにkeyhacを試してみる。
keyhacはkarabinerとちがって、コントロールキーとコマンドキーを交換という定義ができず、常に
keymap["Ctrl-a"] = "Cmd-a"
というふうにメインキーとの組み合わせで定義しなければならないもよう。これは非常の多くの組み合わせがあり、かつ複数のアプリケーションで定義したいので、いちいち全部をconfig.pyに書くのはつらい。そこでメソッド化。
def changeKey(keymap):
keymap["Ctrl-a"] = "Cmd-a"
keymap["Ctrl-c"] = "Cmd-c"
keymap["Ctrl-d"] = "Cmd-d"
keymap["Ctrl-f"] = "Cmd-f"
keymap["Ctrl-p"] = "Cmd-p"
keymap["Ctrl-q"] = "Cmd-q"
keymap["Ctrl-r"] = "Cmd-r"
keymap["Ctrl-s"] = "Cmd-s"
keymap["Ctrl-t"] = "Cmd-t"
keymap["Ctrl-v"] = "Cmd-v"
keymap["Ctrl-w"] = "Cmd-w"
keymap["Ctrl-x"] = "Cmd-x"
keymap["Ctrl-z"] = "Cmd-z"
return keymap
を作り、
keymap_chrome = keymap.defineWindowKeymap(app_name="com.google.Chrome")
keymap_chrome = changeKey(keymap_chrome)
で呼び出すようにする。