Thursday, August 12th, 2010

Yesterday I tried the Android Bluetooth keyboard driver “BlueKeyboard JP” (Market link) again, and got it to work with my Palm Bluetooth Keyboard. The catch is/was that it will only connect to the keyboard if it's discoverable, not if the keyboard is just trying to connect. Once connected, though, it works fine for all ASCII input, though the Shift key acts sticky if not pressed in combination with another key.

Special functions: The arrow keys and Enter act like the phone trackball, throughout the phone (not just in text fields) (update: but not in the menu-button menu!). The keyboard's marked [Fn][`] = [Esc] works as Back and the [Cmd] key works as Menu; I haven't found any other hard-button shortcuts (home/search/camera/volume etc). (The driver's web page is all in Japanese, and I haven't found an English manual, though the settings screen on the phone has English.)

Update 2010-08-27:

Unsurprisingly from the name, this driver is also a Japanese input method; after several times accidentally shifting into Japanese mode I have determined that the toggle for this is [Shift][Space].

[Fn]<number> combinations (which are probably this keyboard's emulation of hard F-keys) have the following functions. No other [Fn] combination that I tried, including other numbers, produced noticeable results, but I may not have been in the right context to see an effect.

[Fn][7] Music: Previous track
[Fn][8] Music: Play/pause
[Fn][9] Music: Next track
[Fn][_-] Volume down
[Fn][=+] Volume up

Things that don't work: The Caps Lock key (but the Shift key acts as does the Android soft keyboard's shift (pressing twice locks)). The forward delete (Del) key. Unsurprisingly, the keyboard's onscreen battery level indicator shortcut — it types garbage — but the keyboard does have a hardware low-battery light.

(End update)

When in use, there is an AdMob ad bar at the bottom of the screen (where a soft keyboard would be). There is a paid version on the Market, but one reviewer said that it just displays the company's own ads instead — which seems odd.

I'm tempted to look into writing a keyboard driver myself, for the sake of having proper reconnection behavior and non-ASCII characters, but for now this seems good enough and there are other things to worry about (e.g. notepad software; Fliq Notes syncs with my existing desktop notes but lacks some features compared to the PalmOS app).

I find Dasher an interesting input method, and after getting my Android phone I thought it would be nice to try Dasher on it. However, at the time there was no Dasher port or any information on the Web about the possibility, so I looked into writing one. I found several dead projects and miscellaneous repositories and eventually found that the main Dasher repository had a Java port of Dasher. I dabbled in getting it to run on Android, but before I got anywhere I found Dasher was now in the Android Market, though there was still no discussion/announcement/public project info.

I shall now dump the links I collected while I was working on this project, so as to make the matter of Dasher and Java better-indexed. Unfortunately, I don't recall the significance of all of them.

The Dasher port that's currently in the Market is pretty solid. It has a variety of options for input (touch, trackball, tilt); the main thing it's missing is independent control of the X/Y sensitivity of the tilt control.