Modify keyboard settings in Android x86 4 RC2

[German Edition]Here I’ve introduced Android x86, which I’ve installed on an ASUS Eee PC 701 G Netbook. Because I’ve a German keyboard on this machine, I tried to change keyboard settings in Android. During this process I stumbled over a few things. For instance, the @ is missing on German keyboard. Below I will show, how to change keyboard layout to German and how to add a @ character.

Werbung

Change external keyboard layout to German

To change keyboard layout on Android on my Eee PC, I’ve invoked the Settings app and went to Language & input.

The entry Language (in the right column) just changes the OS language. I used the entry Default to change android keyboard settings. This invokes a popup window, that shows options to select the input method.

Use Configure input methods in the lower part of the popup window, to show the following page.

The page contains an entry Physical keyboard layout, that opens another page. Within this page I choose “German” as keyboard layout. After closing all pages, I could use a German keyboard layout with umlauts ä, ö, ü ß, and also y and z keys was exchanged to fit my keyboard.

Patch the keyboard layout file

Unfortunately the German keyboad layout shipped with Android x86 4.0 RC2 doesn’t supports extra characters like the at @ – which is needed for Google account login. The AltGR+Q key combination won’t work. In [5] I found a suggestion to substitute the files below:

But this seems to be too complicated. But in [5] the article [6] was linked, the this article contains links to other sites, disussing internals of android keyboard layout files. So I decided to patch the keyboard layout file and add the @-character. The keyboard layout is keept in a .kcm file – the content of this file is discussed at [7].

This should enable the @-character on key Q. But how to change Generic_de.kcm on my android device? It’s not possible to copy the altered file from Windows to an android device, because system folder is write protected (althought I’ve installed android with system folder als re-writeable).

Change Generic_de.kcm on the android device

Because it was late in the night, I did not experiment with Busybox in adb shell. I bootet a USB thumb drive containing Ubuntu as a live system. Then I used the unity launcher on the left side of Ubuntu desktop to invoke file manager.

Then I mounted the device android x86 shown in the file manager’s left pane. The device android x86 is the ssd partition with the installed android x86. Then I minimized this window.

Now we need to get root access rights. Therefore in invoked the terminal (I selected the top most entry in the left bar to invoke the dashboard, then typed ““terminal” and selected the terminal icon).

Werbung

Within the terminal window I executed the following commands (each command must be confirmed with enter key):

sudo su
nautilus

The last command invokes Ubuntu file manager nautilus with root access rights. The warning, that natilus can’t write a .config file in /root/ may be ignored (click OK button).

After the 2nd instance of nautilus file manager was shown, I selected the device “Android-x86” and navigated to android-4.0.RC2 –> system –> usr –> keycharc.

You can open file Generic_de.kcm either with a double click or use right mouse button to show a context menu and select Open with texteditor. In my environment, the latter method shows a corrupted file in gedit – so I used a doucle click to open the file.

Then I scrolled down in editor window to the key definition for Q and changed the entry as shown below.

The value “none” in last line was changed to “@”. Afterward, you are able to save the altered file, using the save button in editor window. I closed gedit, unmounted device “Android-x86” in nautilus and shot down Ubuntu (use the button with the toothed wheel in the upper right desktop corner)

After booting Android x86 again, I was able to enter also @ in notes app, as shown below. Just press AltGR+Q for a @ character.

This should enable the Euro character. But something went wrong and I wasn’t able to use the German keyboard layout in a proper manner. I reverted back to my first file version and the keyboard worked as espected (but withoud € character). Maybe the trick mentioned in [5]: copy alternative keyboard files to system folder and rename them to Generic_de.* will help. I haven’t investigated it deeper yet.

In part 4 I will show, how to add an ARM emulator to support ARM based Android apps.