久々にPokecom GO(PB-100の方)に手を入れました。
少し前から外付けキーボード対応の件で苦戦していたのですが、、
外付け入力デバイスのキーボード(USBやBluetoohいずれも)やゲームコントローラに関しては、そもそも Android が標準で対応しているため、接続すれば勝手に認識してくれて、プログラム内でも普通にイベントが起こって dispatchKeyEvent() が呼ばれます。
なので、呼ばれた先をインプリするだけで処理はできるのですが、
ハマっていたのはフォーカス問題です。
この記事で言っているように、ボタンなどのオブジェクトはシステムがフォーカスを勝手に切り替えたりするので、その結果さまざまな悪さをしてしまいます。
なので、フォーカス切り替えが起こらないやり方がないか調べていました。
で、ボタン類の上位のレイアウトで、
 android:descendantFocusability="blocksDescendants"
と指定してあげれば、一切フォーカスを取りに行かないことが判明しました。
かなり悩みましたが、これで解決です。やったー!

ということで、外付けキーボード対応して PlayStore にアップしました。
ローカルでもこっちで公開しています。
SHARPの方にも反映しないといけないな。ってかこっちが本命なんだけどね。

最近は Chrome book とか Windows11 で Android アプリが動くので、物理キーボードの入力に対応していないと色々不便だよなー。

ってことで。