External Keyboard - Layout ABNT2 - Atrix 4G Android Development

I've read somewhere that the Atrix sold ins Brazil includes (stock Rom) the ABNT2 External keyboard layout.
If thats's true, could someone post here the content of the folders
/system/USR/Keychars
and
/system/USR/keylayout
or help me to make other devices (xoom for example) to recognize the ABNT2 External keyboard layout?
Obs: ABNT2 is a keyboard layout that includes ç Ç ã à e é ó ô. It has more keys than the standard keyboard and some keys like :;"'~` are in different positions. And the ã,ô, etc are a combination of two keys pressed, thats why it's not simple for a newbie like me to remap the keys.
Thanks in advance.

Related

Cyrillic layout support

Hi to all,
I am just curios if I set Russian keyboard on my device, how can I use it. I put "Locale" key in "HKCU\ControlPanel\Keybd\" branch, set string to 0419 (Russian keyboard), shotdown the device, wait 10 seconds. Switch it on, make soft reset, open Word and type using HW keyboard - no efect. I still typing latin symbols instead of cyrillic ones. When however I did that exercise for German keyboard I notice swap of "y" and "z" symbols. Any ideas why this tweak works for German layout, but not for Russian?
Thanks in advance
this setting just makes using cyrillic possible. To switch keyboard layout, press dot button and then [,.] button (right from space bar).
better try to instal resco keybord with bulgarian phonetic

Fn - Space. Help needed!!

I have been looking in the forum for a solution for the Tilt keyboard. Everytime I ask, someone usually responds pointing me to the Tilt Keyboard Fix cab, that was posted by Taurus Bulba. Installing the cab results in the keyboard being mapped with the ATT layout (enables the CWS layout in the registry). This makes every fn key work as it should, but it kills the Fn+Space combination.
When you key Fn and Space after a character, the characters changes as per what is defined in sym049.txt (or whatever symxxx.txt file you have in the windows directory, depending on your language).
For example, if you type an "a", press Fn and Space, you get an á, then à, and â, etc. Same with other characters. This is important for those that write in foreign languages that require accents or special characters like ñ, ç, € (Euro currency sign), "£" (British pound sign), and any other letter with an accent.
I think the issue is with the CWS layout (CWS being Cingular/ATT). That layout doesn't have the Fn+Space in it; the Hermes keyboard had a blue "á" and "ü" written on the top left corner of the Space bar, indicating that Fn and Space will result in accentuated characters. The Tilt doesn't have those and in fact, when you install an original ATT Rom (no need for keyboard fix there), the Fn+Space combination doesn't work.
The only way I've seen to get Fn-Space back to life is NOT to use the CWS layout. Using any non ATT Rom will allow you to get Fn-Space working, but at the cost of getting many of the other Fn keys mapped wrong: for example, the "!" and the "@" are swapped, the ";" gives you a "%", and so on.
Sounds like the solution would be a keyboard layout that is 99% like the CWS layout, but that adds the Fn-Space combination.
Any suggestions?
You could have just used the other thread my friend.
ChumleyEX said:
You could have just used the other thread my friend.
Click to expand...
Click to collapse
Yes, but not getting any attention on that one...
Fixing "Fn Space" feature
This kills the word suggestion feature, but enables you to use the FN-Space function again:
SOLVED!!! - HTC WM6.1 ROM : Missing "Fn Space" function?
EDIT: Sorry, didn't see you responding there aswell
khals said:
This kills the word suggestion feature, but enables you to use the FN-Space function again:
SOLVED!!! - HTC WM6.1 ROM : Missing "Fn Space" function?
EDIT: Sorry, didn't see you responding there aswell
Click to expand...
Click to collapse
You see...i'm all over the place on this issue...

[Q] Keyboard Dock and polish layout

I have Polish language set as my default, I have Polish in Android Keyboard and finally I have Dock (ecr-k10awe). In Polish we have special signs like in other langs eg. ą, ę, ó, ł, ś, ż, ź, ć, ń. At common PC It's combination of {Alt} + letter (a, e, o, l, s, z, x, c, n), but with dock I must hold eg. {a} and see that on screen:
IMG: http : / / dl.dropbox.com/u/26708812/keyboard.png
and click {1} from keyboard set "ą". It's terrible to loose time for this common function.
At dock we can see button "Lang", why it isn't our desktop-Alt? Maybe We can change something to change mapping of keyboard?
Greetings
Have u got an alt key on the keyboard?
Or what extra keys do u have?
It's common Dock by Samsung. I took photo and add it as attachment. You see left control, but no alt :-(
And niw I've problem because I installed Overxome and Dock have english uk layout.
Eg. Shift + 2 is " not @
****f + 3 should be # but is £.
Do you have any idea to remap keys?
Sent from my Samsung Galaxy Tab.
I have created a half working input method that doesn7 show a keyboard. I also achieved to change x and z around.
I will look if i can achieve some shortcuts. But as ur characters are special ones and not regular ones this may take some research.
"I crap by myself. I dont need iCrap....yet!"
transmitted from a Galaxy beyond your imagination.
It will be great if you share with me your dock script.
It would be great if {Lang} you can change to {Alt} like in retail computer.
{Alt} + {a} = {ą} so Alt is really important button
Next question... What we can do with English UK layout? I wrote about it in last my post.
"Root change everything"...
Sent from my Samsung Galaxy Tab.

[Q] bluetooth/USB AZERTY keyboard mapping

Hi there,
I have a rooted G.N., ROM=KKA, Android 2.3.6
I can connect a bluetooth AZERTY Keyboard/mouse to the G.N., it works, but as a QWERTY one.
Using some tweaking application like "Upsoft Keyboard", I can switch it to an AZERTY one, but uncomplete : missing Function keys, accents and so on.
After some googling, I found the stuff to build my own keyboard file (.kl and .kcm.bin).
The process involves editing a key character map file (i.e xxxx.kcm), then compiling it to get a 'xxxx.kcm.bin'
Each line of the kcm file is identified by a 'keyname' and describes what will be returned for each hit on that key, depending on the modifiers (alt, altgr, shift, ctrl, or nothing)
The problem is :
1) the kcm file's format is old ( < android v3), and will stay as is until ICS being released for G.N.
2) the old format compiler has a very poor and restricted set of keynames : Function keys (F1, F2, ...), and Numeric pad keys are omitted.
The problem should be the same for USB keyboards.
Any guru having tweaked a kcm compiler (linux kcm, or W$ kcm.exe) including those keys ?

Custom keyboard layout

Hey, I found OK and caps lock keys on the D4 keyboard useless - I just don't see any difference between using OK, mapped as D-pad center, and Enter, and caps lock can be substituted by double press of shift. So I decided to play with the layout a bit, mainly because I was irritated by a need to touch the screen to work with clipboard or to go back.
The result is attached - a custom layout which remaps OK button from DPAD_CENTER to ESCAPE and caps lock from CAPS to CTRL_LEFT.
Esc works as the Back button and Ctrl is tested working in combinations of Ctrl+A (Select all), Ctrl+X (Cut), Ctrl+C (Copy) and Ctrl+V (Paste). Unfortunately Ctrl+Z/Y (Undo/Redo) don't seem to work... Any suggestions for other combinations to try?
I have tested it all on rooted Eclipse ICS 1.2 ROM, but it should generally work on all rooted Android 4.0.4 ROMs.
How to get it working?
1. You probably need to have your phone rooted first.
2. Optional - you might want to backup your original /system/usr/keylayout/omap4-keypad.kl if you're on different ROM (it should be all the same, but I haven't tested it)
3. Unpack the attached custom_layout.zip to the root of your phone - it will put omap4-keypad.kl into /system/usr/keylayout
4. Reboot your phone.
In case you'd like to revert the changes, I put the original keylayout from my system in original_layout.zip, or you can use your own backed up file
Hope you enjoy my mod. Also, which key would you suggest to replace by Menu? I'm thinking about SYM, but I still think the day I'll actually need it might come, unlike with caps lock and OK
For those interested in changing values for themselves I've attached scancodes of all the buttons given out by safestarap's key test - see keycodes.txt. If you're gonna change any .kl files, be sure to open it with some program supporting UNIX formatting such as PSPad - I really don't wanna see what would happen after editing it with Notepad You should probably also see Android documentation article about it first.
This sounds rather good...i wasn't going to, but this may give me a reason to root my phone. Thanks f for your work. It does seem illogical having those buttons. Btw what happens to LED when you press caps lock now.
Still running stock ics on Vodafone UK.
Sent from my DROID4 using xda app-developers app
This doesnt seem to work on stock rooted.
it seems the physical keyboard runs off generic.kl and the omap4.kl, but i simply used root explorer to edit the KL's and got things how i wanted them. i missed my HTC G2 alt + del/backspace = delete whole line, so i made tab the ALT_LEFT and problems solved, also mapped OK as CTRL_LEFT for copy paste ext.. just my pref.
also changed all the qwerty keys to WAKE_DROPPED to wake the screen instead of having to hit the top power button, as i leave my phone on my desk open constantly so its annoying to always have to hit the power button to wake.
So do you have to change the 2 files or just the one?
Sent from my DROID4 using xda app-developers app
bustr85 said:
Btw what happens to LED when you press caps lock now.
Click to expand...
Click to collapse
I have Caps Lock mapped as Ctrl and it's not connected to the LED at all - seems the LED is working as normal Caps Lock signalization. However, after double-press of Shift the caps Lock is activated and the LED signalizes it fine.
wheeliest said:
This doesnt seem to work on stock rooted.
it seems the physical keyboard runs off generic.kl and the omap4.kl, but i simply used root explorer to edit the KL's and got things how i wanted them. i missed my HTC G2 alt + del/backspace = delete whole line, so i made tab the ALT_LEFT and problems solved, also mapped OK as CTRL_LEFT for copy paste ext.. just my pref.
also changed all the qwerty keys to WAKE_DROPPED to wake the screen instead of having to hit the top power button, as i leave my phone on my desk open constantly so its annoying to always have to hit the power button to wake.
Click to expand...
Click to collapse
Didn't know the Alt+BkSp combination, thanks What other combinations do you use?
BTW Alt+Tab works for switching apps (I have now SYM mapped as ALT_LEFT and TAB is left untouched - I like to use it when filling forms).
In my mod it already is WAKE_DROPPED, but not by me, it's probably one of the Eclipse mods to stock
bustr85 said:
So do you have to change the 2 files or just the one?
Sent from my DROID4 using xda app-developers app
Click to expand...
Click to collapse
What do you mean? Do you refer to wheeliest's post?
Ah, good idea mapping SYM to ALT_LEFT. Then we can go in and define Alt key combos for the rest of the alpha keys, to get all the other symbols that we need (e.g., brackets, curly brackets, vertical bar, backquote...)
Sent from my DROID4 using Tapatalk
I edited both .kl's to answer the above question,
I also changed the "/" to work as a "?" with out shifting first. (which i changed in the omap4 keychars)
system/usr/keychars/omap4-keypad.kcm
its about the middle of the code, you get into the symbols after the numbers.
key SLASH {
label. number: '?'
base: '?'
shift: '/'
ctrl. alt. meta: none
and thats the only useful key combos i know.
I've tried to edit the keyboard for my AOSP Unofficial CM10/JB ROM. No luck at all.
None of the changes take effect and the shift key stops functioning as it should. You have to hold the shift key down and press the additional key for it to work, the same as you do on a computer keyboard.
I've tried to edit both the generic and omap4 files. It always ends up with the same result. Not looking for a fix just notifying you guys.
Long press symbols
Hi, does anybody know where to change symbols and/or their order in long press popup window?
screenshot - imgur.com/joN15zH
CM10 or CM11
wild_a said:
Hi, does anybody know where to change symbols and/or their order in long press popup window?
screenshot - imgur.com/joN15zH
CM10 or CM11
Click to expand...
Click to collapse
Unfortunately I don't know, but I never use it.
My short story:
My old phone was a Motorola Milestone 1 (Droid 1) with physical QWERTY.
I used it with Smart Keyboard Pro (SKP). It has an option called “Physical Keyboard”, by this way I reach the special characters of SKP’s actual language (long press on short character then some short press for selecting).
I changed for Droid4, upgraded for SlimKAT 4.4.2 installed SKP, but it is not worked with new 5-row keyboard. I can’t reach the keyboard’s yellow and my language-specific characters. Shift is not working with yellow keys.
Solution:
Change SYM and CAPS LOCK buttons in /system/usr/keylayout/omap4-keypad.kl:
I changed SYM button for “ALT”:
KEY 162 ALT_LEFT
and the CAPS LOCK button to “CTRL”:
KEY 222 CTRL_LEFT
Than modify /system/usr/keychars/omap4-keypad.kcm as follows:
Defined yellow characters for ALT method, and some other characters for all available buttons. The original SYM function still available by ALT+Space.
I attached a picture about the ALT-characters.
Unfortunately the new CTRL-button not works with SKP “Phisical Keyboard” option so I must switch off this option. By this way I lost the language specific fonts, so I programmed the upper rows for this fonts. The selection is working by SHIFT and D-pad, than CAPS-LOCK + C is Copy and CAPS-LOCK + V is Paste.
I attached a picture about CTRL-characters too.
I used character codes at: fileformat.info
We must be use the C/C++/Java source codes.
Thats all.
Zavo
hi.
i wanna change my hardware keyboard of droid4. its qwerty ... and i want to have qwertz.
so i edited the /system/usr/keychars/omap4-keypad.kcm and changeg key "Z" { label base shift } with "Y" . reboot and it works me happy
by thinking myself that i missed Ä Ö Ü at the hardware keyboard and dont want to wait long with long push on a to wait for the popup and choose there ä, i tryed to edit the /system/usr/keylayout/omap4-keypad.kl:
CAPS LOCK button to “ALT”:
KEY 222 ALT_LEFT
and back into the /system/usr/keychars/omap4-keypad.kcm there under A { label: "A" / base : "a" / shift: "A" / cltr,alt,meta: "ä" }
reboot and now it works nothing -.-
also the y z is back to qwerty and not qwertz ?!?!?!??! in the files is all right.
why my changes are undone ????
can some help ? ideas ?
thx and sry 4 bad english
Felix241 said:
hi.
i wanna change my hardware keyboard of droid4. its qwerty ... and i want to have qwertz.
so i edited the /system/usr/keychars/omap4-keypad.kcm and changeg key "Z" { label base shift } with "Y" . reboot and it works me happy
by thinking myself that i missed Ä Ö Ü at the hardware keyboard and dont want to wait long with long push on a to wait for the popup and choose there ä, i tryed to edit the /system/usr/keylayout/omap4-keypad.kl:
CAPS LOCK button to “ALT”:
KEY 222 ALT_LEFT
and back into the /system/usr/keychars/omap4-keypad.kcm there under A { label: "A" / base : "a" / shift: "A" / cltr,alt,meta: "ä" }
reboot and now it works nothing -.-
also the y z is back to qwerty and not qwertz ?!?!?!??! in the files is all right.
why my changes are undone ????
can some help ? ideas ?
thx and sry 4 bad english
Click to expand...
Click to collapse
the fault is that in the .kcm no ÄÜÖ alowed.
when i entered A {
label: "A"
base: "a"
shift: "ä"
}
reboot
the system dont work with the .kcm anymore... what do i have to fill in under shift : "" for an ä ?
thx 4 help
Felix241 said:
the fault is that in the .kcm no ÄÜÖ alowed.
when i entered A {
label: "A"
base: "a"
shift: "ä"
}
reboot
the system dont work with the .kcm anymore... what do i have to fill in under shift : "" for an ä ?
thx 4 help
Click to expand...
Click to collapse
I think that for ÄÜÖ, in the stock kcm you press ALT+u and then the key that you want to have ' ': a,u,o......
Hi everyone
I know it's an old post but it really helped me solve the non CTRL problem.
I needed it to switch between languages on the hard keyboard as I installed the CM11 ROM. It's a little bit funny that it takes a CTRL button to switch, but no one bothered to notice that there isn't such button.
Anyhow, my current problem is this - I'm missing a letter on the Hebrew keyboard. I have all the letters except one. It's annoying to type with a missing letter.
I've tried to look for a way to add this letter on the ompam4-keypad.kcm file, but it doesn't contain the hebrew characters.
I really don't know where to go for that char map that contains other characters other than english.
Can anyone help me?
drornohi said:
I know it's an old post but it really helped me solve the non CTRL problem.
I needed it to switch between languages on the hard keyboard as I installed the CM11 ROM. It's a little bit funny that it takes a CTRL button to switch, but no one bothered to notice that there isn't such button.
Anyhow, my current problem is this - I'm missing a letter on the Hebrew keyboard. I have all the letters except one. It's annoying to type with a missing letter.
I've tried to look for a way to add this letter on the ompam4-keypad.kcm file, but it doesn't contain the hebrew characters.
I really don't know where to go for that char map that contains other characters other than english.
Can anyone help me?
Click to expand...
Click to collapse
Frankly I never updated it for CM11 and CM12 I've been using for over a year now, even though it always bugged me not to have Ctrl Good wake-up call I'll try to get to it through the weekend, no promises though.
@ZavoDroid's post (#10, last of previous page) looks golden, will try to make something similar working with CM11 and CM12. Will need you to report how the CM11 version works, I'm still at CM12 currently.
Edit: @drornohi - did you try custom layouts from this thread to see they did not work with CM11? And what is the specific character you miss from your Hebrew keyboard - could you post it here in lower case and upper case, ideally with Unicode codes as well?
LuH said:
Frankly I never updated it for CM11 and CM12 I've been using for over a year now, even though it always bugged me not to have Ctrl Good wake-up call I'll try to get to it through the weekend, no promises though.
@ZavoDroid's post (#10, last of previous page) looks golden, will try to make something similar working with CM11 and CM12. Will need you to report how the CM11 version works, I'm still at CM12 currently.
Edit: @drornohi - did you try custom layouts from this thread to see they did not work with CM11? And what is the specific character you miss from your Hebrew keyboard - could you post it here in lower case and upper case, ideally with Unicode codes as well?
Click to expand...
Click to collapse
Sadly, it's not a layout problem.
I think that the keyboard doesn't take the characters from the .kcm file. The keyboard linked to another app that mapping the layout to a character map according to the current chosen language. i.e, when you press 'm', it links it to the app that checks which language is chosen, if english - it will type 'm', if hebrew it will type ׳צ׳ (a hebrew letter)
The problem is I don't know where is this app. I've been trying to look it up in the CyanogenMod11 source code but I'm not a developer so I didn't manage to load the project to eclipse.
Actually I have 2 missing letters.
The first one is ׳ף׳ unicode U+05E3 (source: http://unicode-table.com/en/05E3/)
The second one is 'ץ' unicode U+05E5 (source: http://unicode-table.com/en/05E5/)
If you want I have the full hebrew charmap with unicodes: http://unicode-table.com/en/blocks/hebrew/
Thanks for trying! Hope you'll save us all!
drornohi said:
Sadly, it's not a layout problem.
I think that the keyboard doesn't take the characters from the .kcm file. The keyboard linked to another app that mapping the layout to a character map according to the current chosen language. i.e, when you press 'm', it links it to the app that checks which language is chosen, if english - it will type 'm', if hebrew it will type ׳צ׳ (a hebrew letter)
The problem is I don't know where is this app. I've been trying to look it up in the CyanogenMod11 source code but I'm not a developer so I didn't manage to load the project to eclipse.
Actually I have 2 missing letters.
The first one is ׳ף׳ unicode U+05E3 (source: http://unicode-table.com/en/05E3/)
The second one is 'ץ' unicode U+05E5 (source: http://unicode-table.com/en/05E5/)
If you want I have the full hebrew charmap with unicodes: http://unicode-table.com/en/blocks/hebrew/
Thanks for trying! Hope you'll save us all!
Click to expand...
Click to collapse
Hey, I'm also no dev and never opened the CM11 project - wouldn't know where to start
By inspecting the CM11 build briefly I think I found where it loads language-specific layouts: cm-11-20150327-UNOFFICIAL-maserati.zip\system\priv-app\InputDevices.apk\res\raw\*.kcm - but there is 05E5 mapped to PERIOD ( . : ), are you sure you can't type it by period? Also regular period should be mapped to SLASH ( / ? ) according to keyboard_layout_hebrew.kcm.
I tried to set 05e3 as Alt+L. Try replacing your /system/priv-app/InputDevices.apk by attached file and use it in combination with some keylayout with Alt (ZavoDroid's maybe). Do a backup before - it's my first attempt on repacking a system apk so anything can go wrong
Edit: just realized I forgot to attach the APK. -_- Sorry, will do in several hours - it's almost 6 AM now so I need to catch some sleep, left laptop elsewhere.
...so here you are with the attachment
drornohi said:
Sadly, it's not a layout problem.
I think that the keyboard doesn't take the characters from the .kcm file. The keyboard linked to another app that mapping the layout to a character map according to the current chosen language. i.e, when you press 'm', it links it to the app that checks which language is chosen, if english - it will type 'm', if hebrew it will type ׳צ׳ (a hebrew letter)
The problem is I don't know where is this app. I've been trying to look it up in the CyanogenMod11 source code but I'm not a developer so I didn't manage to load the project to eclipse.
Click to expand...
Click to collapse
I think what happens here is that as long as you have Settings - Languages & input - Physical keyboard - omap4-keypad set to default layout, /system/usr/keychars/omap4-keypad.kcm is used, but once you add any languages there, it uses language's kcm from /system/priv-app/InputDevices.apk for CM11, or /system/priv-app/InputDevices/InputDevices.apk for CM12.
Please let me know if the attached apk works (try signed first) installed or put into system directly - you should be able to type ף by pressing Alt+L (SYM+L with Zavo's custom kl - also attached).
LuH said:
Hey, I'm also no dev and never opened the CM11 project - wouldn't know where to start
By inspecting the CM11 build briefly I think I found where it loads language-specific layouts: cm-11-20150327-UNOFFICIAL-maserati.zip\system\priv-app\InputDevices.apk\res\raw\*.kcm - but there is 05E5 mapped to PERIOD ( . : ), are you sure you can't type it by period? Also regular period should be mapped to SLASH ( / ? ) according to keyboard_layout_hebrew.kcm.
I tried to set 05e3 as Alt+L. Try replacing your /system/priv-app/InputDevices.apk by attached file and use it in combination with some keylayout with Alt (ZavoDroid's maybe). Do a backup before - it's my first attempt on repacking a system apk so anything can go wrong
Edit: just realized I forgot to attach the APK. -_- Sorry, will do in several hours - it's almost 6 AM now so I need to catch some sleep, left laptop elsewhere.
Click to expand...
Click to collapse
Actually your'e right. I forgot I have already found ׳ץ׳ letter (It's my GF's phone so It's not near me all the time). The other one is still missing though.
Thanks for finding the apk file. I'll try edit it myself and let you know (I'm trying with notepad because I read that you can't open apk with eclipse)
I want to make the 'Q' letter assigned to ׳ף׳ because now it assigned to '/' but I already have that.
---------- Post added at 02:41 PM ---------- Previous post was at 02:36 PM ----------
LuH said:
...so here you are with the attachment
I think what happens here is that as long as you have Settings - Languages & input - Physical keyboard - omap4-keypad set to default layout, /system/usr/keychars/omap4-keypad.kcm is used, but once you add any languages there, it uses language's kcm from /system/priv-app/InputDevices.apk for CM11, or /system/priv-app/InputDevices/InputDevices.apk for CM12.
Please let me know if the attached apk works (try signed first) installed or put into system directly - you should be able to type ף by pressing Alt+L (SYM+L with Zavo's custom kl - also attached).
Click to expand...
Click to collapse
I'll try it when I'll have the phone with me (it's my GF's)
How did you pack the apk again after unpacking it?
I want to change it to the 'Q' letter instead of Alt+L
I have some ideas to to improve the keyboard functioning with some keys.
drornohi said:
How did you pack the apk again after unpacking it?
I want to change it to the 'Q' letter instead of Alt+L
I have some ideas to to improve the keyboard functioning with some keys.
Click to expand...
Click to collapse
Searched xda for instructions, in some general android development forum on xda found a rom & apk kitchen (intended for different device though, apk kitchen is universal) and used the apk kitchen for proper unpack and repack. I think it's needed, because InputDevices.apk is signed so the kcm's crc would not match if I just overwrote it in the apk directly.

Categories

Resources