View Single Post
Posts: 7 | Thanked: 1 time | Joined on Oct 2010
#351
Originally Posted by technosopher View Post
I've figured out how to connect non-HID (ie, SPP) bluetooth keyboards! It turns out that once you establish the initial bluetooth connection (ie, with rfcomm connect /dev/rfcomm0 XX:XX:XX:XX:XX:XX), you need to run an intermediary driver binary called kbdd, which can handle a fairly impressive range of non-HID keyboards. I wasn't immediately able to find a pre-compiled binary for Freemantle, so I went ahead and compiled my own, which you can download here. Usage is extremely staightforward, but be sure to read these instructions anyway.
Now on to applying the correct layout settings! (The keyboard may be connected, but I'm now having the same keymap-related woes that many of the rest you have reported).

Many thanks to those who helped me get this far!

EDIT: It turns out that this svelte little daemon package may also help with many of the keymap problems that people have been running into - because if you download the kbdd source, you can actually code specific keyboard layouts directly into the compiled executable. I know this because the supplied profile for my particular keyboard (a freedom model) was actually somewhat incorrect, and I discovered that the most effective and painless way to fix those errors was simply to go into the source code and move keys around. Granted, this approach only works (a) if someone has already set up a base profile for your model of keyboard, or (b) you have a fairly sophisticated understanding of the physical architecture of your keyboard, but I figured it was worth describing here nonetheless.

Anyway, the gist is that I now have a non-HID Freedom keyboard running pretty much flawlessly. Thanks again to everyone who made that possible!

I also have a spp keyboard. But it appears the kbdd file and the instruction link are both broken. Does anyone still has the binary and the instruction? Thanks in advance.
 

The Following User Says Thank You to guoyuucla For This Useful Post: