smallperson / connectbot

Automatically exported from code.google.com/p/connectbot
Apache License 2.0
0 stars 0 forks source link

support for bt keayboards #378

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
hello

i have foldable freedom pro keyboard, it has pretty much everykey i need 
problem is connectbot natively dont support any

android terminal emulator dont support all but support more, tab f.ex. works 
there

please include native support for control, alt, shift, tab keys, 

THANKS

Original issue reported on code.google.com by stafu...@gmail.com on 13 Oct 2010 at 9:59

GoogleCodeExporter commented 9 years ago
bah i see nobodys gonna do this so i made most important part myself
add this to TerminalKeyListener.java
            case KeyEvent.KEYCODE_TAB:
                metaState &= ~(META_TAB | META_TRANSIENT);
                bridge.transport.write(0x09);
                return true;
pretty logical hehe gonna work on CTRL and Fx now

Original comment by stafu...@gmail.com on 13 Oct 2010 at 11:14

GoogleCodeExporter commented 9 years ago
okay driver isnt sending ctrl key properly to app, so i modified Alt to 
Control, i dont need alt at all atm, here stuff

before method onKey add

    private boolean altPressed = false;
    private boolean winPressed = false;
    private boolean rshiftPressed = false;

inside onKey add
            final boolean up = event.getAction() == KeyEvent.ACTION_UP ? true : false;
            final boolean down = event.getAction() == KeyEvent.ACTION_DOWN ? true : false;

            //alt down
            if (keyCode == KeyEvent.KEYCODE_ALT_LEFT && down) {
                altPressed = true;
                return false;
            }

            //alt up
            if (keyCode == KeyEvent.KEYCODE_ALT_LEFT && up) {
                altPressed = false;
                return false;
            }

inside onKey after if (printing) { 
add
if (altPressed) metaPress( META_CTRL_ON );

working for me as control

Original comment by stafu...@gmail.com on 14 Oct 2010 at 12:39

GoogleCodeExporter commented 9 years ago
Hi

I have the same problem.
Too bad ctrl isn't sent! Strange bug!
What about esc and tab?

Could you please post your binary?

Thanks!

Original comment by sophan...@gmail.com on 9 Dec 2010 at 10:15

GoogleCodeExporter commented 9 years ago
heres it
http://docs.sigp.info/doku.php?id=wiki:android:start

sources included as well

Original comment by stafu...@gmail.com on 9 Dec 2010 at 10:36

GoogleCodeExporter commented 9 years ago
Thanks for posting your solution! I got a HTC Desire HD plus the Freedom Pro 
keyboard. I compiled your sources and in debug mode connected to ConnectBot. 
The Freedom Pro driver is so badly written (at least this is my explanation) 
that the following keys are unusable:
 - Tab - it generates the same key id (66) as Enter
 - Ctrl - the driver just eats any key pressed together with this button (by breakpoint at onKey wouldn't fire)
 - Alt - the driver doesn't register that there was another key pressed (if you press Alt-x the debugger would catch only the x)

I end up following your example and remapping the SK2 key to Ctrl, which works 
mostly fine (I use emacs so Ctrl is crucial). The only problem is that even 
though I first press SK2, then another key, release another key, release SK2 
the events generated are SK2-down, SK2-up, then up and down for the other key 
(also blame on the driver) which means I can not emulate Ctrl constantly 
pressed while hitting other keys. But I can live with that. Thanks again...

Original comment by iva...@bstocksolutions.com on 15 Apr 2011 at 6:04

GoogleCodeExporter commented 9 years ago
Similar problem here: Asus EeePad with native Tab, shift, control keys etc, but 
ConnectBot doesn't support this.  Also, there are some weird key assignments, 
for instance Shift+7 gives a tilde (~) rather than &.

Original comment by james.c....@gmail.com on 16 Jul 2011 at 8:36

GoogleCodeExporter commented 9 years ago
Using plain USB keyboard on an Acer Iconia Tab A500, similar problems. 
Ctrl+anything always inserts ^@, and shift+numbers inserts random control codes 
instead of correct symobols like !@#$%^&*(). Makes it nearly impossible to 
perform tasks on linux servers :'(

Original comment by dro...@gmail.com on 9 Sep 2011 at 10:10