• Introducing XDA Computing: Discussion zones for Hardware, Software, and more!    Check it out!

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

Search This thread

Azhad

Senior Member
Nov 20, 2005
387
26
Rome
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.
 
Last edited:

qwer23

Senior Member
Jan 6, 2010
1,375
290
Realm of Württemberg
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
 

Azhad

Senior Member
Nov 20, 2005
387
26
Rome
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

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
 

JB.

Member
Nov 12, 2010
14
2
Bolton
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 :)
 

JD82

Senior Member
Feb 1, 2009
178
60
www.anddev.it
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
 

jschmier

Senior Member
May 8, 2011
264
436
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.
 

MaluNoPeleke

Senior Member
Jan 8, 2011
926
174
www.peleke.de
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.
 

modmatt

Member
Jan 16, 2011
39
8
Just wanted to bump this b/c of the ICS release.
While those ADB commands give me a "segmentation fault"...
adb shell
su
pm disable com.nuance.xt9.input/.DockEventReceiver
the following procedure still works like a charm on ICS!
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 :)

Thanks again for working this out!
 

robinsjanis

New member
Dec 11, 2011
3
0
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. :)
 

modmatt

Member
Jan 16, 2011
39
8
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)?
 

RaymanFX

Inactive Recognized Developer
Jan 8, 2011
1,122
16,501
25
Hannover
Doesn't work ?!

the following procedure still works like a charm on ICS!

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 ?
 

modmatt

Member
Jan 16, 2011
39
8
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.
 

Helaas

Member
Jan 2, 2011
27
1
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.

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.
 

modmatt

Member
Jan 16, 2011
39
8
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.
 

rolandkohn

Member
May 22, 2012
14
1
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!
 

Top Liked Posts

  • There are no posts matching your filters.
  • 11
    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.
    5
    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