[Epic 4G Themes] mkasick:
6/29/11 Update: Add keycodes for EF02's ":)" and "Sym". Thanks EvilDennisR for providing the new keycodes, eyecannon for confirmation.

5/5/11 Update: Fix handling of ENTER key in fix_dead patch, i.e., make non-printable and emit carriage return. Thanks xbj9000 & Fnorder for pointing out this bug.

1/13/11 Update: Add key_logic patch from git to make ConnectBot use the correct hardware keymap, eliminating the need for the previous '_' & '-' swap workaround. Add fix_dead patch to fully implement combining accent (dead key) support. See note about combining accents on the Epic below.

12/20/10 Update: Add keep local connection patch. Add Tab, Home, End, Page Up/Down keys. Add partial support for Swype's edit keyboard.

12/1/10 Update: Fix use of arrow keys for moving the selection cursor when copying text.

Attached is a build of ConnectBot v1.7.1 modified to better support the Epic's keyboard. Also attached are the source patches against the v1.7.1 sources.

Changes are:

Make ":)" an alternate dpad-center (one press emits Ctrl, two presses emit Esc).

Make "Sym" emit Tab.

Make ".com" (Fn+"Sym") emit '`' (backtick, the only missing printable ASCII character).

Make arrow keys able to move the copy selection cursor.

Make ":)" and Enter (to support Swype's edit keyboard) select the copy region.

Make Fn+Left emit Home, Fn+Right emit End, Fn+Up emit Page Up, and Fn+Down emit Page Down.

Enable Tab key in Swype & other virutal keyboards.

Enable Home, End, & Cursor Jump in Swype's edit keyboard. Cursor Jump makes the arrows emit Home, End, Page Up/Down.

Workaround to make Fn+W emit '-' (hyphen/minus) and Fn+E emit '_' (underscore).

Make ConnectBot use the correct hardware keymap for the Epic, fixes the swapping of '-' & '_' and other subtle keymap bugs.

Although the hardware-keyboard changes are specific to supporting the Epic, this build should run fine on other devices--I don't think the keymaps conflict.

About the workaround: in regular ConnectBot v1.7.1, Fn+W emits '_' (underscore) while Fn+E emits '-' (hyphen/minus), which is backwards compared to other applications. I'm not sure why this is, as the key character map appears to be correct from what I can tell. This bug is due to ConnectBot's previous method of decoding key characters where it assumes the hardware keymap is the first one specified in the Android properties database (hw.keyboards.0.devname), which it is not on the Epic. A fixed method of decoding key characters was comitted to ConnectBot's github repo last month in a patch that also partially (brokenly) implements support for combining accents. I've added this patch and another to this release to fix both the swap bug and fully implement support for combining accents.

Note on combining accents: The standard Epic keymap does not include support for combining accents (dead keys). I've posted a modified keymap to add these. See the thread for details.

I've also added a patch to reenable the use of arrow keys (on both hardware and virtual keyboards) to move the selection cursor when copying text. You may use either ":)" (hardware keyboard) or Enter (both hardware & Swype's edit) to select where the start and end the copy region.

Unfortunately Swype's Select All, Select Text, Cut, Copy, and Paste keys do nothing in ConnectBot as they do not emit keycodes, but copy & paste support is availble via the menu, arrow, and Enter keys. Also, Swype's Page Up/Down keys simply generate 5xUp/Down arrows. Cursor Jump+Up/Down may be used a real Page Up/Down instead.

Enjoy!

Mirror links (does not require forum login):

connectbot-1.7.1-epic-6.apk

connectbot_create_outdir.diff

connectbot_fix_copy.diff

connectbot_keep_local.diff

connectbot_key_logic.diff

connectbot_fix_dead.diff

connectbot_epic_keymap.diff

connectbot_swype_keymap.diff