入力する句読点の「、」と「,」を切り替えるAppleScript
日本語入力の読点、普段は「、」を使っている人でも公文書や引用文では「,」を使わなきゃいけなかったりして、入力方法をサッと切り替えたい時があるかもしれません。
OSXの標準日本語入力IMEではシステム環境設定から変更する必要があるため、めんどくさい。
自動化しましょう。
tell application "System Preferences"
activate
tell pane "com.apple.preference.keyboard"
tell anchor "InputSources"
reveal
delay 1
tell application "System Events"
tell window 1 of application process "System Preferences"
(* OS標準日本語入力を使ってる時だけ。 *)
tell splitter group 1 of group 2 of tab group 1
repeat with theRow in rows of table 1 of scroll area 1
if name of the UI element 1 of theRow is "日本語 – ローマ字入力" then
set selected of theRow to true
(* 句読点入力を切り替える。 *)
tell pop up button 3 of scroll area 2
click
if selected of (menu item "。と 、" of menu 1) then
set selected of (menu item "。と ," of menu 1) to true
else
set selected of (menu item "。と 、" of menu 1) to true
end if
keystroke return
end tell
exit repeat
end if
end repeat
end tell
end tell
end tell
end tell
end tell
end tell
細かい説明
システム環境設定の「入力ソース」を表示させるところまでは、System Preferences.appがAppleScriptでの制御に対応しているので、サクッと表示させることができます。
tell application "System Preferences" (* システム環境設定.appを *)
activate (* アクティブ化し *)
tell pane "com.apple.preference.keyboard" (* 「キーボード」環境設定の *)
tell anchor "InputSources" (* 「入力ソース」を *)
reveal (* 表示する *)
(* 以下略 *)
しかし、表示したその先の部分は直接いじることができない。(ユーザーが任意のIMEをインストールできるから、SystemPreferences.appの責任範囲ではないってことかもしれません。)
そこで、System Events
を使ってUIを操作する方法で操作してみます。このやり方はOSのバージョン変更等によってUI構成が変わると動かなくなるので、変更に弱いのが難点ですが、仕方ない。
どこに何があるかは、every UI element
を表示させたりしながら頑張って絞り込んでいきましょう。ファイト!調べた結果、ざっくりこんな感じでした。
そこでまず、scroll area 2 に日本語 – ローマ字入力
の設定パネルを表示させましょう。
(* 前略 *)
tell application "System Events"
tell window 1 of application process "System Preferences" (* システム環境設定.appのウィンドウの *)
tell splitter group 1 of group 2 of tab group 1 (* 真ん中らへんに表示されてる部分の *)
repeat with theRow in rows of table 1 of scroll area 1 (* scroll area 1 の中の表の各行のうち
if name of the UI element 1 of theRow is "日本語 – ローマ字入力" then (* OSX標準日本語IMEを *)
set selected of theRow to true (* 選択する *)
(* 以下略 *)
そしたら、設定パネルから「句読点の種類」の選択肢を、開いて、選ぶ。
tell pop up button 3 of scroll area 2 (* "句読点の種類"ポップアップボタンを *)
click (* クリックして選択肢を表示させ *)
if selected of (menu item "。と 、" of menu 1) then (* 今「。と、」だったら *)
set selected of (menu item "。と ," of menu 1) to true (* 「。と,」に変更 *)
else (* それ以外の場合は *)
set selected of (menu item "。と 、" of menu 1) to true (* 「。と、」に変更 *)
end if
keystroke return (* 確定 *)
で、あとは、タイムラグでの操作ミス対策に適当にdelay
を入れたり、ちょうど良いタイミングでループを抜けたりさせたら完成です。
これを「スクリプトメニュー」に登録しておけば、入力する読点を「、」⇄「,」で切り替えられるってなもんよ。
Enjoy!
Author And Source
この問題について(入力する句読点の「、」と「,」を切り替えるAppleScript), 我々は、より多くの情報をここで見つけました https://qiita.com/kasanma3104/items/48278347f2a6a9f42423著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .