5,603,920 Members 42,122 Now Online
XDA Developers Android and Mobile Development Forum

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

Tip us?
 
mkasick
Old
(Last edited by mkasick; 30th June 2011 at 12:10 AM.) Reason: Updated to v1.7.1-epic-6 with EF02 support.
#1  
Recognized Developer - OP
Thanks Meter 823
Posts: 470
Join Date: Aug 2009
Default [APP] ConnectBot v1.7.1-epic-6 (Epic keyboard support) (6/29/11)

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
The Following 5 Users Say Thank You to mkasick For This Useful Post: [ Click to Expand ]
 
shabbypenguin
Old
#2  
shabbypenguin's Avatar
Recognized Developer
Thanks Meter 4442
Posts: 4,202
Join Date: May 2010

 
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
If you feel as though my work is worth something, you can alwaysDonate
 
mkasick
Old
#3  
Recognized Developer - OP
Thanks Meter 823
Posts: 470
Join Date: Aug 2009
Quote:
Originally Posted by shabbypenguin View Post
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!
 
yehster
Old
#4  
Junior Member
Thanks Meter 0
Posts: 2
Join Date: Oct 2010
Default 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.
 
cicada
Old
#5  
cicada's Avatar
Senior Member
Thanks Meter 149
Posts: 171
Join Date: Nov 2009
Location: Denver, CO

 
DONATE TO ME
Amazing, thanks for this! ConnectBot was near-perfect for my needs, you just pushed it over the finish line
 
drunix
Old
#6  
Member
Thanks Meter 6
Posts: 85
Join Date: Sep 2010
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!
 
flyers2114
Old
#7  
flyers2114's Avatar
Senior Member
Thanks Meter 161
Posts: 1,235
Join Date: Jan 2008
Location: MI
Thx for this op!!!

 
JungleJiujitsu
Old
#8  
JungleJiujitsu's Avatar
Senior Member
Thanks Meter 87
Posts: 1,152
Join Date: Sep 2010
Location: Westbury, NY
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
SAMSUNG EPIC 4G TOUCH GINGERBREAD 2.3.4
[ROM]PhantomHacker's StarBurst v1.3
[KERNEL]Chis41g's EG30Plus
[TWEAKS]Juwe11's RAM Optimizer||RandomKing's SuperFreeze
[THEME]Maddoggin's 7 Lockscreen/StatusBar Mod
[BOOT]
[RECOVERY]ClockworkMod v5

MOTOROLA XOOM WIFI HONEYCOMB 3.2
[ROM]Tiamat's Hammerhead v2.1
[KERNEL]Tiamat's Tachi v2.1.0 OC @ 1.7Ghz

APPLE iPHONE 4 VERIZON
[WORK PHONE]Until My DInc2 Returns From Europe

6 DAYS AND COUNTING
 
shabbypenguin
Old
#9  
shabbypenguin's Avatar
Recognized Developer
Thanks Meter 4442
Posts: 4,202
Join Date: May 2010

 
DONATE TO ME
this will allow you to change what keys do what, it is a very handy app
If you feel as though my work is worth something, you can alwaysDonate
 
spyderfry
Old
#10  
Member
Thanks Meter 4
Posts: 81
Join Date: Oct 2010
Location: Boise, ID
Will it prevent the Epic from missing keystrokes???

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes