[Android 1.6+] External Keyboard Helper Pro

Search This thread

3x4d

Senior Member
Jul 3, 2009
70
7
I am with v3.7 demo and isn't work with USB keyboard. :(
When I check at debugging - it shows me Device-ID 196613
Is this normal ?

My phone is Xperia NEO Android 2.3.4 build 4.0.2.A.0.42 Inteks core#12
 
Last edited:

kallt_kaffe

Senior Member
Mar 13, 2010
1,484
1,161
www.apedroid.com
I am with v3.7 demo and isn't work with USB keyboard. :(
When I check at debugging - it shows me Device-ID 196613
Is this normal ?

My phone is Xperia NEO Android 2.3.4 build 4.0.2.A.0.42 Inteks core#12
It seems Xperia phones bypasses the Input Method when using USB keyboards. It's only Xperia users who have report this problem and only with USB keyboards.
 

3x4d

Senior Member
Jul 3, 2009
70
7
I am with v3.7 demo and isn't work with USB keyboard. :(
When I check at debugging - it shows me Device-ID 196613
Is this normal ?

My phone is Xperia NEO Android 2.3.4 build 4.0.2.A.0.42 Inteks core#12
:D
I change Android on my Xperia neo, to 4.0.4 build 4.1.B.0.431 and everything is fine - works perfect about USB keyboard.
 

fjell_strom

Senior Member
Apr 29, 2010
149
8
Freiburg
Tried to search for this. Found nothing so far.

How would I, for example, make the Windows home key on my bluetooth keyboard have a double function? Let's say I wanted that key to be HOME when normally pressed and SHOW NOTIFICATIONS when pressed with CTRL + first?

Btw, I just bought the pro version of this, and thank you for doing a great job!
 

fjell_strom

Senior Member
Apr 29, 2010
149
8
Freiburg
Thought I might mention...I would also be interested to know if long-press functionality from buttons on the bluetooth keyboard is available with this app as well, aaaaannnd the ability to highlight text with SHIFT + arrow keys, copy/paste combos? Maybe most importantly - where can I go to read about the total functionality of this app?

Sent from my HTC HD2 using xda premium
 

Jesterfox

New member
Aug 1, 2012
1
0
It seems Xperia phones bypasses the Input Method when using USB keyboards.

Is there a way to go around this issue? I try to get the keyboard helper demo to work on my Sony Xperia U with Android 2.3.7 (6.0.B.3.162), the USB keyboard is connected via the Sony livedock and gets recognized with device id 131079 in debug mode. Keyboard helper is selected as active input method but the layout does not change to german.
 

HJ-kos

New member
Jan 9, 2012
1
0
is there any way to switch layouts with capslock? I tried setting layout switch key to F12 and binding capslock to it but no luck
 

qkzoo

Senior Member
Mar 26, 2009
119
4
Control + 1, 2 or whatever?

Is it possible to create a custom key map such as Control + 1 or Alt + E? I have tried but it doesn't seem to recognize combination mappings. My keyboard has a Fn, Alt, and Ctrl key. Seems like it should be possible.
 

qkzoo

Senior Member
Mar 26, 2009
119
4
.Ok, I think I understand to create mappings with Alt, Shift, AltGr. I guess I understand that control is not mappable yet?

One question I've been racking my brain over, I created a key mapping for the < character. I set it up so that when the key is pressed normal, or with shift, that it behaves as it normally does, my confusion is in the Unicodes. I looked at the keycode map you provided a link to and see that the back button is 0x0004, so this is what I put for Alt mapping. However, this does not work. When I try Alt + <, it just inserted a space. Is there a proper list somewhere of these Unicodes we could use? I need F1 - F12, Home, and Back codes. I know for instance if I just put a "N" in for the Alt mapping, your app automagically converts it to the proper code, but this code is nothing compared to anything I see on that Android Developer page

http://developer.android.com/reference/android/view/KeyEvent.html
 

kallt_kaffe

Senior Member
Mar 13, 2010
1,484
1,161
www.apedroid.com
.Ok, I think I understand to create mappings with Alt, Shift, AltGr. I guess I understand that control is not mappable yet?

One question I've been racking my brain over, I created a key mapping for the < character. I set it up so that when the key is pressed normal, or with shift, that it behaves as it normally does, my confusion is in the Unicodes. I looked at the keycode map you provided a link to and see that the back button is 0x0004, so this is what I put for Alt mapping. However, this does not work. When I try Alt + <, it just inserted a space. Is there a proper list somewhere of these Unicodes we could use? I need F1 - F12, Home, and Back codes. I know for instance if I just put a "N" in for the Alt mapping, your app automagically converts it to the proper code, but this code is nothing compared to anything I see on that Android Developer page

http://developer.android.com/reference/android/view/KeyEvent.html
Keycodes and Unicodes are not the same thing. What you want is to map a keycode to a character mapping. That is currently not supported in the app. You cannot mix character (unicodes) and keycode mappings on the same key. This may change in future versions.

I'll try to clear the confusion...

First we have scancodes. Every key on the keyboard has a single unique scancode. When you press (or release) a key, the Android OS recieves the scancode.

The first thing that happens is that the scancode is translated into a keycode. One scancode becomes a keycode.

The list of keycodes you have allready found and some of them are for Android specific functions, like BACK, HOME, MENU etc... Others are for letters and numbers. Now there is no keycode for a small "a" or a capital "A". It's the key "A". Now Android also keeps track of the shift, alt, and ctrl keys (also known as meta keys) and if it recieves a keycode for the key "A" and it also has recieved keycode for one of the shift buttons (but not recieved an event that it has been released yet) then it will produce the unicode for the character "A".

Basicly:
Scancode -> Keycode -> Unicode (for characters)
Scancode -> Keycode -> Perform android action (for non-character keycodes like home, menu, volume keys, arrow keys etc..)

What my app allows you to do is to override this handling within android and direcly map either unicodes (character mapping) or keycodes (keycode mapping) to a specific scancode. However it does not (currently) support mixing keycode and character mappings to the same scancode.
 
Last edited:

qkzoo

Senior Member
Mar 26, 2009
119
4
Ok, thank you, that answers my question. One thought I had, is it possible, where you specify applications, A0...AF, to pass a parameter of some sort, or tie it in with Tasker? That would make the possibilities of what you could do with this app limitless.

Sent from my HTC One X using xda app-developers app
 

qkzoo

Senior Member
Mar 26, 2009
119
4
Scratch that, Tasker can export its' functions as actual android apps, so it would be redundant, really. For those curious, it works great! I created, for instance, a really small app that just quickly flashes the time and date when I Alt + D.
 
  • Like
Reactions: kallt_kaffe

janreiviardo

Senior Member
Apr 23, 2011
215
90
Sta. Maria
how can I use keyevents in this app? Keyevents coming from this link for Jelly Bean. Thanks

http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/4.1.1_r1/android/view/KeyEvent.java#KeyEvent

Edit: Nvm above. I got it figured out by editing manually /data/data/com.apedroid.hwkb../files/custom.txt. I was trying to map recent apps to one of the keyboard keys but using keycode 187 or 214 didnt work with CM10 Jelly Bean rom. So I got an idea but dunno if it is possible to get it to work with this app.

So here is the scenario.

As an alternative to using "input keyevent <code>", it is also possible to inject key press events and even choose the delay between the press and the release to simulate long presses using scripts.
Example for a HOME key long press:
Code:

sendevent /dev/input/event1 1 102 1
sendevent /dev/input/event1 0 0 0
usleep 500000
sendevent /dev/input/event1 1 102 0
sendevent /dev/input/event1 0 0 0

102 is the scan code for the HOME key and it will have a delay of 500ms between pressing and releasing.
Possible scan codes (for the physical buttons):

102 - Home
116 - Power


So, my point is. keycode for recent apps doesnt work with CM10 JB. And that there are keycodes that has to be hold to show for example holding power brings power options such as reboot shut down etc. Is there any way that we can execute/run this code/script for it to be able to be used with ext kb helper? Thanks

If there isn't then I suggest this to be a feature on the next release. Why? Because if the app can execute codes then theres no limit to what this app can execute. It can even execute services such as calling a number

"service call phone 2 s16 "123456789""

Toggling between the last 2 applications / windows and many more!
 
Last edited:

Sensenmann69

Member
Dec 27, 2010
23
1
Hey ho! I've got a problem with the keystring "app switch". It just does not work, the OS doesn't open up the app drawer with that. The keystring "home" does work.

Is this only with me?
 

dimensionone

Member
Jan 27, 2011
32
2
Hi,
I have bought this app, but need some help. I want to map the application shortcuts to F1-F12 keys
Can you, please, advice, how can I do it.

I created apps shortcuts in Advanced settings, but now I don´t know, how to map A0-AD keys to Fx keys.

Sent from my GT-P5100 using XDA Premium HD app
 

jriemerm

New member
Sep 22, 2012
1
0
Hi,
I have bought this app, but need some help. I want to map the application shortcuts to F1-F12 keys
Can you, please, advice, how can I do it.

I created apps shortcuts in Advanced settings, but now I don´t know, how to map A0-AD keys to Fx keys.

Sent from my GT-P5100 using XDA Premium HD app

This is what I'm trying to do as well. Is it possible?
 

Top Liked Posts

  • There are no posts matching your filters.
  • 12
    ExternalKeyboardHelperPro.jpg


    Get it from Google Play: External Keyboard Helper Pro

    Make your Android device play nice with your non-US external keyboard.

    A non visible soft keyboard (Input Method) intended to be used with hardware Bluetooth and USB keyboards. It automaticly detects Bluetooth keyboards (and in some cases also USB keyboards) and brings up the Input Method dialog. It also supports a lot of different keylayouts for non-US external keyboards.

    This app does NOT require a rooted device.

    Features
    • International keyboard layouts.
    • Remaps the Escape key to BACK (optional)
    • Allows you to control which characters should be threated as combining characters.
    • A "null" Soft Keyboard to use with hardware keyboards (Bluetooth & USB).
    • Automaticly brings up Input Method selection dialog when Bluetooth keyboard connects or disconnects.
    • Automatic detection can also work with USB keyboards on some platforms (experimental)
    • App that brings up Input Method selection (for easy access)

    Currently supported keyboard layouts
    • Austrian
    • Belgian
    • Bosnian
    • Croatian
    • Czech
    • Danish
    • English (GB)
    • English (US-International)
    • Estonian
    • Faroese
    • Finnish
    • French (Canada)
    • French (France)
    • French (Switzerland)
    • German
    • German (Switzerland)
    • Greek
    • Hebrew
    • Hungarian
    • Icelandic
    • Italian
    • Latvian
    • Lithuanian (Numeric)
    • Norwegian
    • Portuguese (Brazil)
    • Portuguese (Portugal)
    • Romanian
    • Russian
    • Serbian
    • Slovak
    • Slovene
    • Spanish (Latin America)
    • Spanish (Spain/Int)
    • Swedish
    • Turkish (Q)
    • Vietnamese

    All layouts are based on standard USB Keyboard layouts. Bluetooth keyboards sometimes do not follow the standard completely but you can customize the layout yourself if it doesn't match perfectly.


    Characters that can be threated as combining characters
    • acute
    • breve
    • caron
    • cedilla
    • circumflex
    • diaeresis/umlaut/dialytika
    • dialytika tonos
    • dot above/dot below
    • double acute
    • grave
    • ogonek
    • ring
    • tilde
    • tonos

    What it does NOT
    • It won't fix your Bluetooth or USB connected keyboard if it wasn't working in the first place.
    • It does not automaticly switch Input Method. It only shows the dialog and you will have to choose Input Method manually. This is an intentional limitation built into Android by Google. No app is allowed to change Input Method without user interaction (unless the app is a system app).

    Planned features
    • Support for more keyboard layouts.
    • DONE!Support for manually remapping keys.
    • DONE!If requested I may also make it work on Android versions lower than 2.3.
    2
    Also works on my Xperia s android 2.3.6

    USB or Bluetooth keyboard?
    2
    Didn't work anymore after upgrade Android 8.0 to 8.1
    Please fix this.
    I can open EKH Settings, and I can choose EKH Switch in Keyboard settings for external keyboards, but EKH Switch didn,'t work anymore on 8.1
    Yesterday, before upgrade to 8.1 all works like a charm.
    Please fix this.
    2
    I've noticed that there is a "cracked" version of my app floating around. I honestly don't care if anyone cannot afford $3 to get their $50-$100 dollar keyboard to work correctly but what worries me is that this "cracked" version I found has been modified and resigned. About 30kb (or more) code has been added and I have no idea what the added code does because I have no intention to install that version.

    I've added none of Googles Licensing code so there is nothing to "crack" in the app so there should be no reason whatsover for anyone to add about 30kb to the executable.

    The site where I found it also offers tons of other "cracked" apps and most likely they have also been modified. Maybe they've "only" added advertisment code to profit from the "cracked" apps but I guess a more likely scenario is that they've added malicious code. If you for some reason choose to download a "cracked" version of an Android app, a "cracked" Input Method is propably the worst possible choice of app to pirate.

    I've written a blog post about it with some more information about it.
    2
    Go to Menü, Speech and Input Settings, there are the whole Keyboards, also the external keyboard helper pro, and there klick at the settings, here you are....... :). Greetz