it-swarm.com.de

Ist es möglich, dass sich ein Computer wie ein Bluetooth-HID-Gerät verhält?

Ist es möglich, dass sich ein Computer wie ein Bluetooth-HID-Gerät verhält? Das heißt, wenn ein lokaler Computer mit einer Standard-USB-Tastatur angeschlossen ist, können andere Geräte diesen Computer erkennen und als Bluetooth-Tastatur verwenden.

Ich möchte eine Linux- oder OS X-Anwendung erstellen (oder eine vorhandene verwenden, obwohl ich keine gefunden habe), die sich wie oben beschrieben verhalten kann, aber ich bin nicht sicher, wo ich anfangen soll oder ob es überhaupt möglich ist.

So:

  • Ist das, was ich beschreibe, möglich?
  • Gibt es Anwendungen, die das tun, was ich beschreibe?
  • Gibt es Bluetooth-Bibliotheken oder -Bindungen, die hilfreich sind, wenn noch keine Anwendung vorhanden ist (ich nehme an, dass dies nicht der Fall ist)? (Ich kann die meisten gängigen Sprachen von heute sehr gut verwenden, daher würde ich eine Bibliothek vorziehen, die für diese Aufgabe am besten geeignet ist, sofern sie unter Linux oder OS X verfügbar ist.)
  • Andernfalls sieht die Bluetooth-Spezifikation ziemlich dicht aus. Gibt es spezielle Anleitungen oder andere Ansatzpunkte für das vorliegende Problem, die ich lesen kann?

Mir ist klar, dass eine solche Anwendung höchstwahrscheinlich die normale Tastatureingabe stehlen muss und möglicherweise einen KVM-ähnlichen Hotkey zum Umschalten zwischen der Eingabe an das Host-Betriebssystem und dem Senden der Eingabe über Bluetooth an das angeschlossene Gerät bereitstellt, aber ich denke darüber nach dieses Problem außerhalb des Rahmens dieser Frage zu sein.

29
Michael Wehner

Es ist definitiv unter Linux möglich. Vor einiger Zeit habe ich folgendes Projekt gefunden:

http://nohands.sourceforge.net/index.html

Sie emulieren ein ausgewachsenes Headset mit Audio- und Tastatursteuerung auf dem Linux-Bluetooth-Stack. Wenn sie so etwas emulieren können, sind Sie wahrscheinlich in der Lage, etwas Einfacheres wie eine Tastatur zu emulieren.

6
thkala

Ich weiß nicht, ob dies hilfreich ist oder ob es noch funktioniert, aber vielleicht könnten Sie versuchen, diesen Link .

Eine andere, die in irgendeiner Weise hilfreich sein könnte oder auch nicht, ist remuco , aber ich weiß nicht, ob sie ein Bluetooth-HID-Profil verwenden.

3
Christian Uhl

Mit Linux und Bluez ist das durchaus möglich. Siehe: https://github.com/lkundrak/virtkbd/blob/master/btkbdd.pod

2
Lubomir Rintel

Es ist möglich, aber ich denke nicht, dass ich es sehr gut erklären kann, und ich kenne die gesamte Antwort nicht. Ein BT-HID-Gerät fungiert als Server und wartet darauf, dass Verbindungen hergestellt werden. Unter Linux müssten Sie mit dem bluez-Stack zuerst den HID-Dienst für andere Geräte ankündigen, um ihn zu sehen. Ich denke, Sie tun das mit den Header-Dateien sdp.h und sdp-lib.h (der zweite Header heißt möglicherweise etwas anderes, ich bin auf einem Windows-Computer und kann nicht überprüfen). Sie müssten also den HID-Diensteintrag zu Ihrem Computer hinzufügen, damit andere Geräte ihn sehen können. Sie müssten ein Programm erstellen, das diesen Dienst zuerst zum Datensatz hinzufügt, dann darauf wartet, dass andere Geräte eine Verbindung herstellen, und dann den Pairing-Vorgang abwickelt. Ich bin mir nicht ganz sicher. Lesen Sie auch die Bluetooth-HID-Spezifikation auf der Website http://www.bluetooth.com/English/Technology/Building/Pages/Specification.aspx . Dieses Dokument enthält die Details des SDP-Datensatzes, der für HID relevant ist. Auch das Buch Bluetooth-Grundlagen für Programmierer ist ziemlich gut, um Sie in die Bluetooth-Programmierung einzuführen

Ich hätte gerne eine präzisere Antwort mit mehr Details gegeben, aber das ist alles, was ich über Geldautomaten weiß. Ich versuche auch, etwas Ähnliches zu tun, aber Freizeit ist so schwer zu finden;) Ich bin auch nicht auf meiner Linux-Box und kann nicht alle Details überprüfen. Wenn Sie immer noch interessiert sind, lassen Sie es mich wissen und ich werde versuchen, meine Antwort zu erweitern.

1
Abid Ullah

Versuchen Sie es mit Across , leider fehlte meinem Telefon die Unterstützung.

 across-pc-as-bluetooth-mouse.png

0