Forum: PC Hard- und Software Gamepad wird nicht als Joystick erkannt?


von Alexander M. (robotrader)


Lesenswert?

Einen guten Abend,

ich habe mir zum Basteln mit Schaltungen und Robotik ein sehr günstiges 
GamePad aus "Fernost" bestellt.
Dieses wird unter Ubuntu über Bluetooth erkannt, es erscheint "GamePad" 
bei den Devices, aber als Eingabe erhalte ich nur "Tasten" und keine 
Joystick-Signale.

Auch diverse Anleitungen über Google haben nichts ändern können. Ich 
kann also mit Python die Buchstaben/chr() abfangen und damit etwas 
basteln, aber es wäre natürlich schön, wenn es als vollwertiges GamePad 
im System nutzbar wäre.

Gibt es vielleicht irgendwelche Geheimtipps bei euch? :)
Habt ihr irgendwelche Ideen, wie ich mich da von einer neuen Richtung 
heran tasten kann?

Dankeschön!

von Εrnst B. (ernst)


Lesenswert?

Alexander M. schrieb:
> Auch diverse Anleitungen über Google haben nichts ändern können

Hast du Anleitungen für Ubuntu oder das Gamepad gesucht?


Ich hatte mal so ein Billig-Bluetooth-Gamepad in der Hand, bei dem man 
durch diverse Tastenkombinationen beim Einschalten zwischen 
verschiedenen Modi wählen konnte.

In der Anleitung war das nur als "Android", "iOS", "PC" usw. 
beschrieben, hatte aber primär umgeschaltet ob die Achsen analog oder 
als buttonpress übertragen wurden.

von Alexander M. (robotrader)


Lesenswert?

Ja, ganz genau. Drei Modi. Erkannt wird das GamePad in den 
Bluetooth-Einstellungen nur im "PC-Modus".

Und dann gibt jede Funktion eine Taste aus. Also wirklich d,u,a,ö,... 
Ich habe gleich ein kleines Tool geschrieben, um mit Python die Tasten 
abzufangen. Das läuft.

Und du meinst, in einem anderen Modus könnte es dann als "Joystick" 
erkannt werden?
Aber dazu muss es doch erst als Bluetooth-Device "verbunden" werden, 
richtig? Solange das nicht möglich ist, nutzen mir doch keine 
Ubuntu-Tools irgendetwas. Oder sehe ich das falsch?

Danke!

von Nano (Gast)


Lesenswert?

Εrnst B. schrieb:
> Ich hatte mal so ein Billig-Bluetooth-Gamepad in der Hand, bei dem man
> durch diverse Tastenkombinationen beim Einschalten zwischen
> verschiedenen Modi wählen konnte.
>
> In der Anleitung war das nur als "Android", "iOS", "PC" usw.
> beschrieben, hatte aber primär umgeschaltet ob die Achsen analog oder
> als buttonpress übertragen wurden.

Was für ein Gamepad war das?


Ich habe auch so ein BlueTooth Eingabegerät aus China für eine Hand mit 
einem Analogstick das nur für Android und iOS vorgesehen ist.
Ich wollte es auch mal ready für Linux machen, bin aber in den letzten 
Monaten leider gar nicht dazu gekommmen.

Jetzt schreibst du, dass man bei deinem zuerst eine spezielle 
Buttonkombo eingeben muss. Vielleicht ist das bei meinem auch so. Die 
Anleitung war wenig hilfreich, die war nur auf chinesisch und ohne 
Abbildungen.

von Nano (Gast)


Lesenswert?

Alexander M. schrieb:
> Aber dazu muss es doch erst als Bluetooth-Device "verbunden" werden,
> richtig? Solange das nicht möglich ist, nutzen mir doch keine
> Ubuntu-Tools irgendetwas. Oder sehe ich das falsch?

Schau dir bluetoothctl an, eventuell hilft dir das weiter.
https://kofler.info/bluetooth-konfiguration-im-terminal-mit-bluetoothctl/

von Alexander M. (robotrader)


Lesenswert?

Ich habe den hier:
https://de.aliexpress.com/item/32785645338.html

Den weißen mit USB-Receiver.
Für EUR 10,- irgendwie doof, wenn es so gar nicht funktioniert... aber 
im Schnitt ist man bei AliExpress ja immer noch günstiger. :)

Wäre aber klasse, wenn wir eine Lösung finden...

von Alexander M. (robotrader)


Lesenswert?

> Schau dir bluetoothctl an, eventuell hilft dir das weiter.
> https://kofler.info/bluetooth-konfiguration-im-terminal-mit-bluetoothctl/

Aber wenn es doch bereits erkannt wird?
Was sollte da bluetoothctl noch ändern?

von Εrnst B. (ernst)



Lesenswert?

Nano schrieb:
> Was für ein Gamepad war das?

Hab es gefunden, lies sich sogar noch laden.

Ist in etwa sowas wie im Bild oben, aber nicht 100% das Model.
Sorry, will jetzt kein Foto machen.
Bei meinem steht am Knopf in der Mitte "HOME" und Select/Start sind 
nebeneinander, nicht untereinander.

Modus wird durch vier Leuchtsegmente rund um den Home-Button angezeigt.

(K)Ubuntu erkennt es im "unten links / ¿iCade?"-Modus ohne Probleme als 
Gamepad, und im Kalibrier-GUI sieht man, dass das Gerät zumindest 
versucht, analoge Werte auszugeben...
(Auch für Achse 2 und 3 am anderen Knüppel)

Ich musste beim Einschalten den "X"-Knopf gedrückt halten, ob's auch, 
wie in dem Bild geschrieben per kurzem Knopfdruck umschaltbar ist, hab 
ich jetzt nicht versucht.

: Bearbeitet durch User
von Alexander M. (robotrader)


Lesenswert?

Das ist auch meins. Cool.

Also, wie hast du das geschafft?
Was ist der "unten links"-Modus?
Bist du da mit "X" gedrückt halten reingekommen? Oder Home+X?
Und "Kalibrier-GUI" ist:
1
jstest-gtk

So wäre das natürlich großartig!
Danke für deine Unterstützung.

: Bearbeitet durch User
von Alexander M. (robotrader)


Lesenswert?

Bei Start mit HOME+X komme ich in den "gamepad-mode" links oben und kann 
durch klick nur auf rechts oben wechseln.

Mit HOME+B komme ich in den Modus "links unten", aber das ist genau 
dieser Modus, bei dem ich Buchstaben erhalte.

Mich würde interessieren, wie du das Pad getestet hast, wie genau diese 
Kalibriersoftware heißt und ob du zuerst die Bluetooth-Verbindung 
herstellst und dann in der Software schaust, oder ob die Verbindung auch 
in der Software aufgebaut wird.

Danke.

: Bearbeitet durch User
von Εrnst B. (ernst)


Angehängte Dateien:

Lesenswert?

Ok, ich teste am Notebook. Da war das Gamepad noch gepairt, das habe ich 
also nicht getestet.

Es verbindet entweder automatisch, oder über "Verbinden" in der 
Bluetooth-Device-Liste am Tray-Icon.

Ich verwende KDE, die "Kalibrier Gui" bei mir ist das KCM-Modul 
"Joystick", entweder über die Systemeinstellungen erreichbar, oder per 
Suche nach Joystick im Applikationsmenu/Krunner, oder per "kcmshell5 
joystick" aus der Shell.
Ich denke aber nicht, dass das einen Unterschied macht. Jedes andere 
Tool, was über "/dev/input/js*" arbeitet sollte dasselbe anzeigen. Das 
"Heavy Lifting" macht an der Stelle das Input Framework im Kernel.

Modus-Umschalten geht bei mir so:
(Gerät bereits eingeschaltet und verbunden, das mit den Knopf-Drücken 
beim Einschalten funktioniert eher zufälligerweise, bin da wohl damals 
per Zufall beim rumprobieren draufgekommen)

Y gedrückt halten, Kurz auf Home drücken, Y loslassen:
Maus-Modus. Rechter Knüppel steuert Mauszeiger.
LEDs: Oben Rechts und unten Links.

B-Home-B_loslassen:
Komischer Tastatur-Modus, Linker Knüppel erzeugt "naqdcaq..."
LEDs: Unten Links und rechts.

A-Home-A_loslassen:
Auch ein Tastatur-Modus, Linker Knüppel erzeugt Cursortasten, rechter 
Buchstaben "illjikjk..."
LEDs: Unten Rechts.

X-Home-X_loslassen:
Gamepad-Modus.
LEDs: nur Unten Links
Linker Knüpel: Achsen 1+2 (analog)
Rechter Knüppel: Achsen 3+4 (analog)
Tastenkreuz: Achsen 5+6 (digital)
Rest sind Buttons...


Aber wie gesagt, meins ist nicht ganz das aus dem Produktfoto oben.

: Bearbeitet durch User
von Alexander M. (robotrader)


Lesenswert?

Großartig. Ganz lieben Dank für die Mühe!
Ich schaue mir das morgen an.

Gute Nacht!

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.