Main /

Competition Pro USB

Competition Pro USB

Joystick Competition Pro USB

Als zweiter USB-Joystick (nach dem Speed Link Game Pad) ist jetzt eine Neuauflage des legendären Competition Pro in meine Hände gelangt. Dieser Stick ist auch von der Firma Speed Link (Jöllenbeck GmbH), scheint jedoch einen gänzlich anderen Chip zu besitzen. Er meldet sich als Mosaic 2A4k Game Pad. Der "Vendor" ist laut ID die Firma Weltrend Semiconductors. Auf der Website von Weltrend sind auch mehrere Game-Pad Chips vorgestellt, alle basieren auf einer 6502 CPU mit 6MHz - also der CPU, die im Atari 800 XL (und im Prinzip auch im C64) steckte - nur daß damals 2MHz state of the art war. Na, wenn das nicht stilecht ist. Schade nur, daß man das Ding nicht programmieren kann, dann hätte der gute alte Atmas II oder der Mac 65 noch etwas zu tun bekommen happy smiley

Erstaunlich ist, daß der Stick 2 Achsen und 8 Buttons zurückmeldet. Das ist schon fast korrekt, er hat in Wirklichkeit nur 4 Knöpfe. Die höheren, nicht vorhandenen sind aber alle 0, also nicht gedrückt und machen mit dem Atari Emulator keine Probleme. Somit läßt sich das komische Verhalten des wohl Game-Pads auf Designfehler in der Hardware zurückführen. Die Linux-Treiberseite scheint sauber zu sein. Trotzdem würde mich interessieren wie Windows die "echte" Anzahl Buttons beim Game Pad ermittelt. jscalibrator ermittelt übrigens auch 8.

Das Daddelgefühl ist ein ganz anderes als mit dem Game Pad. Damit macht sogar Xgalaga spaß! Der einzige Nachteil ist, daß der Joystick nicht über USB-Hotplug erkannt wird, d.h. man muß die Module joydev und ggf. hid von Hand per modprobe laden (Kernel 2.4) was auf die Dauer (wenn man den Stick oft von einem Rechner zum anderen stöpselt) unbefriedigend ist. Doch dem kann abgeholfen werden!

Einbinden des Competition Pro in den Hotplug-Agent von Gentoo Linux

Update: dies ist mit aktuellen Kerneln und hotplug-Versionen nicht mehr nötig, der Joystick wird mittlerweile erkannt! Trotzdem ist es gut zu wissen wie es prinzipiell funktioniert, deshalb bleibt der Text bestehen!

In der Datei /etc/hotplug/usb.handmap steht die Zuordnung von USB-Geräten zu einem bestimmten Kernel-Modul. Die USB-Geräte werden durch eine Typ, Hersteller und Geräte-ID eindeutig identifiziert. Diese Infos liest der Treiber aus dem USB-Gerät aus.

Unser Joystick ist ein HID-Gerät (Human Input Device = Typ-ID 3), die Hersteller-ID ist 040b, die Geräte ID lautet 6533. Diese Werte kann man mit lsusb oder unter X und grafisch niedlicher mittels usbview (emerge usbview) ermitteln.

In die oben angegebenene Datei trägt man nun diese Zeile ein:

 joydev 0x0003 0x040b 0x6533 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x00000000

...und beim nächsten Abziehen und wieder Anstöpseln sollte wie von Geisterhand joydev mit allen abhängigen Modulen geladen werden!

Kein Joystick?

Es kann der Fall eintreten (gerade eben), das der Joystick nicht mehr erkannt wird. Ist mir gerade passiert, gestern (gefühlt) ging es noch. Wo liegt, das Problem? https://github.com/mikyll/SDL2-Controller-Tester runtergeladen:

  • ./configure
  • make -f makefile
  • ./controllerTester gestartet

und wirklich, kein Joystick wird erkannt. In der dmesg wird aber angezeigt, das ein HID-Gerät angestöppselt ist. Hersteller-ID 040b wurde erkannt. Mal als root gestartet und voila, Joystick ist doch vorhanden. Mann muss in der Gruppe 'Input' sein, dann klappt es auch. Dort war ich bisher nicht verteten, aber jetzt und nun klappt es wieder mit dem Knüppel.

Siehe auch

Links

Frische Änderungen | Menü editieren
zuletzt geändert am 06.03.2023 18:28 Uhr von Lars
Edit Page | Page History