iiordanov / remote-desktop-clients

VNC, RDP, SPICE, and oVirt/RHEV/Proxmox Clients for Android and Blackberry 10
GNU General Public License v3.0
2.11k stars 565 forks source link

Hardware keyboard enter keys on Android TV #268

Closed 4nric closed 2 years ago

4nric commented 3 years ago

Both aRDP and bVNC runs just fine even though Android TV isn't officially supported just yet. The only issue is that both enter keys don't work because of how things are being mapped.

I used the app Hardware Keyboard check both on my phone and Android TV to test my hardware keyboard and to determine what key events are triggered. For the enter key near the alphabet keys, KEYCODE_ENTER was triggered on the phone and KEYCODE_DPAD_CENTER was triggered on the Android TV. For the num pad enter key, both triggered KEYCODE_NUMPAD_ENTER.

Enter Key "normally" functions on Chrome and Microsoft Remote Desktop. I assume both apps did some key handling of some sort because in other apps, enter key does nothing. An option at the menu of the remote desktop clients that allows sending of KEYCODE_ENTER to host despite detecting KEYCODE_DPAD_CENTER would be useful. Automatic detection of Android TV's would be even better.

iiordanov commented 3 years ago

Hi there,

I doubt that's the case in the latest version, please test it.

https://github.com/iiordanov/remote-desktop-clients/releases/tag/v5.0.4

Also, bVNC is up on Google Play for Android TV already, but aRDP there is something missing that prevents it from being published, I need to find time to investigate :).

Thanks!

On Fri, Apr 9, 2021 at 3:03 PM Anric Urmeneta @.***> wrote:

Both aRDP and bVNC runs just fine even though Android TV isn't officially supported just yet. The only issue is that both enter keys don't work because of how things are being mapped.

I used the app Hardware Keyboard check https://play.google.com/store/apps/details?id=com.darkoak.android.hardwarekeyboardcheck both on my phone and Android TV to test my hardware keyboard and to determine what key events https://developer.android.com/reference/android/view/KeyEvent are triggered. For the enter key near the alphabet keys, KEYCODE_ENTER was triggered on the phone and KEYCODE_DPAD_CENTER was triggered on the Android TV. For the num pad enter key, both triggered KEYCODE_NUMPAD_ENTER.

Enter Key "normally" functions on Chrome and Microsoft Remote Desktop. I assume both apps did some key handling of some sort because in other apps, enter key does nothing. An option at the menu of the remote desktop clients that allows sending of KEYCODE_ENTER to host despite detecting KEYCODE_DPAD_CENTER would be useful. Automatic detection of Android TV's would be even better.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/iiordanov/remote-desktop-clients/issues/268, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAK3EV42VXK7HV4HYZQXM2TTH5FRRANCNFSM42VQLT7Q .

-- The conscious mind has only one thread of execution.

4nric commented 3 years ago

Hello,

I can confirm bVNC is up on Google Play for Android TV. I tested both the VNC (freebVNC-v5.0.4_8-final.apk) and RDP (freeaRDP-v5.0.4_8-final.apk) clients on my Android TV device, but the enter keys still don't work.

iiordanov commented 3 years ago

I'll look into it, thanks!

On Sat, May 1, 2021, 2:23 AM Anric Urmeneta @.***> wrote:

Hello,

I can confirm bVNC is up on Google Play for Android TV. I tested both the VNC (freebVNC-v5.0.4_8-final.apk https://github.com/iiordanov/remote-desktop-clients/releases/download/v5.0.4/freebVNC-v5.0.4_8-final.apk) and RDP (freeaRDP-v5.0.4_8-final.apk https://github.com/iiordanov/remote-desktop-clients/releases/download/v5.0.4/freeaRDP-v5.0.4_8-final.apk) clients on my Android TV device, but the enter keys still don't work.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/iiordanov/remote-desktop-clients/issues/268#issuecomment-830562870, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAK3EV2FFRBCZGBB2GA7JCLTLOM6BANCNFSM42VQLT7Q .

4nric commented 3 years ago

The clients work very well, minus the enter key issue, on my low-end TV box (Android TV OS, Android 10). Other clients, even Microsoft's, run painfully slow on my device. If you need more device info, I am more than willing to provide them. Thanks!

iiordanov commented 3 years ago

What device is used to generate the keyboard events on the Android TV?

Thanks! Iordan

On Sun, May 2, 2021, 8:01 AM Anric Urmeneta @.***> wrote:

The clients work very well, minus the enter key issue, on my low-end TV box (Android TV OS, Android 10). Other clients, even Microsoft's, run painfully slow on my device. If you need more device info, I am more than willing to provide them. Thanks!

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/iiordanov/remote-desktop-clients/issues/268#issuecomment-830798589, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAK3EVZKF6W5HW2V7RBRGFDTLU5IRANCNFSM42VQLT7Q .

4nric commented 3 years ago

X96Q, the specs can be found here.

iiordanov commented 3 years ago

I meant what is the keyboard you use? Soft keyboard, some Android app, hardware USB, hardware Bluetooth, etc.

On Sun, May 2, 2021, 4:33 PM Anric Urmeneta @.***> wrote:

X96Q, the specs can be found here https://www.cnx-software.com/2020/04/13/x96q-android-10-tv-box-shows-up-with-allwinner-h313-quad-core-cortex-a53-processor/ .

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/iiordanov/remote-desktop-clients/issues/268#issuecomment-830867628, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAK3EVYFPU5HNIR64WDWB4DTLWZIHANCNFSM42VQLT7Q .

4nric commented 3 years ago

Oh okay, I tested both USB hardware keyboard and software keyboard (GBoard for Android TV). I've setup mine to hide the software keyboard when hardware keyboard is connected. Manually clicking the Enter key on the software keyboard works just fine. On the hardware keyboard however, enter keys don't work as expected. I suspect this is because enter key registers KEYCODE_DPAD_CENTER on Android TV instead of the normal KEYCODE_ENTER. I used the same keyboard on my Samsung DeX and hardware enter keys work just fine both for aRDP and bVNC clients.

iiordanov commented 2 years ago

Tested this with a USB keyboard and could not reproduce it. I don't think it's a good idea to handle dpad center as enter key, since it's already used for Ctrl key actually.

However, once I release numpad enter key support, there will be a workaround for you. https://github.com/iiordanov/remote-desktop-clients/commit/dcc1bb86387201ed15cec2ab8f857a027355c294