Monday, October 29, 2012

EKH Tutorial 2 - Remapping some keys

This is the second tutorial for the External Keyboard Helper and this time we will create a custom layout and change the mapping for two keys.

If you missed the first tutorial you can find it here.

My Targus iPad bluetooth keyboard have a couple of non standard mappings that I need to fix. To do this I enter the Advanced settings and choose Customize keyboard mappings.



Since this is my first custom layout (you can have two) I choose to put it into the Custom 1 slot.


First I want change the scancode for Back because the "Esc" button on my keyboard does not use scancode 1 for the ESC key as keyboards normally do. So I select the first line in the list which is the scancode-1-to-Back mapping. (This mapping is to make the ESC key send the Back keycode instead of the ESC keycode. Some die hard vim users will want to remove this mapping but for most people having Back mapped to the ESC key is the preferred choice.)


Selecting this line brings up the key mapping dialog.


Since I just want to change the scancode I press the Change button and then press the Esc key to read it's real scancode that turns out to be 139. (Notice that this is a Keycode mapping which is different than the more common Character mapping.)


When I press Save it will actually create a new mapping for scancode 139 and keep the old one. If I want to remove the old mapping I need to select it again press Delete but usually I leave the old ones unless the conflict with something else. As you can see changing the scancode for an existing mapping can be used to copy a mapping. Keep in mind that if a mapping for scancode 139 already exist it would be overwritten without any warning.

I also have one more mapping that I need to change for this keyboard and it's scancode 86 so I press the line for the scancode 86 mapping. (Notice that this is a Character mapping with the Keycode checkbox cleared)


I press Change and press the key on my keyboard that has the < > | signs on it and it turns out that it uses scancode 41.


Pressing save creates a copy of the mapping but now with scancode 41. You can also see the scancode 139 mapping I made in the previous step.


Since I'm done for now I just back out back into the settings menu where I can see that my selected layout has changed from Swedish to Custom 1.


I have now changed the two keys that wasn't using standard scancodes and this is the end of tutorial 2. In the next tutorial we will start doing some tweaks in the advanced settings.

Sunday, October 28, 2012

EKH Tutorial 1 - Getting started



This is the first of a number of tutorials for my app External Keyboard Helper. This tutorial will help you doing a basic setup to get you started.

But first a couple of things to keep in mind:
  • There is a free demo version. Try that first if you have the slightest doubt that this is the app for you.
  • If your keyboard isn't working att all with your device in the first place, then my app will not help you.
Assuming you have bought the app (or installed the free demo version) the first thing you likely do is to try start the app with the app icon. Input methods needs to be enabled and the app will detect that it is not enabled and launch the settings for you so that you can enable it.


Now you need to check the little checkbox to enable the new input method.


Android will throw up a warning about using user installed input methods, this is standard procedure to remind you that ANY input method is potentially a keylogger. You will get the same warning if you install and enable popular soft keyboards.


This is a legit warning and is the very reason why I warned about using pirated and resigned input methods.

That being done, let's enter the settings and see what we can find.


The first time you enter the settings it will read your language and locale settings and try to autodetect which layout you might want to use. Since I've configured my phone to English (United States) when making the screenshots it autodetected English (US) layout. However, since I live in Sweden and my keyboard has a Swedish layout I am not satisfied with the automatic detection and instead manually selects the Swedish layout.


Lastly for External Keyboard Helper to do anything it needs to be selected as the active input method. There are several ways to select the active input method and the method is different between Android 2.x and Android 3.x/4.x. However one way to do it is to start the app icon for External Keyboard Helper (again).

This time, when External Keyboard Helper has been enabled, it will ask you what you want the app icon to do.


For this example I choose Show Input Method selector (you can change this later if you want) and it will present the Input Method selection dialog.


I choose External Keyboard Helper Pro as the new active Input Method. Whenever I want the virtual keyboard back I can repeat this procedure and change it back. By default it will also show this dialog whenever a Bluetooth keyboard is connected or disconnected.

So now I have enabled the External Keyboard Helper input method and configured it to use the Swedish layout. Then I selected the External Keyboard Helper to be the active input method and now or setup is complete and I can start using my external keyboard.

This is the end of tutorial 1 and in the next tutorial we will remap a couple of keys that does not work right with the predefined layout on my Targus iPad keyboard.

Dear Spotify developers...

...why does Spotify still look like this on my Tablet?



When all it takes is a 2 minute hack with apktool to make it look like this:


At least the recent versions does not contain broken landscape layouts that needs removing like the ICS preview and the first releases did so now all it takes is a search and replace in the manifest, build new apk and the sign it. (This however does not feel right and I've seen there are already self-signed versions floating around on the net (no I did not make any of them). Modified and resigned apps are a security problem because unless you modified it yourself you cannot know what else has been changed.)

However, while missing landscape support was irritating but acceptable in the preview version you have pushed many new versions since then and landscape mode is still missing. Why?

If it looks stupid on my tablet, then imagine how it looks when I connect my Motorola Xoom to my 42 inch plasma.

So please, for me and for all the other Spotify premium users that runs Spotify on other devices than just phones, FIX THIS NOW!

Sunday, October 14, 2012

Android 4.1.2 on the Galaxy Tab 8.9

CyanogenMod 10 (Android 4.1.2) running on a Samsung Galaxy Tab 8.9 Wifi (P7310)

Follow the progress here: http://forum.xda-developers.com/showthread.php?t=1777398