View Full Version : Generic Bluetooth Keyboard
02-02-2007, 10:18 AM
I try to connect a generic keyboard (http://cgi.ebay.it/ws/eBayISAPI.dll?ViewItem&ih=006&sspagename=STRK%3AMEWN%3AIT&viewitem=&item=160074968567&rd=1&rd=1)
after setting generic 105-key pc on hardware keyboard in control panel
I search new bluetooth device when find KEYBOARD I select that and set passcode to "0000" default value for that keyboard (and check trusted device) then It try to pairing and write paring complete.
The details are this:
Device Name: KEYBOARD
Trusted device: checked
Device Type: Uncategorised
Supported profiles: SPP
Bluetooth addr: XXX
I can't click on disconnect, I don't know how connect the keyboard of course it don't work.
I forghet something? what's wrong?
02-02-2007, 10:31 AM
# hcitool info MAC
Requesting information ...
BD Address: MAC
Device Name: KEYBOARD
LMP Version: 1.1 (0x1) LMP Subversion: 0x2c2
Manufacturer: Cambridge Silicon Radio (10)
Features: 0xbc 0x06 0x07 0x00 0x00 0x00 0x00 0x00
<encryption> <slot offset> <timing accuracy> <role switch>
<sniff mode> <RSSI> <channel quality> <CVSD> <paging scheme>
I connect with:
# hcitool cc MAC
# hcitool lq 00:0A:3A:31:F9:45
Link quality: 233
Bluetooth applet change color and have disconnect option active but the keyboard doesn't work :(
02-02-2007, 10:58 AM
Supported profiles: SPP
This cryptic line means your (probably cheap) keyboard does not support HID bluetooth profile so you are out of luck with easy nice out of box experience on any system including N770 and N800. You need extra drivers - kbdd in case of n770 or n800. See http://fanoush.wz.cz/maemo/#kbdd If your keyboard is not one of those already supported you need to modify kbdd to add support for your keyboard (basically means to figure out keycodes the keyboard sends when keys are pressed and released).
02-02-2007, 12:52 PM
It looks like the Freedom Keyboard or one of its namesakes, which is not HID compliant. There are drivers for it for the 770 (search the forums; I'm just too lazy today :D ) but I don't know if they work for the N800.
It's a very nice keyboard though, especially for ten finger typists.
02-02-2007, 04:59 PM
this file save device type informations:
# cat /var/lib/bluetooth/00\:19\:4F\:A4\:BB\:E2/classes
phone code: 0x522204
Uncategorised code: 0x001f00
If someone can write here the code of keyboard I will try to change it.
this file have features info: /var/lib/bluetooth/00:19:4F:A4:BB:E2/features
that are the same of hcitool info output.
probably I need to set this file too...
so I need keyboard class code and features
02-19-2007, 01:38 AM
Anyone tried the Apple Bluetooth keyboard with the IT800? I do not know if it is HID compatible, or not...but the price is better than some keyboards.
03-02-2007, 02:12 PM
Have anyone got a Logitech DiNovo keyboard connected to N800? It is discovered and passkey is displayed (i think it's auto-assigned), but it just won't complete pairing. :(
It works fine on my Windows Mobile device.
04-13-2007, 09:17 AM
It looks like the Freedom Keyboard or one of its namesakes, which is not HID compliant. [..].
I just noticed that there is a new Freedom keyboard out, "Freedom Uniiversal Keyboard". This one has both HID and SSP profiles. Unfortunately not yet available with the layout I prefer. Seems to still be cheaper than e.g. the Nokia keyboard though.
EDIT: ..and now I found that other thread that said that HID doesn't in fact seem to work that well, so it's back to kbdd for this one too.. so no joy, apparently. The search continues.
is there any reason why my Freedom keyboard drops characters or inserts extras when II use kbdd?
It's as error-prone as the on-screen keyboard and just as slow due to consttant editing of the text. :( i have t very cccarefuly press eachkey ttttto ensure it registers correctly otherwise this happens!
05-07-2007, 09:18 AM
Yes, this is known problem and can happen also with HID keyboards. Unwanted key repeat is caused by key release event received too late so the autorepeat feature of linux kernel kicks in since it thinks key is still down. Can be related to high CPU usage on tablet or 'noisy' environment on bluetooth/wi-fi frequencies or maybe low batteries or maybe even specific keyboard model with poor bluetooth implementation. Can be also poor bluetooth implementation in linux kernel. Hwever completely lost keys should not happen, only key events received late.
This issue can be partially fixed by raising kbdd priority (in case of high CPU usage) or changing key repeat rate. Happened to me few times. Recently it seems to work fine but I'm not using the keyboard so much. Sadly there is nothing that can be done in kbdd to solve this.
05-10-2007, 04:05 PM
How about disabling key repeat in kbdd? automatically sending a 'keyup' command after 'keydn' for all keys? surely something could be changed in kbdd. The source code is pretty easy to understand. Makes me wonder why the dev didn't write a 'debugprint' function.
05-11-2007, 05:03 AM
How about disabling key repeat in kbdd?
There are other tools for that but yes it could be added to kbdd too (together with kitchen sink ;-) In initfs there is evrepeat that might do what you want. Try as root this
chroot /mnt/initfs evrepeat
This could be added to btkbd script if some variable with preferred repeat rate is set in btkbd.conf.
automatically sending a 'keyup' command after 'keydn' for all keys?
Ugly hack, it is easier to simply turn it off in linux kernel if you prefer no key repeat.
The source code is pretty easy to understand. Makes me wonder why the dev didn't write a 'debugprint' function.
Yes, it is pretty simple. It is so simple you can actually add features mentioned above if you feel kbdd is right place for them. Or even rewrite it from scratch with bluetooth specifically in mind (might be good idea). kbdd was not done by me, I just recompiled it for maemo and added one my keyboard and few done by others. So far I wanted to minimize other changes since in such case it would be better to really start from scratch.
There is -d option which does print sent/received key codes. Try to run kbdd executable to see help. You can also set DEBUG=yes in btkbd.conf to have the debug output enabled and redirected to /tmp/kbdd.log
vBulletin® v3.8.7, Copyright ©2000-2013, vBulletin Solutions, Inc.