Subject: [.plan] Bluetooth HID-Client (was: Re: Bluetooth-Wunderwelt)
From: Boris Kraut <[email-masked]>
To: undisclosed-recipients: ;
Date: Tue, 18 Dec 2012 02:07:26 +0100

Ich habe schonmal kurz ueber die -- wenn funktionierend --
ach so tolle Wunderwelt von Bluetooth geschrieben. Was mir
bisher immer noch sehr fehlt ist, die Tastatur oder Maus
von meinem aktuell genutzten Rechner ueber dessen BT-
Schnittstelle an mein Tablet zu koppeln.

Ich habe mir vor ein paar Wochen daher nochmal das Programm
HIDClient [0] angeschaut und gemerkt, dass ich damals wohl
eine alte Version getestet habe. Mit [1] komme ich schon
relativ weit: Nach dem Entpacken und Kompilieren (benoetigt
BlueZ-Header und /usr/include/stropts.h) kann man mit 

% hidclient -l

sich verfuegbare Eingabegeraete anzeigen lassen und per

% hidclient -e $NR -x

versuchen das Geraet der Nummer $NR auf dem lokalen Rechner
zu sperren und per Bluetooth zu announcen. Das klappt auch
so weit: Ich sehe das Geraet remote als HID, kann mich damit
pairen, Eingaben werden lokal nich tmehr ausgefuehrt sondern
im Fenster des HID-Clients angezeigt nur remote.. da passiert
nichts. Kann auch nicht, denn das Log sagt mir, dass die Ver-
bindung schon wieder getrennt ist.

Ich weiss nicht woran das liegt, ob es an den verbauten BT-
Dongles liegt oder ob ich was prinzipiell falsch mache. Ich
bekomms einfach nicht zum Laufen.. aber irgendwie hab ich das
Gefuehl, dass da nur noch ne Kleinigkeit fehlt. Also wenn
das jemand mal getestet hat/es testen will und es funktioniert,
waere ich fuer nen paar Infos per Mail echt dankbar.

Wer das mal ausprobieren will und Probleme damit hat, dass
das Geraet auf der Gegensteite als Eingabe-Device erkannt
wird, dem koennte das helfen:

% hciconfig hci0 class 0x000540
% hciconfig hci0 name \'Bluetooth Keyboard\'
% hciconfig hci0 sspmode 0
% sdptool del 0x10000
% sdptool del 0x10001
% sdptool del 0x10002
% sdptool del 0x10003
% sdptool del 0x10004
% sdptool del 0x10005
% sdptool del 0x10006
% sdptool del 0x10007
% sdptool del 0x10008

Damit setzt man den ersten BT-Adapter (hci0) fest auf die ent-
sprechende Klasse, vergibt einen Namen und sperrt alle anderen
Klassen.

[0] http://anselm.hoffmeister.be/computer/hidclient/
[1] http://anselm.hoffmeister.be/computer/hidclient/hidclient-20120728.tar.bz2