Which OEM Would You Like to Help?

Most manufacturers have moments of greatness and moments of decadence, and in the past few years … more

Root T-Mobile S6/Edge on 5.1.1 Without Tripping Knox

If you purchase phones from a carrier, you may be no stranger to the difficulties … more

IonVR Coming Soon, HTC M9 Dev Edition Gets Android 5.1 – XDA TV

The HTC M9 Developer Edition has received Android 5.1. That and … more

Android 5.1.1 Omni ROM For Motorola Xoom

Back in Feb 2011, the Motorola Xoom became the first device to be sold with Android 3.0 … more

[APP] ConnectBot v1.7.1-epic-6 (Epic keyboard support) (6/29/11)

470 posts
Thanks Meter: 831
By mkasick, Retired Recognized Developer on 19th October 2010, 04:21 PM
Post Reply Subscribe to Thread Email Thread
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.


Mirror links (does not require forum login):
Last edited by mkasick; 30th June 2011 at 12:10 AM. Reason: Updated to v1.7.1-epic-6 with EF02 support.
The Following 5 Users Say Thank You to mkasick For This Useful Post: [ View ]
19th October 2010, 04:28 PM |#2  
shabbypenguin's Avatar
Recognized Developer
Thanks Meter: 5,345
Donate to Me
very nice, thanks much for this.

5 bucks someone makes a comment about how this is in dev and not in the themes and apps board tho
19th October 2010, 05:12 PM |#3  
OP Retired Recognized Developer
Thanks Meter: 831
Originally Posted by shabbypenguin

5 bucks someone makes a comment about how this is in dev and not in the themes and apps board tho

Crud, I figured I made a mistake somehwere.

I don't believe I can move the thread myself, would the powers-that-be mind placing this in the appropraite location? Thanks!
19th October 2010, 06:33 PM |#4  
Junior Member
Thanks Meter: 0
Wrong forum or not, this is perfect, I was going to change my system keylayout to accomplish this before, but this is a much better solution.
19th October 2010, 06:48 PM |#5  
cicada's Avatar
Senior Member
Denver, CO
Thanks Meter: 149
Donate to Me
Amazing, thanks for this! ConnectBot was near-perfect for my needs, you just pushed it over the finish line
19th October 2010, 09:17 PM |#6  
Thanks Meter: 6
Haven't tried it yet, but I was just about ready to do keymappings identical to yours at the android layer... I like your solution a lot better, though, thank you!
19th October 2010, 10:05 PM |#7  
flyers2114's Avatar
Senior Member
Flag MI
Thanks Meter: 175
Thx for this op!!!
19th October 2010, 10:58 PM |#8  
JungleJiujitsu's Avatar
Senior Member
Flag Westbury, NY
Thanks Meter: 87
Sorry, but im just about a month into the "rooting scene" and am not yet familiar with what this is, can someone please explain?

Sent from my SPH-D700 using XDA App
19th October 2010, 11:03 PM |#9  
shabbypenguin's Avatar
Recognized Developer
Thanks Meter: 5,345
Donate to Me
this will allow you to change what keys do what, it is a very handy app
19th October 2010, 11:19 PM |#10  
Flag Boise, ID
Thanks Meter: 4
Will it prevent the Epic from missing keystrokes???
Post Reply Subscribe to Thread
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes