Helium314 / HeliBoard

Customizable and privacy-conscious open-source keyboard
Apache License 2.0
2.42k stars 96 forks source link

Android TV Support #416

Open Handrail9 opened 9 months ago

Handrail9 commented 9 months ago

Is your feature request related to a problem? Please describe.

OpenBoard (This fork and the original) does not work properly on Android TV. The keyboard shows up but the remote can not select characters to input. Describe the solution you'd like

I would like to be able to replace Gboard on Android TV with Openboard, but can't at the moment due to lack of support. If I were to take a guess at how this would be implemented it would be automatic detection of a directional input (such as an Android TV remote D-Pad, Gamepad, or keyboardkeys) and a small boarder around the selected key. Then "OK" or "Enter" or "A" or what have you, to input that character. This feature may also be helpful in aiding with accessibility. Use case

My box is rooted and I have almost completely degoogled it. I'd also like to be able to use FUTO Voice Input, which Gboard will not allow, even on Android TV. Describe alternatives you've considered

I have not found an open source Android TV Keyboard. Additional context

Thank you to the contributors to their active development of this amazing product :)

Helium314 commented 9 months ago

So the remote sends key events like arrow keys? Intercepting such events on TV only should be simple. Showing some sort of selection marker and making it move correctly is a bit more work.

Handrail9 commented 9 months ago

So the remote sends key events like arrow keys? Intercepting such events on TV only should be simple. Showing some sort of selection marker and making it move correctly is a bit more work.

I do want to mention I'm not a developer myself (yet) so I'm only making guesswork of how an Android TV Remote works. I was going to try connecting a USB keyboard to test my theory when my MicroUSB to USB OTG cable came in. I want to thank you again for your work on this keyboard and understand that the feature I'm asking for is a lot to implement lol

Generator commented 7 months ago

So the remote sends key events like arrow keys? Intercepting such events on TV only should be simple. Showing some sort of selection marker and making it move correctly is a bit more work.

Yes, Android TV only use arrow keys for movement and Enter for OK.

There's Leanback Keyboard that works with Android TV, if you want to look at it https://github.com/yuliskov/LeanKeyKeyboard

Remote Key codes https://developer.android.com/training/tv/start/controllers#tv-ui-events