FORUMS

Analysis & Opinion

Top Forum Discussions

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

470 posts
Thanks Meter: 832
 
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.

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
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,348
 
Donate to Me
More
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: 832
 
More
Quote:
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
 
More
Thanks
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
More
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  
Member
Thanks Meter: 6
 
More
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
 
More
Thx for this op!!!
19th October 2010, 10:58 PM |#8  
JungleJiujitsu's Avatar
Senior Member
Flag Westbury, NY
Thanks Meter: 87
 
More
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,348
 
Donate to Me
More
this will allow you to change what keys do what, it is a very handy app
19th October 2010, 11:19 PM |#10  
Member
Flag Boise, ID
Thanks Meter: 4
 
More
Will it prevent the Epic from missing keystrokes???
19th October 2010, 11:42 PM |#11  
OP Retired Recognized Developer
Thanks Meter: 832
 
More
Quote:
Originally Posted by JungleJiujitsu

Sorry, but im just about a month into the "rooting scene" and am not yet familiar with what this is, can someone please explain?

ConnectBot is an open-source terminal emulator and SSH client for Android. If you're a Windows user, think of it as a combination of the "Command Prompt" and PuTTY programs, but for your phone.

The Epic is an important device for ConnectBot users as it's one of the few programs that really requires (or at least benefits from) a hardware keyboard. Unfortunately, the Epic keyboard, while very good compared to the Droid (and I'd argue the G2 also) is missing a few keys important for ConnectBot, but has other extra keys that are unused. So this is a modified version of the program to better support the Epic's keyboard, making ConnectBot much more convenient to use.

In general ConnectBot is not a particularly important program for "rooting" (although root makes it vastly more useful locally). As suggested earler, this thread should really belong in the Themes & Apps forum.

That said, I imagine ConnectBot is a somewhat popular program among Epic owners as its (near) requirement of a hardware keyboard makes the Epic a much more suitable device to use with it than the Evo, and so those folks interested in using it are more likely to purchase an Epic.
The Following User Says Thank You to mkasick For This Useful Post: [ View ]

Read More
Post Reply Subscribe to Thread
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes