Virtueller Joystick wird nicht erkannt

Hast Du Probleme mit Hardware, die durch die anderen Foren nicht abgedeckt werden? Schau auch in den "Tipps und Tricks"-Bereich.
Antworten
jarvis762
Beiträge: 1
Registriert: 15.06.2023 13:39:26

Virtueller Joystick wird nicht erkannt

Beitrag von jarvis762 » 15.06.2023 15:10:03

Hallo, ich habe folgendes kurioses Problem:
Ich habe über Python einen virtuellen Joystick erstellt. Der Code ist folgender:

Code: Alles auswählen

import evdev
import time

# Create a virtual joystick device
capabilities = {
    evdev.ecodes.EV_KEY: [evdev.ecodes.BTN_JOYSTICK],

}

virtual_joystick = evdev.UInput(capabilities, name="Virtual Joystick")

# Toggle button state at one-second intervals
while True:
    virtual_joystick.write(evdev.ecodes.EV_KEY, evdev.ecodes.BTN_JOYSTICK, 1)  # Press the button
    virtual_joystick.syn()
    time.sleep(1)  # Wait for one second
    virtual_joystick.write(evdev.ecodes.EV_KEY, evdev.ecodes.BTN_JOYSTICK, 0)  # Release the button
    virtual_joystick.syn()
    time.sleep(1)  # Wait for one second

# Cleanup the device
virtual_joystick.close()
Scheint soweit erst mal zu funktionieren. Während der Code läuft, erkennt "ls /dev/input*" auch tatsächlich einen neuen Eintrag namens "js0". Und mit "jstest-gtk /dev/input/js0" sehe ich auch in der Tat den Joystick mit dem an und ausgehenden Button. Soweit so gut.

Das Problem liegt darin, dass kein anderes Programm den Joystick erkennt oder darauf zugreifen kann. Wichtig ist für mich der Dolphin Emulator. Aber auch im Browser wird er nicht erkannt. In den KDE-Plasma-Einstellungen taucht er aber auf.
Die Berechtigungen sind folgende:

Code: Alles auswählen

ls -l /dev/input/js0
crw-rw-r-- 1 root input 13, 0 Jun 15 13:20 /dev/input/js0
Mein User ist auch in der Input-Gruppe. Trotzdem bleibt der Joystick unsichtbar für "normale" Programme.

Ich bin für jede Idee dankbar...

Antworten