[Q] Bluetooth keyboard mapping - Galaxy Tab 10.1 General

Hello,
I have successfully paired my stowaway Bluetooth keyboard with the GT. However I am not able to change the keymapping of the keyboard to use the German layout of the keyboard. Any ideas out there how to change the mapping?
Interesting: Under /system/use/keys... there is a Motorola bluetooth Keymap ...

First off, thanks for trying this out, haven't got around to trying my iGo stowaway keyboard, so nice to know it should work. In regards to keyboard mapping this thread may be helpful:
http://forum.xda-developers.com/showthread.php?t=799079

Thank you for the link. Theres a lot of mapping to try out I had allready been playing around with the charmap files but the description in the link is much more detailed.

if you can't get it to work properly with the work people have already done, it's pretty simple to manually edit the keymap.
1. plug in the tab and start adb shell
2. run the getevent command
3. press a key and look at the middle number that shows up. should look something like
/dev/input/event1: 0001 0073 00000001
/dev/input/event1: 0001 0073 00000000
Click to expand...
Click to collapse
I forget what the first number but the second number is the key(in this case, volume up) and the third is the state(1 down, 0 up).
4. convert the key number from hex to decimal.
5. cd /system/usr/keylayout
6. cp qwerty.kl qwerty.bak
7. exit adb shell
8. adb pull /system/usr/keylayout/qwerty.kl
9. open up qwerty.kl and look for the key that you found in decimal(not the original number).
10. edit the file and push it back to /system/usr/keylayout
if this does not work, try editing Generic.kl

Thank you for the information.
Funny thing is, that the qwerty.kcm on the GT 10.1V is not a .bin-file. It is simply editable with a Text editor:
key A {
label: 'A'
number: '2'
base: 'a'
shift, capslock: 'A'
alt: '#'
shift+alt, capslock+alt: none
}
key B {
label: 'B'
number: '2'
base: 'b'
shift, capslock: 'B'
alt: '<'
shift+alt, capslock+alt: none
... and so on.
So the first step would be to find the key number (with "keytest" or getevent), followed by changing the mapping of the keys.
I wonder if I could just add:
FN_left: 'behaviour'
FN_right: 'behaviour'
additionally.

I'm not sure exactly what you're planning on doing, but I can tell you right now that adding things to qwerty.kcm will not work. It's strange that it's not a bin file but anyway, there are many different files that use the same values as qwerty.kcm that need to be edited accordingly. Obviously in honeycomb it is a little bit different, but I know that in froyo, you needed to edit KeyEvent.java, KeycodeLabels.h, nav_keys.py, attrs.xml and Monkey.java before the values in qwerty.kcm could take effect.
That being said, you can edit the values that are already there.
I work for the android dev team at Broadcom and I found all of this out while trying to add support for the escape key on hardware keyboards. I wanted to be able to use vi on an android tablet. I did have the escape key working, but google does not allow for vendor specific key mappings so I would have had to "contribute a patch to the open source project to define those new codes" in order to "maintain a consistent set of key code definitions across all Android devices." I didn't really feel that this was worth it since most apps that require an escape key(connect bot for example) have another way of doing it.

Related

[HOWTO] Remap Hardware Buttons

When you move your software buttons to status bar, there is a problem with apps that cover full screen and don’t have “menu” or “back” button. For example “Gallery”. You have to push longer power buttons and switch to buttons mode to end application or get to menu. I have found this quite irritating so I prefer to have “one click” button to get this working. When you get lcd density to 130, your status bar is very small and is difficult to touch soft buttons.
By editing file /system/usr/keylayout/qwerty.kl you can remap your buttons.
Note that this require permanent root with rw access to system partition.
Ive tested this on Archos 70 rotted with OC kernel http://forum.xda-developers.com/showthread.php?t=897877 it should work with chulri method http://forum.xda-developers.com/showthread.php?t=930197 and UrukDroid http://forum.xda-developers.com/showthread.php?t=895599.
Thx guys for great work
Doesn’t work with Archangel because it needs rw acces to /system/.
Maybe some “magic” can make a script to force android to use keyboard layout from different location (sdcard for example).
Like with all operations on system files, you can broke your system when something goes wrong. Remember, I'm not responsible for anything.
If you use other keyboard than default you probably have to edit another file from /system/usr/keylayout/. I’ve tested this only for standard keyboard.
After made changes to qwerty.kl you have to restart device.
In this example I’ve remapped + button as “Menu” and Volume – as “Back”.
Remember that you will loose ability to control volume with hardware buttons.
To set to default mapping simply copy original file or edit it and restart device.
Before you start, make a backup of original file.
Go to terminal:
Code:
su
cp /system/usr/keylayout/qwerty.kl /system/usr/keylayout/qwerty.kl.org
Next, open /system/usr/keylayout/qwerty.kl file with text editor
And find line
key 115 VOLUME_UP
key 114 VOLUME_DOWN
key 116 POWER WAKE
These are our hard buttons.
Change it to
key 115 MENU
key 114 BACK
key 116 POWER WAKE
Restart android and you have Menu under volume+ and back under volume-
To reset to default, simply go to terminal and:
Code:
su
cp /system/usr/keylayout/qwerty.kl.org /system/usr/keylayout/qwerty.kl
and reboot.
Of course feel free to experiment to other button mapping. :]
very nice. Will be trying this out for sure. Was looking for a better way than button Savior / buttons panel.
Will test during my very busy Friday afternoon work day
Can't "thanks" from tapatalk but will be sure to get you later
Sent from my A101IT using Tapatalk
Nice added to the list of modifications possible with the different root methods here
diabel44 said:
When you move your software buttons to status bar, there is a problem with apps that cover full screen and don’t have “menu” or “back” button. For example “Gallery”. You have to push longer power buttons and switch to buttons mode to end application or get to menu. I have found this quite irritating so I prefer to have “one click” button to get this working. When you get lcd density to 130, your status bar is very small and is difficult to touch soft buttons.
By editing file /system/usr/keylayout/qwerty.kl you can remap your buttons.
Note that this require permanent root with rw access to system partition.
Ive tested this on Archos 70 rotted with OC kernel http://forum.xda-developers.com/showthread.php?t=897877 it should work with chulri method http://forum.xda-developers.com/showthread.php?t=930197 and UrukDroid http://forum.xda-developers.com/showthread.php?t=895599.
Thx guys for great work
Doesn’t work with Archangel because it needs rw acces to /system/.
Maybe some “magic” can make a script to force android to use keyboard layout from different location (sdcard for example).
Like with all operations on system files, you can broke your system when something goes wrong. Remember, I'm not responsible for anything.
If you use other keyboard than default you probably have to edit another file from /system/usr/keylayout/. I’ve tested this only for standard keyboard.
After made changes to qwerty.kl you have to restart device.
In this example I’ve remapped + button as “Menu” and Volume – as “Back”.
Remember that you will loose ability to control volume with hardware buttons.
To set to default mapping simply copy original file or edit it and restart device.
Before you start, make a backup of original file.
Go to terminal:
Code:
su
cp /system/usr/keylayout/qwerty.kl /system/usr/keylayout/qwerty.kl.org
Next, open /system/usr/keylayout/qwerty.kl file with text editor
And find line
key 115 VOLUME_UP
key 114 VOLUME_DOWN
key 116 POWER WAKE
These are our hard buttons.
Change it to
key 115 MENU
key 114 BACK
key 116 POWER WAKE
Restart android and you have Menu under volume+ and back under volume-
To reset to default, simply go to terminal and:
Code:
su
cp /system/usr/keylayout/qwerty.kl.org /system/usr/keylayout/qwerty.kl
and reboot.
Of course feel free to experiment to other button mapping. :]
Click to expand...
Click to collapse
diabel44 said:
I
Click to expand...
Click to collapse
I have edited .kl file using both ES File Explorer & adb shell , but edited file is restoring to previous on reboot. Is there a way to permanently change the .kl files
MASTER MC said:
I have edited .kl file using both ES File Explorer & adb shell , but edited file is restoring to previous on reboot. Is there a way to permanently change the .kl files
Click to expand...
Click to collapse
I got it. It should be edited and changed to /system using twrp recovery.
I mapped volume button to power. It works correctly only when device is powered on and it doesnot reboot when shutdown. Can u tell me where I should make changes to work to power on the device .

[HOWTO] Create Gingerbread Keyboard Dictionary for your Language (Croatian example)

I really liked new Gingerbread Keyboard but was bugged by the fact that it was missing Croatian language dictionary, so I tried to figure out how to create one.
I made it, and it's working great so I decided to share the procedure here so others can make use of it.
Here it goes...
What you need:
1. Good source for word list frequency
Good prediction Dictionary relies on word list frequency, as defined by the AOSP
http://android.git.kernel.org/?p=pl...33b63a8b8a1043fceae592b567b93ee275504;hb=HEAD
So, you need a source from which you can extract how often different words appear. After some thinking, googling, trial and error I came to conclusion that for smartphone usage there is no better place than big national forum. That's what I used, anyway.
2. OpenOffice (and MS Office) dictionary for your language
You can find it here:
http://extensions.services.openoffice.org/en/dictionaries
You don't want to have misspelled words in the dictionary, right? So, after creating word list from the source, you'll want to throw out the words that are not in this list.
Just to be sure that I'll keep all the 'good' words in the list I also ran MS Office Spelling procedure trough it. Will explain it later on.
3. Tools - GNU Utilities, MS Office, Ultraedit, Wget (HTTrack)...
There are no more powerful tools for stream editing than Unix tools. Period.
At first I tried to do something without it and when I learned a bit about them, realized how great these are for task like this. Get them here:
http://sourceforge.net/projects/unxutils
Windows comes with it's own 'sort' command but you'll want to use the one from GNU utilities, so put it in the directory where you start your commands from.
You'll need to download that forum that I mentioned earlier somehow. I used wget:
http://www.gnu.org/software/wget/
It was pretty slow (took like two days to mirror part of the forum with posts). When I was near the end with the download I learned about HTTrack:
http://www.httrack.com
I tried it out shortly and it seems a lot faster (can do multiple connections!)
4. Makedict
Get it here:
http://softkeyboard.googlecode.com/svn/trunk/DictionaryTools/
For Windows, you need makedict_Windows.bat and makedict.jar
PROCEDURE:
I don't have experience with html, so at first I had to study how is vbulletin forum that I aimed at structured. I wanted to download just the pages that contain posts, and not memberlists etc. At the end I came up to this syntax for wget
Code:
wget -k -m -E -p -np -R member.php*,memberlist.php*,calendar.php*,faq.php*,printthread.php*,newreply.php*,search.php*,*sendtofriend*,sendmessage.php*,*goto=nextnewest*,newreply.php*,misc.php*,forumdisplay.php*,showpost.php*,announcment.php*,image.php*,viewonline.php*,showthread.php*mode*,showthread.php*s=*,showthread.php*page* -o log.txt http://xxxxxxx.hr/
I'm not sure if the syntax is entirely correct, but it worked for me, so I never looked back. Wget started to download only the stuff I wanted - thread pages from forum. It took long time to collect 9 GB of data. Look at the HTTrack. I think it can do it much faster.
Now you want to extract only messages text from the html
Code:
cat showthread* | sed -n "/<!-- message -->/,/<!-- \/ message -->/p > forum0.txt"
Check out what you got. You don't want the quotes included in this because they would pump up the word count for words that appear in them, so strip that out too:
Code:
sed "s/<[^:]*said://g" > forum1.txt
Finally, strip out the rest of HTML code:
Code:
sed -e "s/<[^>]*>//g" forum1.txt > forum2.txt
I noticed that I had some leftover croatian characters represented with their Unicode codes, so I replaced those too:
Code:
cat forum2.txt | sed "s/š/š/g" | sed "s/đ/đ/g" | sed "s/č/č/g" | sed "s/ć/ć/g"| sed "s/ž/ž/g" | sed "s/Š/Š/g" | sed "s/Đ/Đ/g" | sed "s/Č/Č/g" | sed "s/Ć/Ć/g" | sed "s/Ž/Ž/g" > forum.txt
Found the codes here:
http://yorktown.cbe.wwu.edu/sandvig/docs/unicode.aspx
Now you can start to make your word list by throwing out all but words
Code:
cat forum.txt | tr "[:punct:][:blank:][:digit:]" "\n" | grep "^." > unsortedallwordslist.txt
and counting how often they appear
Code:
cat allwordslist.txt | tr "A-Z" "a-z" | tr "ŠĐČĆŽ" "šđčćž" | sort | uniq -c | sort -nr > words.txt
I got around 205.000 counted words after this.
Now when you have it all nicely counted and sorted, you want to throw out misspelled and incorrect words from it. I used Excel for it. But first, I took OpenOffice word list (you can simply unzip oxt file) and cleaned it up a bit.
First, you need it in correct Windows encoding. Ultraedit can do it. In my case I had to convert from iso-8859-2 to win-1250. Open an iso-8859-2 document, go to "view/set code page" and choose "iso-8859-2", than go to: "file/conversions" and choose ASCII to UNICODE, than you will see all characters right, but when you want save edited code/text you must
convert it back, so choose UNICODE to ASCII and save it, that's it.
Also, it had suffixes such as "/AE" here and there so I removed those too
Code:
sed "s/\/[A-Z]*//g" hr_HR.dic > hr_HR.txt
and mad it all lowercase
Code:
cat hr_big.dic | tr "[A-Z]" "[a-z]" | tr "[ŠĐČĆŽ]" "[šđčćž]"
Now I imported both lists in Excel and simply checked if my forum word list words are correct by checking if they can be found in OpenOffice dictionary.
=COUNTIF('openofficedic'!A1:A375541;B1)
After that's finished, copy just the values in new column and delete the column with formulas, so it doesn't go trough it again. Sort by new values you got and keep the ones that passed trough this 'spell check' (I got around 90.000 woords in this step).
Cut&paste rows that have zeros in it in new worksheet. I wanted to compare those with MS dictionary so I don't throw anything out that is not in OpenOffice dictionary. Here is the function I used
Code:
Public Function SpellCheck(rng As Excel.Range) As Boolean()
Dim i as Long, size as Long
Dim objExcel as New Excel.Application
Dim result() as Boolean
size = rng.Cells.Count
ReDim result(1 to size)
for i = 1 to size
result(i) = objExcel.CheckSpelling(rng.Cells(i).Text)
next i
SpellCheck = result()
objExcel.Quit
End Function
The function I found was originally written to act as an array function but I never managed to work. But it worked as normal function and I just invoked it by
Code:
=SpellCheck(B1)
This took reaaaally loooong time. Again copy values to new column and delete the column with formulas so it won't go trough it again. Delete the rows with 'FALSE' in it. Check trough the rest and clean it up a bit - MS spellcheck can act funny sometimes. I got another 20.000 words from this list that weren't recognized by OpenOffice spell check, merged two lists and the final word count for dictionary was now around 110.000. I believe it's optimal, maybe a little on a bigger side, but the final main.dict is just under 900 kB which is more than acceptable.
Now, you have to distribute frequencies in 255 classes for Gingerbread prediction engine. You could do it just by dividing every number with a factor you get by dividing top word count by 255. But look at the scatter plot of this and you'll notice that you'll spend top classes very fast that way. So, I optimized the distribution a bit in a separate calculation. I arranged the word count in top class to be 1 and calculated the rest by using the formula "nextclasswordcount=previousclasswordcount*factor^4". I used Excel Solver to find the factor. Total word count had to match original wordcount (in my case 110.000), obviously. I even corrected it a bit, so that sum in new distribution is only 70.000 (1 in first class and 2000 in last), so that it smooths out the distribution nicely with more frequent words and let the rest of 40.000 fall in class "1". It took some tweaking and you could use better formula maybe, but this worked for me much better than just dividing it with same factor.
I had this calculation in two separate rows and returned the classes back next to the words:
Code:
=IF(ISNA(HLOOKUP(A6;$J$4:$JD$5;2;FALSE));D5;HLOOKUP(A6;$J$4:$JD$5;2;FALSE))
Maybe it's best to d/l xlsm from here so I don't have to explain a lot...
The rest is easy. Create the string needed for correct xml format,
Code:
=CONCATENATE("<w f=";CHAR(34);D2;CHAR(34);">";F2;"</w>")
close the word list with "<wordlist>" in first and "</wordlist>" in last row and add "<?xml version="1.0" encoding="UTF-8" ?>" at the top and finally compile the .dict file:
Code:
makedict_Windows.bat from.xml > main.dict
Phew! A lot of typing.
And here is the LatinIME.apk with croatian layout and dictionary that I got this way:
HR_Gingerbread_keyboard-1.0.apk
I used mobilix's layout (thank you!) with just few my own corrections (corrected &amp glitches in symbolic keyboard).
And hera are resources where I got inspiration from (thanks Gert Schepens):
http://www.gertschepens.be/android-dictionary-files
http://blog.cone.be/2010/08/19/android-keyboard-dictionaries/
So much for now. Enjoy.
Now, the next step would be to try to include my work in official AOSP or maybe Cyanogen source. I could use few pointers on how to do that. I would prefer to do it simple. I registered on github, but that's where I got for now. I have to do some more reading about it...
Thanks for your guide!
I successfully created a danish dictionary, but how do i implement the main.dict file i just created into the LatinIME.apk?
In the LatinIME.apk file, i tried creating the folder /res/raw-da, and putting the main.dict file there. But it didn't work.
I'm glad you made it!
Be sure to create nice, clean main.dict which we will add to AOSP hopefully.
I used APK Manager to decompile, add 'raw-hr' with my main.dict, recompile and sign the .apk that already had Croatian layout. There was a bug in .apk I used that was preventing language switching and I noticed that the bug was widespread in many LatinIME.apk versions floating around. I don't know where this bug comes from but the problem was in default main.dict file in 'raw' folder which had to be replaced with proper one (I took from Cyanogenmod version of LatinIME, but you can use my .apk).
Can you, please, send me somehow this, already produced Croatian dictionary file in order to incorporate it into mine Gingerbread keyboard?
Thanks.
I presume you're after main.dict...
Use APK Manager, decompile my apk and you'll find it in 'raw-hr' folder.
Sent from my HTC Desire
hi there, i was so grateful to have found this thread after googling for almost 7hours for a tagalog dictionary
although your method of bytestreaming a forum could not work for for me who has no fast internet connection.
so i would like to verify if, upon continuous usage, will the Gingerbread keyboard modify the word frequency over time?
i mean i could modify a script to just assign 0 as frequency value for all words and use make_dict, (or to avoid problems, just assign any random value from 0 - 255)
and as i use my keyboard, will it edit those frequency scores eventually?
anyway, im trying it out right now and would post my results here too.
again thank you very much for your insight
Thank you very much! (Hvala!)
lockzackary said:
hi there, i was so grateful to have found this thread after googling for almost 7hours for a tagalog dictionary
although your method of bytestreaming a forum could not work for for me who has no fast internet connection.
so i would like to verify if, upon continuous usage, will the Gingerbread keyboard modify the word frequency over time?
i mean i could modify a script to just assign 0 as frequency value for all words and use make_dict, (or to avoid problems, just assign any random value from 0 - 255)
and as i use my keyboard, will it edit those frequency scores eventually?
anyway, im trying it out right now and would post my results here too.
again thank you very much for your insight
Click to expand...
Click to collapse
I'm very much looking forward to your results..
it's driving me crazy everytime i reflash my ROM that i need to rebuild my Tagalog user dictionary.
@ytsejam_
Hey there, i was done with the dictionary although i have yet to test it with a compatible rom, and to further complicate thngs, its too tedious to populate the dictionary with tagalog text-speak (e.g.: cnu,sno)
As there are so much variations for a single word, hehe although im still building it up so hehe, i hope other pinoy's can wait for it,
As far as i know this approach on creating dictionaries only work on Samsung devices and not necessarily android so i hope by then they still own their galaxy hehe
Sent from my GT-I9000 using XDA App
Need a keyboard not just dictionary
Hi,
I just wanna add a new language (in this case, Persian) for keyboard.
I Use Cyanogen 7 and it supports Persian and Arabic very well. but it has no layout for Persian (but it has arabic) can you please help me with this?
Just some clue.
thanks
behdude said:
Hi,
I just wanna add a new language (in this case, Persian) for keyboard.
I Use Cyanogen 7 and it supports Persian and Arabic very well. but it has no layout for Persian (but it has arabic) can you please help me with this?
Just some clue.
thanks
Click to expand...
Click to collapse
Copy kbd_qwerty.xml and kbd_qwerty_black.xml to appropriate xml-xx subfolder and edit it in unicode. You should figure it out. It's pretty easy.
Hi, I tried installing it on CM7 Wildfire, but I keep getting App not installed. Do you know the cause maybe?
dcos said:
Hi, I tried installing it on CM7 Wildfire, but I keep getting App not installed. Do you know the cause maybe?
Click to expand...
Click to collapse
If it's just signed with the test-keys it will not install like a normal app. You would have to resign it with your own key.
@navdra
Added post regarding your work on new oxygen forum:
http://forum.oxygen.im/viewtopic.php?id=464
Hope it's ok with you?!
Hvala buraz!! Thank you
vr5411 said:
@navdra
Added post regarding your work on new oxygen forum:
http://forum.oxygen.im/viewtopic.php?id=464
Hope it's ok with you?!
Click to expand...
Click to collapse
It's fine. Just posted there too
Sent from my HTC Desire
Hi,
Did you need to change anything else except adding dictionary in raw-hr folder? I'm trying to add croatian dict to ICS keyboard but it looks like I cannot get system to recognise that dictionary is available.
Maybe some xml files should be updated?
dcos said:
Hi,
Did you need to change anything else except adding dictionary in raw-hr folder? I'm trying to add croatian dict to ICS keyboard but it looks like I cannot get system to recognise that dictionary is available.
Maybe some xml files should be updated?
Click to expand...
Click to collapse
Not sure why it does not work. Try to compile it from source. If you succeeded, share with the rest of us what you did to make it work.
Sent from my Galaxy S II
Has anyone managed to find a solution for this? I'm also looking to add a portuguese dictionary to the keyboard, though after adding the dictionary to latinime.apk it wasn't recognized.
navdra said:
Copy kbd_qwerty.xml and kbd_qwerty_black.xml to appropriate xml-xx subfolder and edit it in unicode. You should figure it out. It's pretty easy.
Click to expand...
Click to collapse
Hi, I'm trying to make montenegrin input language, it is similar to croatioan just two letters more Ś, ś, Ź, ź.
Opening with unicode notepad++ can't edit kbd_qwerty.xml and kbd_qwerty_black.xml
cm7.2

[GUIDE][DOCK][Updated] Disable popup and autoenable foreign layouts when docking

Using a soft keyboard different than the Asus one, when the dock is connected an annoying message pop up telling us that if we don't change the soft keyboard to the asus one, the dock keyboard could not function well.
This is mostly important for non US users, as when the soft keyboard isn't the Asus one, the layout used for the dock is the standard US one.
Root needed
Using Autostarts we can disable the popup when the dock is connected:
Download autostarts from the market, open the app, let it load all the the way, then click on Asus Keyboard under "Docking changed" and disable it
or in terminal
adb shell
su
pm disable com.nuance.xt9.input/.DockEventReceiver
For permanently change the standard layout of the dock keyboard:
Locate your national keychars in /system/usr/xt9/keychars
mine is qwerty-it_IT.kcm
The first 2 character after the - is the language of the keyboard, in my case Italian, the 2 characher after the _ is the country of the keyboard, Italy in my case.
copy this file in /system/usr/keychars
rename the standard one asusec.kcm in asusec.kcm.old for backup purpose.
then rename the one you copied in asusec.kcm
Locate your national layout in /system/usr/xt9/keylayout
mine is qwerty-it_IT.kl
copy this file in /system/usr/keylayout
rename the standard one asusec.kl in asusec.kl.old for backup purpose.
then rename the one you copied in asusec.kl
reboot and you are all done
P.S.
you can use root explorer to copy and rename those files, or you can do it with adb.
If you don't know how to use those, maybe is better to learn before messing around in the system files.
P.P.S.
If anyone know a free app that can replace autostarts, let me know so I can update the guide.
Great guide, thx a lot! If we mess with keychars and keylayout, we could also remap specific keys, right?
For example, I don't really need the three brightness buttons on the dock, i barely change brightness, and if i have to sometimes, i don't mind browsing to settings-->display.
Can we remap these to different keys OR specific apps, OR even better: to key combinations? Would be cool to have cut, copy and paste on the brightness buttons. What do you think?
Plus, one more off topic thing, I think you could know: Is there a file which could change mouse button mapping and perhaps enable additional mouse buttons (thumb mouse buttons for example)? I though of setting the "menu" key to the right mouse button instead of "back" for example.
Regards
qwer23
qwer23 said:
Great guide, thx a lot! If we mess with keychars and keylayout, we could also remap specific keys, right?
For example, I don't really need the three brightness buttons on the dock, i barely change brightness, and if i have to sometimes, i don't mind browsing to settings-->display.
Can we remap these to different keys OR specific apps, OR even better: to key combinations? Would be cool to have cut, copy and paste on the brightness buttons. What do you think?
Plus, one more off topic thing, I think you could know: Is there a file which could change mouse button mapping and perhaps enable additional mouse buttons (thumb mouse buttons for example)? I though of setting the "menu" key to the right mouse button instead of "back" for example.
Regards
qwer23
Click to expand...
Click to collapse
You can remap any key you want, I've seen a guide somewhere in the forums.
For the mouse I don't think you can do anything without some serious hacking, the dock trackpad follow the standard rules for mouses in android: left click = click, right click = back, whell button click = menu.
I also hate how they have implemented the 2 finger scrolling, when you scroll actually the trackpad long click where the cursor is, and invert the axis of the trackpad, so when you scroll down you are in fact long pressing and scrolling the cursor up, and so on.
It messes so many apps, as this simulated long click can be registered by the app
Updated on the first post how to disable permanently the asus keyboad popup when docking
qwer23 said:
Would be cool to have cut, copy and paste on the brightness buttons. What do you think?
Click to expand...
Click to collapse
You can do it with ctrl+x ctrl+c and ctrl+v
I can't see the Thank You button, but I thought I'd just say thanks!
This is an excellent guide and worked perfectly for my UK keyboard!
Much appreciated
I found an alternative to Autostarts, fire this commands in a terminal:
Code:
adb shell
su
pm disable com.nuance.xt9.input/.DockEventReceiver
These are the "cut&paste" commands for changing the layout:
Code:
adb remount
adb shell
mv /system/usr/keychars/asusec.kcm /system/usr/keychars/asusec.kcm.old
mv /system/usr/keylayout/asusec.kl /system/usr/keylayout/asusec.kl.old
cp /system/usr/xt9/keychars/qwerty-it_IT.kcm /system/usr/keychars/asusec.kcm
cp /system/usr/xt9/keylayout/qwerty-it_IT.kl /system/usr/keylayout/asusec.kl
I found my own solution for disabling the dock connected popup.
I modified the XT9IME.apk so that the popup is not displayed and posted it here before stumbling upon this thread.
Would it be possible to make a update zip, to do this in clockwork, ive just insalled a new rom, now i need to redo the fix.
jambo89liam said:
Would it be possible to make a update zip, to do this in clockwork, ive just insalled a new rom, now i need to redo the fix.
Click to expand...
Click to collapse
I could script this and have update.zips for it.
Perhaps someone else could create an app that does it via a menu system to select your country.
Fixed?
Over on http://forum.xda-developers.com/archive/index.php/t-1152317.html the last post says:
"The warning message has now been fixed, after the latest update 8.4.11. It now gives you the option of 'Do not show this again."
So maybe it's now fixed? (Don't have my Transformer at work to check for myself.)
You can use this as an executable (755) script file if you want to use another keyboard with another language
Code:
#!/system/bin/bash
su
mount -o rw,remount -t yaffs2 /dev/block/mtdblock3 /system
mv /system/usr/keychars/asusec.kcm /system/usr/keychars/asusec.kcm.orig
cp /system/usr/xt9/keychars/qwerty-de_DE.kcm /system/usr/keychars/asusec.kcm
mv /system/usr/keylayout/asusec.kl /system/usr/keylayout/asusec.kl.orig
cp /system/usr/xt9/keylayout/qwerty-de_DE.kl /system/usr/keylayout/asusec.kl
mount -o ro,remount -t yaffs2 /dev/block/mtdblock3 /system
Just replace the "de_DE" parts with your language code.
Just wanted to bump this b/c of the ICS release.
While those ADB commands give me a "segmentation fault"...
Azhad said:
adb shell
su
pm disable com.nuance.xt9.input/.DockEventReceiver
Click to expand...
Click to collapse
the following procedure still works like a charm on ICS!
Azhad said:
Locate your national keychars in /system/usr/xt9/keychars
mine is qwerty-it_IT.kcm
The first 2 character after the - is the language of the keyboard, in my case Italian, the 2 characher after the _ is the country of the keyboard, Italy in my case.
copy this file in /system/usr/keychars
rename the standard one asusec.kcm in asusec.kcm.old for backup purpose.
then rename the one you copied in asusec.kcm
Locate your national layout in /system/usr/xt9/keylayout
mine is qwerty-it_IT.kl
copy this file in /system/usr/keylayout
rename the standard one asusec.kl in asusec.kl.old for backup purpose.
then rename the one you copied in asusec.kl
reboot and you are all done
Click to expand...
Click to collapse
Thanks again for working this out!
can anyone please make the dock keyboard work with latvian? i hate anysoftkeyboard, it stops working and its craching all the time.
i want to use dock like on a normal computer.
Does latvia have its own keyboard layout or do you use one that another country uses as well? Which county abbreviation would it be (like en for English and de for German)?
Doesn't work ?!
modmatt said:
the following procedure still works like a charm on ICS!
Click to expand...
Click to collapse
Doens' work for me, in fact, if I'm copying the de_DE files from Revolver 4 over to my EOS AOSP rom build and put the keychars (asusec.kcm) and the keylayout (asusec.kl) in their respective folders and reboot afterwards, nothing happens to the dock input. Still stays the same old QWERTY like before.
But I can see in file manager that the copying was successfull. New asusec.kl and asusec.kcm are there.
Someone help me ?
You already mentioned the reason yourself, I think. As you are using an AOSP ROM it means that you're using a plain vanilla android basis, which - correct me if I'm wrong - obviously doesn't know anything about asus*.* keyboard files. Just copying some files somewhere is not enough to let the system know what to do with it.
You probably have to deal with some scripts, that are run at every start up, that give proper instructions for the operating system. Unfortunately this is way beyond my knowledge.
modmatt said:
You already mentioned the reason yourself, I think. As you are using an AOSP ROM it means that you're using a plain vanilla android basis, which - correct me if I'm wrong - obviously doesn't know anything about asus*.* keyboard files. Just copying some files somewhere is not enough to let the system know what to do with it.
You probably have to deal with some scripts, that are run at every start up, that give proper instructions for the operating system. Unfortunately this is way beyond my knowledge.
Click to expand...
Click to collapse
What are you going on about? This works just fine on ICS with Revolver, just changed my dock back to azerty. rayman33 just did something wrong.
Please read that rayman33 uses an AOSP ROM that has nothin to do with Asus. You are using Revolver, which is bases on Asus' original ROM - that is why it works for you but not for him.
i just found this post as i'm having the very same issues using my transformer tf300 - currently running official stable CM10
the bad thing about it is only, in my CM10 i don't even have a /system/usr/xt9/ directory and when looking into the backup of my stock ASUS rom, I do have /system/usr/xt9/ and even subdirs keychars and keylayout, but without any content.
it would be lovely if someone would be so kind to suck out the de_CH files for me and could post them here!

Phone not developer unlocked after trying several times

I have used the method posted in this forum (not using chevron) and my phone doesn't get developer unlocked. If this is because I'm running version 8107
Camry Racing said:
I have used the method posted in this forum (not using chevron) and my phone doesn't get developer unlocked. If this is because I'm running version 8107
Click to expand...
Click to collapse
It shouldn't be. I also have a 8107, and it's interop unlocked. MFG method worked flawlessly. What's the error message you get when you try to deploy XAPs? What are you using for app deployment? Have you installed the latest Windows Phone SDK (as far as I know, it's necessary to be installed - someone correct me if I'm wrong)?
cant conect phone not booted or not developer unlock
and using application deployment
but its not getting unlock I tried verifying and it isnt getting unlock
Ok, just for clarification, the site has a couple of different ways to unlock your phone and you haven't specified which one you are using.
That being said, I have the lastest update and ever time I've flashed my phone, this works.
And no, you don't need anything other thant MFG installed on your phone to developer unlock it.
I have to unlock it becasue that is the only way I can get wifi sharing to appear.
From: http://forum.xda-developers.com/showthread.php?t=974874
How to Un-Lock your Phone without Chevron 7
You can unlock the phone by using the MFG registry editor.
1.Open the MFG app and use the password to open it. If you don't know it's (appmfg#*#)
2.Go to Engineer Menu -> Other Settings -> Edit Registry
3.Set your ROOT PATH to "HKEY_LOCAL_MACHINE"
4.Set your input path to "\Comm\Security\LVMod"
5.Set your input key to "DeveloperUnlockState" and set to DWORD
6.Hit Query. Output result should return a "0" or a random long number. If it does continue.
7.Set your input data box to "1" and hit SET. Output result should be 1
How To Keep Your Phone Unlocked
You can keep your phone unlocked and prevent Zune from re-locking it.1.Open the MFG app and use the password to open it. If you don't know it's (appmfg#*#)
2.Go to Engineer Menu -> Other Settings -> Edit Registry
3.Set your ROOT PATH to "HKEY_LOCAL_MACHINE"
4.Set your input path to "\Software\Microsoft\DeviceReg"
5.Set your input key to "PortalUrlProd" and set to DWORD
6.Hit Query. Output result should return data. If it does continue.
7.Keep your input data box empty and hit SET. Output result should be 0
8.Keep this screen open and continue to Part 2
***
when you do the above, do the outputs match what's writen?
You can unlock the phone by using the MFG registry editor.
1.Open the MFG app and use the password to open it. If you don't know it's (appmfg#*#)
2.Go to Engineer Menu -> Other Settings -> Edit Registry
3.Set your ROOT PATH to "HKEY_LOCAL_MACHINE"
4.Set your input path to "\Comm\Security\LVMod"
5.Set your input key to "DeveloperUnlockState" and set to DWORD
6.Hit Query. Output result should return a "0" or a random long number. If it does continue. (randon long number for me )
7.Set your input data box to "1" and hit SET. Output result should be 1 (1 for me )
How To Keep Your Phone Unlocked
You can keep your phone unlocked and prevent Zune from re-locking it.1.Open the MFG app and use the password to open it. If you don't know it's (appmfg#*#)
2.Go to Engineer Menu -> Other Settings -> Edit Registry
3.Set your ROOT PATH to "HKEY_LOCAL_MACHINE"
4.Set your input path to "\Software\Microsoft\DeviceReg"
5.Set your input key to "PortalUrlProd" and set to DWORD
6.Hit Query. Output result should return data. If it does continue. (here it ouputs 0 for me )
7.Keep your input data box empty and hit SET. Output result should be 0 (of course it returns 0 again)
8.Keep this screen open and continue to Part 2
then what is wrong?
Camry Racing said:
How To Keep Your Phone Unlocked
You can keep your phone unlocked and prevent Zune from re-locking it.1.Open the MFG app and use the password to open it. If you don't know it's (appmfg#*#)
2.Go to Engineer Menu -> Other Settings -> Edit Registry
3.Set your ROOT PATH to "HKEY_LOCAL_MACHINE"
4.Set your input path to "\Software\Microsoft\DeviceReg"
5.Set your input key to "PortalUrlProd" and set to DWORD
6.Hit Query. Output result should return data. If it does continue. (here it ouputs 0 for me ) This might be you issue, check your spelling and the root path, it should return a value other than 0, I think even if you unlock it, but I could be wrong.
7.Keep your input data box empty and hit SET. Output result should be 0 (of course it returns 0 again)
8.Keep this screen open and continue to Part 2
then what is wrong?
Click to expand...
Click to collapse
Also, how are you or what is telling you it isn't unlocked?
cant side load apps because is says that isn't developer unlocked
Etaduck said:
6.Hit Query. Output result should return data. If it does continue. (here it ouputs 0 for me ) This might be you issue, check your spelling and the root path, it should return a value other than 0, I think even if you unlock it, but I could be wrong.
Click to expand...
Click to collapse
This is wrong. First query should return a number different from zero. If you switch to STRING, it should display the actual link to MS. So, I guess that you misspelled the registry key/path.
Don't forget to clear the PortalUrlInt key - without it it won't work.
I have done this several times checking everything is alright and I always get the same result

ESCAPE key mapping in DEX mode

I have the keyboard book cover and i really miss the ESC and del keys. One way around this is to use a keymapper software and you are done. But this is not the scenario when used in DEX mode. In DEX mode you wont be able to change the keyboard to the custom one. So i was researching how to edit the kl and kcm files to get the job done. However i am not able to achieve my goal that is remap '~' ( the first key ) to ESCAPE.
The tablet is rooted with magisk on android Q.
Code:
# tail -n11 /proc/bus/input/devices
I: Bus=0018 Vendor=04e8 Product=a035 Version=0000
N: Name="Tab S5e Book Cover Keyboard"
P: Phys=
S: Sysfs=/devices/platform/soc/880000.i2c/i2c-7/7-002a/input/input13
U: Uniq=
H: Handlers=sec_key_notifier event7
B: PROP=0
B: EV=13
B: KEY=4 0 0 0 0 0 0 0 0 0 2400169000400000 77ffffffffffffc
B: MSC=10
mounted the /system to readwrite
Code:
mount --remount / -w
changed directory to /system/usr/keylayout and /system/usr/keychars couldnt find the relevant Vendor_04e8_Product_a035.kl and Vendor_04e8_Product_a035.kcm respectively. So i created them by copying generic.kcm and generic.kl files.
Now in the kl file . KEY1 is ESCAPE. which is what i want. but after doing the above i am not getting the action of ESCAPE after a disconnect and reconnect and testing in termux. will the OS never use the custom kl and kcm files that i created ?
Hi. Did you manage to find a way? Thanks.
gabrielgon said:
Hi. Did you manage to find a way? Thanks.
Click to expand...
Click to collapse
Sorry i have not found a way.
Hello,
It seems that android is inspecting through a lot of directories until finding a suitable charmap.
See, maybe, Android documentation :
Android doc
If you find those kl & kml files, it would be interesting to share them.
And if you could retrieve the french language keyboard (fr-FR) charmap (maybe after downloading it, it would be useful for me as I would like to map not only ESC key, but F1... F12 also).
As we can select apparently other keyboards mapping for Book cover keyboard (tried with "Extra keyboard layouts" on Play Store, they're selectable), so maybe a solution would be to generate an APK embedding the new keyboard charmap using something like this https://exkeymo.herokuapp.com/ (or generate the APK from scratch).
Delete please.

Categories

Resources