1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

TaskerとAutoToolsで仮想キーボード切り替え

Last updated at Posted at 2023-12-23

TaskerとAutoToolsで仮想キーボード切り替え

0. 前書き

0. 前書き

前記事のAndroid版のGNU Emacsについてで少し触れた、Androidでアプリケーション毎に仮想キーボードを切り替える方法について説明します。参考にしたのはHow to Automatically Change your Keyboard on a Per-App Basisという記事です。

1. 事前準備

キーボード切り替えにはTaskerとAutoToolsというアプリケーションを使うことにします。それらをインストールしたり切り替えに必要な権限を付与したりします。

1.1 Androidデバイス

まずは実際に切り替えを行いたい実機であるスマホ、すなわちAndroidデバイス側の順日です。

1.1.1 Taskerのインストール

Google PlayのTaskerをインストールします。お値段は$3.49。

1.1.2 AutoToolsのインストール

./configure && make && make installによるパッケージのビルドとインストールを実現するために、GNUにもautotoolsと総称されるツール群が存在しますが、今回インストールしたいのはGoogle PlayのAutoToolsという別物です。こちらは無料版をインストールしてからアプリ内購入($3くらいだったか?)して完全版をインストールしました。

1.1.3 開発者向けオプション

機種ごとに若干異なると思われますが設定->端末情報->ソフトウェア情報のビルド番号、あるいは設定->タブレット情報のビルド番号、あるいはカーネルバージョンを激しくタップしてください(グラディウスⅢのアーケードモード突入時みたいな感じ)。設定に開発者オプションというページが追加される筈です。そのページでUSBデバッグをオンにしてください。

Android 11からはUSBに加えてWifi経由のデバッグが可能らしいので、PCを使わずAndroidのTermuxにandroid-toolsをインストール、ワイヤレスデバッグ経由で自デバイス(127.0.0.1:5555とか)に接続してadbコマンド叩けるかもしれないです。わたしのスマホはAndroid 8.0.0なので最初だけUSBで繋いでIs there a way to enable wireless debugging on an Android 8.0 device?の記事を参考にワイヤレス接続したりしてますが、特に必要ではありません。

1.2 PCホスト

AndroidにインストールしたTaskerに権限を付与するためには、そのAndroidデバイスに接続してadbコマンドで権限を付与する必要があるのでadbコマンドをインストールします。

1.2.1 adbのインストール

Android Studioをインストールすれば一緒にインストールされるようですが、adbコマンドさえあれば良いので、手元の環境に合わせてインストールしてください(わたし?場合はsudo apt-get install adbでした)。

1.3 PCホストとAndroidデバイスを接続

USBでデバイスとホストを接続します。デバイスにアクセスを許可するか同意を求めるダイアログが表示されるので許可してください。許可した後にホスト側でadb devicesというコマンドを叩くと以下のように表示される筈です。

~$ adb devices
List of devices attached
e82ee5ae        device

1.3.1 adbでAutoToolsに権限付与

ホスト側で以下のコマンドを叩きます。これで準備は終了。

~$ adb shell pm grant com.joaomgcd.autotools android.permission.WRITE_SECURE_SETTINGS

2. タスク作成

TaskerとAutoToolsどちらも起動すると色々権限を許可するようポップアップ表示歯てくると思います。わたしは面倒なので片端から権限を与えましたがバッテリー最適化の無効、システム設定変更可能の権限を付与すれば大丈夫でしょう。

2.1 Taskの作成

Taskerを起動して色々なTipsやリマインダーを抜けるとプロファイル画面が表示されるので右下にある+印をタップ、TaskerNetの既存のプロファイルを入手するか、あるいは自分で作成するかというリマインダーが表示されるのでリマインダーを閉じるかCreateをタップします。すると以下のようなポップアップが表示されるのでアプリをタップしてください。

Screenshot_20231223-000948.png

すると以下のようにデバイスにインストール済みのアプリの一覧が表示されるのでプロファイルを作成したいアプリ、今回の場合はEmacsを選択してから前画面に戻ってください(戻るだけです)。

Screenshot_20231223-001026.png

プロファイル画面にタスクが空のEmacs用プロファイルとともに新しいタスクというポップアップが表示されている筈です。それをタップしてタスクを追加します。

Screenshot_20231223-001058.png

オプションを入力するらしい?ポップアップが表示されますが、何も入力せずに右のレ点をタップします。

Screenshot_20231223-001125.png

タスク編集という画面が表示されるので+印をタップしてください。するとアクションのカテゴリーを選択するためのポップアップが表示されます。

Screenshot_20231223-001126.png

カテゴリーからプラグインを選択すると、システムで利用可能なプラグインがポップアップされます。AutoToolsと課金版にアップグレードしたときに追加されたっぽいAutoAppsとAutoInput、わたしはTermuxにTermux:Taskerというプラグインもインストールしてるのでそれも追加されています。

Screenshot_20231223-001245.png

Termux:Taskerというプラグイン、使いどころがいまいち判らず関心もなかったんですが、名前のとおりTaskerのプラグインとしてTermuxのコマンド(や自身のTermuxプログラムとかスクリプト)を実行できるのが嬉しいプラグインだったのですねー。(たしか)Termux-APIでインストールされる$PREFIX/usr/bin/termux-*にはスマホのHWを制御できるコマンドが沢山あるので、こりゃ面白そうでござる。

他のプラグインも気になりますがとりあえずAutoToolsを選択、するとアクションを選択するためのポップアップが表示されるのでSecure Settingsを選択してください。「絶対動くとは限らんで〜」みたいな警告は構わず閉じてしまいましょう。

Screenshot_20231223-001305.png

Screenshot_20231223-001345.png

するとアクション編集画面が表示されます。右上にある鉛筆アイコンをタップしてください。

Screenshot_20231223-111653.png

今度はフィールド入力画面が表示されるのでServicesをタップしましょう。
Screenshot_20231223-111706.png

サービス入力画面が表示されたら一番上にあるInput Methodをタップ。
Screenshot_20231223-111715.png

IM選択
Screenshot_20231223-001437.png

何か同意を求める画面がでたら許可しましょう。
Screenshot_20231223-001550.png

Taskerの一番前の画面まで戻るとEmacsアプリケーション遷移時のアクションが登録されている筈です。緑色矢印右側にあるアクションをロングタップするとオプションがいくつか表示されるので終了タスクを追加を選択してください。

Screenshot_20231223-001705.png

後はこれまでの手順を繰り返してEmacsから他アプリに遷移する際にInput Methodにデフォルトのキーボードを指定すればOKです。使った感じでは瞬時に切り替わるのではなく、2秒ほど切り替えにかかります。

おしまい

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?