LinuxHid: Unterschied zwischen den Versionen
KKeine Bearbeitungszusammenfassung |
K (Kategorie dazugefügt) |
||
Zeile 3: | Zeile 3: | ||
|ModPurpose=Einbinden von HID Devices | |ModPurpose=Einbinden von HID Devices | ||
|ModType=x | |ModType=x | ||
|ModCategory=Interfaces | |||
<!-- |ModCmdRef=37_linuxHid -- nicht erforderlich, da Modultyp x --> | <!-- |ModCmdRef=37_linuxHid -- nicht erforderlich, da Modultyp x --> | ||
|ModForumArea=Sonstige Systeme | |ModForumArea=Sonstige Systeme | ||
Zeile 81: | Zeile 81: | ||
[[Kategorie:USB Components]] | [[Kategorie:USB Components]] | ||
[[Kategorie:Interfaces]] | |||
[[Kategorie:Other_Components]] |
Version vom 27. Dezember 2015, 13:26 Uhr
LinuxHid | |
---|---|
Zweck / Funktion | |
Einbinden von HID Devices | |
Allgemein | |
Typ | Inoffiziell |
Details | |
Dokumentation | siehe Forum |
Support (Forum) | Sonstige Systeme |
Modulname | 37_linuxHid.pm |
Ersteller | justme1968 (Andre) |
Wichtig: sofern vorhanden, gilt im Zweifel immer die (englische) Beschreibung in der commandref! |
Human Interface Devices (HID)
Dies ist die erste Version eines fhem moduls um unter linux events von usb hid geräten in fhem zu integrieren.
mögliche Anwendungen
- mit den tasten einer harmony fernbedienung events in fhem auslösen
- entweder per bluetooth oder per windows mce ir empfänger
hier kommt auch die ursprüngliche idee Markus her. siehe: http://forum.fhem.de/index.php/topic,14163.msg284851.html#msg284851
- eine bluetooth zehner tastatur als fernbedienung für fhem verwenden
oder alles andere das sich wie eine usb tastatur verhält. z.b. präsentations fernbedienungen
- die encoder einer alten maus oder eines alten joysticks als sterung oder rückmeldung in fhem verwenden
- ...
wie funktioniert das ganze
- mit cat /proc/bus/input/devices auf der kommandozeile rausfinden welche hid devices im system bekannt sind.
der eventX eintrag in der H: zeile des gewünschen geräts ist relevant.
- prüfen ob der zugehörige device eintrag in /dev/input/eventX für den user unter dem fhem läuft lesbar ist.
ls -l /dev/input/event*
- wenn das nicht der fall ist ensprechende udev regel anlegen, fhem mit in die nötige gruppe aufnehmen oder (nur wenn es gar nicht anders geht) fhem als root laufen lassen.
- mit define hid linuxHid eventX das device in fhem.cfg anlegen.
- sobald tastendrücke erkannt werden sollte im event monitor die zugehörigen events sichtbar sein.
Es gibt events beim drücken, beim los lassen und beim autorepeat einer taste.
- diese events lassen sich ganz normal mit fhem notifys weiter verarbeiten
- alternativ zum cat kann man mit define hid linuxHid xxx erst mal ein hid device anlegen und mit get devices die vorhanden devices auflisten. mit modify kann man dann auf ein echtes device umändern
- statt eventX kann man auch den device namen angeben (als regex, leerzeichen durch . ersetzt) oder als bus:vendor:device:version:eventTypes string (nicht relevante teile leer lassen)
z.b.:
define hid linuxHid :0x04f2:0x0402 oder define hid linuxHid .*keyboard.*
- wenn vorhanden kann auch die mac adresse des device im define angegeben werden: define hid linuxHid 00:04:20:eb:f6:b7
ein physikalisches device kann mehrfach in der device liste auftauchen. 'moderne' Tastaturen mit multimedia tasten erscheinen meist als gerät für die 'normalen' tasten und als gerät für die multimedia tasten. man kann so z.b. der normalen system Tastatur die Multimedia tasten klauen und exclusiv in fhem verfügbar machen und alle anderen tasten weiter auf Systemebene und der konsole verwenden.
das hid device kann entweder exklusiv events an fhem liefern. das ist der default. oder die events landen zusätzlich auch noch ganz normal im betriebsystem.
wenn das device über die usb ids angelegt wird sollte es auch nach abziehen und wieder anstecken automatisch wieder gefunden werden. wenn es über eventX angelegt wurde kann sich beim abziehen und wieder anstecken der bezeichner ändern.
was fehlt noch
- Zur zeit werden nur Tastatur Events verarbeitet. d.h. die oben angesprochenen Maus und Joystick events gehen noch nicht.
- Fast alle fhem events haben noch keine symbolischen tasten Namen sondern nur key codes
- symbolische Namen für press, release und repeat
- Konfiguration ob release events erzeugt werden sollen
- standardisieren der in fhem ausgelösten events
was ist noch denkbar
Im exclusiv modus events die nicht für fhem gedacht sind wieder ans system zurück weiterreichen