ConnectBot git (2010-12-09) partially implements dead key support, but it
doesn't work quite right. Attached is a patch against git master (as of
2010-12-17) that completes the dead key implementation so that it works as I
believe it was intended.
This patch does a few things:
- Fixes rendering of dead key glyph in the cursor:
- Assigns the correct font to cursorPaint.
- Updates cursorPaint's font size as appropriate.
- Draws the glyph in the appropriate position (origin 0, -cursorTop).
- Forces redraw when dead key is entered.
- Adds "DEAD_KEY" meta state:
- Ensures dead key "goes away" if an incompatible (e.g., arrow-key) non-printable is entered.
- Treats dead keys the same as shift, alt, and ctrl transient modifiers.
- Combines (dead key) accent with printable key character, not any key code:
- Key code is wrong thing to feed to getDeadChar.
- Requiring a printable allows, e.g., "Shift+Alt+', Shift+e" to generate "É".
For anyone interested in trying this:
Dead key support requires the device keycharmap to include combining accents,
which I don't think many do by default. I made a custom keymap for the Epic
[1] to add these. Also, my custom ConnectBot build [2] includes this patch and
should work on any device with an appropriate keymap.
[1] http://forum.xda-developers.com/showthread.php?t=911967
[2] http://forum.xda-developers.com/showthread.php?t=813176
Original issue reported on code.google.com by mkas...@gmail.com on 13 Jan 2011 at 5:40
Original issue reported on code.google.com by
mkas...@gmail.com
on 13 Jan 2011 at 5:40Attachments: