Version: The latest from F-Droid as of now (1.2.0) on Android 10
How to recreate from scratch:
-
Run Ubuntu chrooted through Termux (using AnLinux for the installation).
-
Also use AnLinux to install XFCE. Run ./start-ubuntu.sh
and vncserver-start
. Connect AVNC to 127.0.0.1:1.
-
In XFCE's Keyboard settings, the "Use system defaults" option is ticked.
Other (maybe useful) info:
- If this XFCE option weren't ticked, there would be no Keyboard model options (like pc104 and others)
setxkbmap pt
prints out XKB extension not present on :1.0
, what I expected after reading the AVNC code's documentation
Problem:
When using the onscreen keyboard (brought up by swiping from the left and pressing the keyboard button), I can input all characters, including the ones with diacritics.
When using a Bluetooth keyboard, the layout on my keyboard (PT-pt) and the text input match perfectly. The problem comes up when I try to input an accented character. I press the acute accent key (and release it), then I press the key of the letter (á -> ´ + a). Only the letter is registered.
I used an online keyboard tester tool (https://www.keyboardtester.com/tester.html) and, when I clicked on the accent, no key presses at all were registered. When I pressed the letter, only it was registered.
What I tried to do to fix the problem:
Came complaining to the issues tab (just kidding). I tried reading the source code to see if, by any chance, I could quickly fix the problem or at least know what was happening. By the way, I have to congratulate you on the excellent documentation! The issue is probably in KeyHandler.kt.
My best "Android" development experience has been Cordova, so take my guess of what is happening with a big pile of salt: When I press ´ and the the letter, two events are triggered, of which only the second is being considered valid and is emitted. Though, when I use the onscreen keyboard, only one event is triggered (á).
Other:
There can be three events that result in a single chacater: Shift + ´ + a = à (in PT-pt layout). There might be other languages where there can be more events, even letters with two or more diacritics. These are notes to make sure any eventual fix of this problem in the code doesn't just fix this specific issue with two events, when there can be more.