InputManager.frameworkを呼び出して、日本語入力Input Methodの入力文字の切り替えを行うAppleScriptです。
macOS標準装備のスクリプトエディタ上ではControl-Command-Rで実行できましたが、Script Debugger上で動かなかった(メインスレッド上で強制実行する必要があった)ので、切り替えメソッドを強制的にメインスレッド上で実行するように変更してみました。
–> InputManager.framework (To ~/Library/Frameworks)
macOS 10.14上で実行する場合には、(フレームワーク呼び出しの都合上)Script Debugger上で実行してください。
AppleScript名:InputManagerでIMを切り換える v2 |
— Created 2017-01-22 by Takaaki Naganoya — 2017 Piyomaru Software use AppleScript version "2.4" use scripting additions use framework "Foundation" use framework "InputManager" –https://github.com/jensnockert/input-manager –Caution: This script runs on only Japanese language environment set cList to current application’s CSInputSource’s all() set dList to (cList’s valueForKey:"localizedName") set aRes to ((dList’s indexOfObject:"ひらがな") as integer) –"Hiragana" in Japanese set bRes to ((dList’s indexOfObject:"英字") as integer) –"English Letters" in Japanese set hiraKey to cList’s objectAtIndex:aRes set engKey to cList’s objectAtIndex:bRes repeat 3 times my performSelectorOnMainThread:"selectInputCharMode:" withObject:(hiraKey) waitUntilDone:true delay 1 my performSelectorOnMainThread:"selectInputCharMode:" withObject:(engKey) waitUntilDone:true delay 1 end repeat –Force execute on Main Thread on selectInputCharMode:aModeObj aModeObj’s |select|() end selectInputCharMode: |
More from my site
(Visited 86 times, 1 visits today)
Switch Controlがオンになっているか調べる – AppleScriptの穴 says:
[…] Switch Controlがオンになっていると、InputManager側から見えるので […]