sendkeys
とは、
任意のキーコードを送出できる、macOS向けのユーティリティコマンドです。
(最新はマウスコマンドの送出も可能)
しかし、日本語キーボードにある『英数』『かな』がありません。そこで、この2つのキーを追加します。
手順
上記GitHubからリポジトリをダウンロードして、数行追加します。
1. ソースコード改修
ダウンロードしたリポジトリのディレクトリを./sendkeys-main
と仮定。
環境により適宜読み替えてください。
sendkeys-main/Sources/SendKeysLib/KeyCodes.swift
//124行目付近
static let keypad7: UInt16 = 0x59
static let keypad8: UInt16 = 0x5B
static let keypad9: UInt16 = 0x5C
+ // JP-Keyboard
+ static let eisuu: UInt16 = 0x66 //英数
+ static let kana: UInt16 = 0x68 //かな
//267行目付近
"keypad7": KeyCodeWithFlags(keypad7),
"keypad8": KeyCodeWithFlags(keypad8),
"keypad9": KeyCodeWithFlags(keypad9),
+ // JP-Keyboard
+ "eisuu": KeyCodeWithFlags(eisuu), //英数
+ "kana": KeyCodeWithFlags(kana), //かな
]
2. ビルド
ビルド&インストールします。
cd sendkeys-main
make build
sudo make install
3. 権限設定
初めてsendkeys
を実行すると 次のダイアログが表示されるので、システム設定 を開いて ターミナル に権限を付与します。


使用例
sendkeys --application-name "Finder" --characters "<c:eisuu>"
Sleep から復帰後に初めてタイプするときに、『日本語』モードのままとなっていて、「あれれ」となることが多々ありました。
そこで、SleepWatcher
を使用して、Sleep から復帰時に上記コマンドにて英数モードに戻すことで、このイライラを解消しました。
USキーボード使用時も問題なく機能します。
以上