Gemini PDA は物理キーボード付きの端末なので、なるべく画面に触らずにキーボードショートカットで諸々やりたいわけです。
わかりやすいところでは、Ctrl+C と Ctrl+V でコピー&ペーストみたいなやつ。
でもどんなショートカットがあるのかよくわかんねえなぁ。
ってことで、Android 7.0 以降には「キーボードショートカットヘルパー」という機能があります。
キーボードをつなげた端末ではわりと便利な機能でして、Meta キー(一般的なキーボードではWindows キー)を押しながら「/」を押すと使えるショートカットの一覧が表示されるというものです。
設定の「物理キーボード」にある「キーボードショートカットヘルパー」で表示されるやつです。
システム規定のショートカットだけではなく、アプリによって独自のショートカットを一覧に追加できるってのが売りの機能みたい。でもユーザーほとんど誰も知らない。なんとなれば Planet Computers の人も知らない気がする。
下図では虫眼鏡マークが META キーのアイコンです。ちなみに、単体で押すとボイスアシスタントになります。
前述の通り、「Meta」+「/」がキーボードショートカットの一覧を表示するキーなんですが、Gemini PDA には「Meta」も「/(SLASH)」もありません。
以前からちょいちょい話が出てくる User-installable keymaps で個人的には使わない「右 Shift(SHIFT_RIGHT)」 を「Meta(META_LEFT)」に置き換えすればできるんじゃないかと思ってやってみてたんですが、反応しない…
しょうがないので、キー入力を判定している部分のソースコードを探しまして、具体的には PhoneWindowManager.java ってやつがそいつでした。
該当箇所を探したところ、下図。
Meta が押された状態で、KEYCODE_SLASH を押さないと駄目だということがわかりました。
そう、「Shift」+「,(COMMA)」で「/」が出てくるのでは駄目なのです。
ということで、KCM の冒頭に map key で COMMA のキーコード 51 を SLASH に置き換えて対応しました。key COMMA の部分もそのまま key SLASH に書き換えてます。
type OVERLAY map key 54 META_LEFT map key 51 SLASH (中略) key SLASH { label: ',' base: ',' shift: '/' } (後略)
ということで、先程の画像をよく見ると、キーボードショートカットが虫眼鏡+「,」表記になってます。
ちゃんと設定した label を読んでくれてるみたいですね。表記通り Meta + 「,」で表示されます。
本来的には「Meta + ? でヘルプが出る」みたいなイメージ(一般的なキーボードでは「?」はShift+「/」)らしいので、「/」にこだわらずCOMMA じゃなくて、Shift で「?」が出る PERIOD に割り当てても良いかもしれませんね。
さて、ショートカットヘルパーで表示される Meta キーの便利な機能なんですが、個人的には通知をキーボード操作で下げられるのが良いです。
- Meta + Enter で、「ホーム」
- Meta + BackSpace で、「戻る」
- Meta + N で、「通知」が開く
- Meta + L で、「カレンダー」
- Meta + B で、「ブラウザ」
- Meta + E で、「Eメール」
- Meta + C で、「連絡先」
- Meta + P で、「音楽」
なんですが、先程のソースを読んでたら書かれてないショートカットがありました。
Meta + Ctrl + S で、「スクリーンショット」これだと Fn+R と一緒なんですが、Meta + Ctrl + Shift + S で「指定範囲のスクリーンショット」が撮れます。画面がちょっと暗くなるので撮りたい範囲を斜めに画面を撫でて指を離すと好きな場所が撮れる!便利!?でも誰も知らない!!!
アプリごとにショートカットの説明を追加できるんですが、ざっくりとみたところ対応してるの Chrome ぐらい?って思ったらスプレッドシートが対応してました。これは便利だ。たぶん。
Meta キー関連のショートカットは Gemini PDA ではとても重宝すると思うので、 Planet Computers の方もぜひご活用いただければと存じます。報酬は Gemini PDA でいいですよ!
そんなこんなで、実用性は低いんですが User-installable keymaps でこんなことができますよっていうのをまとめて Google Play でオープンベータします。
自分で KCM 試すときに apk 差し替えるのが面倒で Play ストアに内部テスト版でリリースしてアップデートしてたんですが、この記事の Meta が便利なのを手軽に試してもらえるようにオープンベータにしました。
ベータ登録みたいなやつしてインストール後に物理キーボードの設定でキーボードレイアウトを選んでください。
個人的には Meta が試せる 06 がおすすめです。
ベータなのはアイコンないからで、深い意味はありません。
ただの設定事例集なのですが、ちかいうちに KCM の説明まとめたらソースを公開する予定です。
追伸。公開するアプリを Gemini PDA 専用にしようとしたんですが、Google Play 認証端末のカタログに出てこないなぁって Play ストアアプリの設定を見たら…
Planet Computers さん頼むでしかし。
現場からは以上です。