macOS Sierra でのキー入れ替え

長年使ってくると、効率良く使いたいって欲望が出てくるのは普通のこと。
そのために、キーボードを入れ替えるのは良くある。
さらに、配置やCTRL、コマンドキーに変わるものを導入するのも自然な流れ。

という訳で、これまではKarabinerを使ってたんですが、Sierraでは使えないとうまさかの事態!
Karabiner-Element ってのが代わりに出てますが、開発中でキーの入れ替えしかできない。
「⌘英かな」という別のソフトも出てますが、これも入れ替えに対応していて、ユーザー定義のモディファイヤーはまだ。

探してみたら、まさかのkeyhacが対応しているとは!
元はWindowsで有名なコマンドラインランチャー「CraftLaunch」(Alfredみたいなもの)を開発した人で、その人が作ったキー入れ替えソフトが「keyhac」。
管理者権限も不要で使えたので、限定されたときは使ってたんですが、ドライバをインストールするタイプにくらべると遅かったので、あまり使ってませんでした。
それが、mac版いれてみたら、かなり快適!

入力にAquaSKK使ってる人に多いSandS(Space and Shift)も簡単に設定できました。

インストール

ダウンロードやマニュアルは↓から。インストールまでは簡単じゃないかと。
https://sites.google.com/site/craftware/keyhac-ja

インストール後にまずやること。

設定には親切に色々な機能が盛り込まれてます。
右シフトが削除になってたり。
自分が理解できるために、がっつり削除しましょう。

import sys
import os
import datetime
import subprocess

from keyhac import *

これで、真っ新。

SandSにする。

以下を追記するだけ。

def configure(keymap):
    keymap_global = keymap.defineWindowKeymap()
    keymap.replaceKey("Space", "RShift")
    keymap_global["Ctrl-RShift"] = "Ctrl-Space"
    keymap_global["O-RShift"] = "Space"

これは以下の設定をしています。
3行目:スペースキーと右シフトキーを入れ替える
4行目:CTRLキーと右シフトキーを押す(上の行で入れ替えてるので、押すキーはCTRLキーとスペースキー)と、CTRL+Spaceを送る。これはAlfredでのホットキーをCTRL+Spaceにしているので、その対応。
5行目:右シフトキーを押したときに、他に何もキーを押さなかったらSpaceを押した状態にする。これが「ワンショットモディファイヤー」と呼ばれる機能になります。RShiftの前にある「O-」がこいつはワンショットモディフィヤーですよということ。

この内容にすると右シフトキー単独で入力した場合もSpaceが押された状態になるのでそれだけは注意を。

でもって、保存したら、keyhacのアイコンから「設定のリロード」を選べばOK
これでSandSが使えるようになりました。しかも反応速度はまったく問題がない!

次はSKK使いには不要な「英数」と「かな」の活用について