【iPhone】背面タップの動作をショートカットから制御する
「背面タップで実行したいショートカット」の名前をファイルに書いておいて、それを読み込んで実行するようにします。
「ショートカットの名前」をファイルに書き込むショートカットと併用することで、背面タップの動作をショートカットで制御することを実現します。
...ショートカットショートカット五月蝿えナ
1. 下準備その1
以下のようなショートカットを作り、「背面タップで実行したいショートカット名」をファイルに (簡単に) 書き込めるようにしておきます。
Back Tap Switcher
※ 「マイショートカットを取得」アクションは"毎回尋ねる"変数を選択して、フォルダを実行時に選択できるようにしておく
※ 「ファイルが存在する場合は上書き」はオンにする。こうしないと切り替え動作がうまく動かない
書き込むファイル名はなんでもいいのですが、ここでは背面タップに関連していることをわかりやすくするために、
"back_tap_action"
としています。
ショートカットが出来たら、実行して背面タップで実行したいショートカットを以下のようにして選択します。
実行例
上の実行例では「screenshot」というショートカットを選択しています。レシピは載せませんが、その動作は名前の通り、「スクリーンショートを撮って保存する」というものです。
すると、「iCloud Drive/Shortcuts」の中に、先程選択したショートカットの名前が書き込まれたファイルが作成されると思います。以下のようになっていればおkです。
ファイル内容の例
2. 下準備その2
以下のようなショートカットを作り、先程ファイルに書き込んだショートカットの名前を読み込んで実行できるようにします。
back_tap_action
※ ファイル名は [下準備その1 ] で使ったものと同じにするようにしてください
ショートカットが出来たら実行して、先程選択したショートカットが実行されたらおkです。
3. 背面タップを設定する
下準備その2で作成したショートカットを背面タップに設定します。とりあえずここではダブルタップに指定することにしました。
設定例
4. 使い方
...といっても特に説明することはない気もしますが、一応まとめておきます。
基本的には、普通にiPhoneの背面をタップ(ダブルタップやトリプルタップ)するだけです。すると、[下準備その1] で作成したショートカットで指定したショートカットを実行することができます。
背面タップの動作(背面タップで実行されるショートカット)を変えたい時は、[下準備その1] で作成したショートカットを再度起動し、他のショートカットを指定すればいいだけです。
5. ダブルとトリプルの両方設定できるようにする
一番シンプルなやり方は、[下準備その1と2] で作成したショートカットを複製し、ファイル名を変更して使う方法です。これについては特に説明する必要もないでしょうから、手順は省略します。
しかしそのためにファイルが2つ出来てしまうのはなんだか無駄な気もするので、ここではファイル1つで実現する方法について紹介します。
といってもテキストファイル(.txt) ではなく、JSONファイルを使うようにするだけですが。
...先ずは、以下のようなショートカットを作成し、(ひとつの)JSONファイルにダブルタップ時に実行するショートカット名と、トリプルタップ時に実行するショートカット名を (簡単に) 書き込めるようにします。
Back Tap Switcher 2
そして、ショートカットが出来たら以下のようにして、JSONファイルにダブルタップ時に実行したいショートカットと、トリプルタップ時に実行したいショートカットを書き込みます。
実行例 [画像のみ]
すると、以下のような内容のJSONファイルが「iCloud Drive/Shortcuts」の中に作られるはずです。
back_tap_actions.json
{"doubletap":"Translate@DeepL","tripletap":"screenshot"}
そうしたら、今度はJSONファイルを読み込むショートカットを作成します。ダブルタップ用とトリプルタップ用の二つ必要です。
変数keyに設定している「テキスト」アクションの内容が異なるだけなので、どちらかひとつを作った後で、もう一方はショートカットの複製を利用しつつ作ればいいと思います。
double_tap_action
triple_tap_action
そしたら後は背面タップに以下のようにして、対応するショートカットを設定するだけです。
これで、ひとつのファイルでダブルタップとトリプルタップの動作を制御できるようになりました。
6. 特定アプリ起動時に背面タップの動作を変更する [発展]
ここでは例として、Twitterを開いた時にここで作成した簡易メモショートカットを背面タップ(ダブルタップ)に設定するようにしてみたいと思います。やり方は簡単で、オートメーションを使ってTwitter実行時にファイルの内容を書き換えてやるだけです。
しかし、ただ単にオートメーションを使って、「Twitterが実行された時にファイルの内容を変更する」としてしまうと、今まで設定していた背面タップの情報(ショートカット名)が失われてしまうので、その点は注意が必要になります。
つまり、今まで設定していた背面タップの情報は、何処かに退避させておく必要があります。
それを行うために、新たに "userdata" という鍵を作る(?)ことにします。レシピ例を以下に示します。まあ2回連続で実行すると "doubletap" の情報が失われてしまいますが、とりあえずはこれでいいはずです。(本当は入れ替えるとかしたほうがいいんだろうね)
change_double_tap_action
例えばファイルが以下のような内容になっていた場合、
{"doubletap":"screenshot","tripletap":"charsCount"}
上のショートカットを実行すると、以下のように書き変わります。"userdata" に"doubletap" の内容が退避されているのがわかります。そして、"doubletap" の内容は書き変わっています。
{"userdata":"screenshot","doubletap":"簡易メモ","tripletap":"charsCount"}
そうしたらあとは以下のようなショートカットを作り、"userdata" の値を戻すようにすれば良いだけです。
restore_double_tap_action
ショートカットが出来たら、Twitterが開いた時のオートメーションと閉じた時のオートメーションを別々に作り、
・開いた時には change_double_tap_action を「ショートカットを実行」アクションで実行する
・閉じた時には restore_double_tap_action を「ショートカットを実行」アクションで実行する
ようにします。もちろん「実行の前に尋ねる」はオフにしておきます。
このようにすることで、Twitterを開いた時には背面をダブルタップすることで簡易メモを起動することができるようになります。また、Twitterを閉じた時には開く前に設定していた元の動作(ショートカット名) を復元することができます。
一つのショートカットで切り替えたい場合は多分以下のようにすればできると思います。こうすればオートメーションはひとつで良くなるはず。(まだ、試してないけど)
・"userdata" の値がないなら、"doubletap" の値を "userdata" に退避させた後、"doubletap" の値を好きなショートカット名に書き換える。
・"userdata" の値があるなら "doubletap" に戻して、"userdata" の値を空にする。
7. まとめ
テキストファイルを使う場合なら、2行以上書き込めるようにして、ファイルから読んだ時に 2行以上 なら「リストから実行するショートカットを選択できる」ようにするとかいう風にしてもいいかもしれません。(JSONの場合は配列?)
まああんまり機能を盛り込みすぎると背面タップの爽快感というかサクサク感が薄れると思うのでオススメしませんが。
では今回はこの辺で。
この記事が気に入ったらサポートをしてみませんか?