Doing something useful: Tilt 2 keyboard map for Android

So, as I mentioned, there is a usable Android port for my phone - the Tilt 2 variant of the Touch Pro 2 (codenamed Rhodium). Now I have negotiated all the Google fails surrounding making an Android setup vaguely useful, I may use it along with WM for a while, until the port is better. One problem with that is that the keyboard mapping on current Android builds for the Tilt 2 is completely wrong.

Most Android porting work is being done by developers with Touch Pros, for a start, so the keyboard mappings are set up for that phone - rather than the TP2 - out of the box. If you have a TP2 it's fairly similar so most keys are fine, just a few are wrong. For the Tilt 2, though, AT&T got HTC to totally rework the keyboard. A Touch Pro 2 has a number row across the top; on the Tilt 2 those are symbol keys, and numbers are alternate mappings for three of those keys and seven of the letter keys, in a numeric keypad layout. So what you get when typing on a Tilt 2 in Android doesn't at all match what's printed on the keys. There are some other differences in the mapping too, with the effect of rendering some rather important characters - like / - completely inaccessible on the hardware keyboard by default.

So, I decided to actually do something useful rather than just playing with other people's work, and fix it. Rather to my surprise, I was successful. I set up a key mapping configuration that makes the important functions of the Tilt 2 keyboard work as they should. Due to some issues with the 'upstream' kernel work that I won't bore you with, I haven't quite polished it off yet, so some less important things don't work right; once the kernel stuff is worked out (once some Rhodium-specific fixes that one of the kernel guys has lands in the main tree and there's a new build I can work off) I'll polish it up so everything's 100% and send it up to the XDAndroid people. Yay - I feel useful! I'm also going to do a TP2 map to fix the TP2 keys that don't work right, if someone with a TP2 provides me with the necessary data.


No comments.