English / Deutsch | Druckversion

HID Invert Treiber



HID Invert
Lizenz
Download
Stickachsen/Tastenbelegungen
Aktuellen Modus anzeigen
Invertierungs- und Tastenbelegungsmodus einstellen
Debug-Modus
Kompilieren
Installieren
DragonRise-Treiber auf die Blacklist setzen
Ressourcen

HID Invert


Dieser Linux Kernel Treiber kehrt die Stick-Achsen um und ändert die Tastenbelegung eines Arcade Stick Controllers, damit das Gerät mit der anderen Hand bedient werden kann. Da nicht jedes Spiel die Möglichkeit bietet die Controller Stickachsen und Tasten neu zu belegen, stellt dieser Treiber eine alternative Lösung dar.

Der Treiber wurde getestet und ist konfiguriert für den KUBII Arcade USB-Controller.

lsusb-Ausgabe des KUBII Arcade USB-Controllers:

ID 0079:0006 DragonRise Inc. PC TWIN SHOCK Gamepad

Der Treiber hid_invert ist ein USB-HID-Treiber. Die Invertierung der Achsen und die Neubelegung der Tasten kann mit dem Tool 'hidinvert' geändert werden.

Bekannte Probleme: Da ich nur ein Gerät besitze, gibt es derzeit keine Unterstützung für die Handhabung verschiedener Modi, wenn mehr als ein KUBII Arcade USB-Controller angeschlossen ist.


Lizenz


HID Invert von Elmar Hanlhofer, Copyright (c) 2026.

Lizenz: GPL-2.0


Download


Quelltext: hidinvert-0.1.tar.gz, veröffentlicht am 16/April/2026, ~2 MB.


Stickachsen/Tastenbelegungen


   Axis         Buttons      |       HID report byte / bit
-----------------------------+---------------------------------------
    Y0        B1  B2         |    [1]    [6]0x04  [6]0x08
  X0  X1        B3  B4  B5   |  [0] [0]     [5]0x10  [5]0x20  [5]0x40
    Y1        B6  B7  B8     |    [1]    [5]0x80  [6]0x01  [6]0x02

Inversionsmodus 0/aus:

Achsen nicht invertieren oder Tasten neu zuordnen.

Inversionsmodus 1 (Standard):

X-Achse umkehren
Y-Achse umkehren

Tastenneubelegung:
B1 -> B2
B2 -> B1

B3 -> B8
B4 -> B7
B5 -> B6

B6 -> B5
B7 -> B4
B8 -> B3

Inversionsmodus 2:

X-Achse umkehren
Y-Achse umkehren

Tastenneubelegung:
B1 -> B2
B2 -> B1

B3 -> B6
B4 -> B7
B5 -> B8

B6 -> B3
B7 -> B4
B8 -> B5

HID Invert Mode 0 mapping

HID Invert Mode 1 mapping

HID Invert Mode 2 mapping


Aktuellen Modus anzeigen


Führen Sie 'hidinvert' ohne Parameter aus.

sudo hidinvert

Invertierungs- und Tastenbelegungsmodus einstellen


sudo hidinvert [value]

Mögliche Werte:

0 ... Aus, keine Invertierung der Stickachsen oder Änderung der Tastenbelegung.
1 ... X- und Y-Achse invertieren, Tastenbelegung 1 festlegen.
2 ... X- und Y-Achse invertieren, Tastenbelegung 2 festlegen.

Debug-Modus


sudo hidinvert [value]

Mögliche Werte:

D ... Debug ein.
d ... Debug aus.

Kompilieren


Führen Sie 'make' aus, um den Treiber zu kompilieren. Die Datei 'hid-ids.h' wird automatisch aus dem Linux-Kernel-Quellcodebaum kopiert.


Installieren


Führen Sie den Befehl 'make install' aus, um den Kernel-Treiber 'hid_invert' in '/lib/modules/{KERNEL}/updates' zu installieren und das Tool 'hidinvert' in '/usr/bin' zu installieren.

Oder 'make modules_install', um nur den Kernel-Treiber in '/lib/modules/{KERNEL}/updates' zu installieren.


DragonRise-Treiber auf die Blacklist setzen


Der Linux-Kernel enthält bereits einen Treiber für Geräte mit der Hersteller-ID 0x0079 (DragonRise) und der Produkt-ID 0x006, um Force-Feedback-Unterstützung zu ermöglichen. Dieser Treiber muss auf die Blacklist gesetzt werden, damit der hid_invert-Treiber funktioniert.

Siehe 'blacklist.conf'. Kopieren Sie die Datei oder deren Inhalt nach '/etc/modprobe.d/blacklist.conf'.

blacklist.conf:

#/etc/modprobe.d/blacklist.conf

# Do not load the DragonRise kernel driver.
blacklist hid_dr

Ressourcen


kobject-Implementierung:

Siehe Linux-Kernel-Quellcode 'samples/kobject/'.

USB HID:

Siehe Linux-Kernel-Quellcode 'drivers/hid/'.

© 2026 by Elmar Hanlhofer
Die Seite wurde zuletzt am 16/Apr/2026 geändert.