Linux Joystick
Für eine lange Zeit habe ich den Eindruck, dass Joystick-Kalibrierung ist nicht mehr mit aktuellen Tag Joysticks erforderlich war, gestern habe ich aber herausgefunden, dass ich falsch, Art zumindest war. Es ist zwar richtig, dass die heutigen Joysticks in der Regel brauchen nicht manuell kalibriert werden, die Werte, die sie einreichen über USB fein sind wie sie sind, kann der Linux joydev Kalibrierinterface noch als äußerst nützlich erweisen oder schädlich für diese Angelegenheit. Die Art und Weise Kalibrierung in linux joystick funktioniert, ist, dass Sie im Grunde genommen vier Werte für jede Achse (sie sind ein wenig anders intern in js_corr gespeichert: coef [], aber man kann konvertieren):. Diese aus absflat berechnet werden, absmin und absmax wie berichtet von evdev und im Gegenzug Ich nehme an, USB (noch nicht sah, wo diese Werte herkommen) und verwendet werden, um die rohen USB-Werte (Bereich oft 0. 255, transformieren, kann aber mit Stöcken variieren ), die eine der joydev Schnittstelle (Bereich -32767, 32767). Die Sache ist jetzt, dass diese Werte schrecklichen Standardwerte für die meisten Stöcke die ich getestet habe, was zu einer Totzone weit größer als notwendig und in einen Verlust von weit Bereich des Joysticks haben. Auf der SideWinder Precision 2 stick sie zum Beispiel in einer 10% Totzone, die sehr auffällig und störend in den Spielen ist das Ergebnis, da sie es unmöglich, kleine Bewegungen machen können. Sie haben auch in einer Totzone auf den Gashebel, die völlig nutzlos ist das Ergebnis. Das Coole daran ist, dass diese Fragen nicht eine Beschränkung der Hardware, sondern nur das Ergebnis der Kalibrierwerte und diese können mit Leichtigkeit optimiert werden, enthält jstest-gtk eine Registerkarte, wo man diese Werte optimieren können direkt. Oder wenn Sie wollen nicht mit, dass die Mühe, können Sie einfach jscal, die Schiffe mit den meisten Distributionen:. Diese Frage beiseite, kann man noch ein paar nützliche Dinge mit der Kalibrierung Schnittstelle, wie zB Umdrehen einer Achse zu tun. Die joydev Schnittstelle erlaubt es auch, Achsen und Knöpfe neu anordnen, wenn die Standard-vielleicht nicht für ein Spiel geeignet sein, diese Funktion in jscal gebrochen zu sein scheint, dass Schiffe mit Ubuntu, wird aber in jstest-gtk umgesetzt bald (Update: seine implementiert) . Eine ärgerliche Sache mit dem joydev ist jedoch, dass es scheint nicht, einen Weg zu der Veranstaltung Gerät mit dem joydev Gerät zugeordnet bekommen, es scheint auch nicht, einen Weg zu Kalibrierung und Tastenbelegung wieder auf die Standardwerte zurückgesetzt werden, einmal verändert. . . Kam die Idee heute Joystick-Unterstützung, um wordwarvi hinzuzufügen, und nach der Arbeit, ging hinaus und kaufte mir ein Logitech Dual Action Gamepad mit Rumble-Effekt. War ganz einfach, für, bekam ich zu Hause über 6:00, und 6:30, hatte ein kleines Programm in der Lage, aus dem linux joystick zu lesen, eine Reise in den Supermarkt, um etwas zu essen zu kaufen, kam zurück, gekocht, aß sie, dann setzte Programmierung und um 9:00, ziemlich viel war mein Spiel läuft mit Joystick-Unterstützung. Haben Sie nicht versuchen, alle rumble Auswirkungen haben, und es ist ein bisschen nervös. Nicht sicher, wie viel das ist nur das Spiel nicht zu Joystick-Steuerung geeignet, und wie viel ist nur meine Programmierung zu müssen gefeilt werden modulieren die Eingabe, die Dinge zu glätten, und wie viel ist meine Unfähigkeit zu schwingen einen Joystick. Es ist ganz einfach zu programmieren, wenn Sie stecken den Joystick, um einen USB-Anschluss, erscheinen Geräteknoten (mit freundlicher Genehmigung von udev) in / dev/input/js0, etc. Sie müssen nur offen, die sich, und machen Sie einen read (Blockieren oder nicht blockierend, je nachdem, was Sie möchten), die Ihnen ein Event-Struktur, die die Event-Typ, die Ihnen sagt, ob das Ereignis eine Taste drücken oder einen Stock Bewegung, eine Zahl (die, welche Taste gedrückt wurde, oder die Achse oder verschoben, e. zeigt wird, enthältg. 0 bedeutet Stick 1, x-Achse (oder Taste 0, je nach Event-Typ). Es gibt auch einen Wert, der enthält, äh, den Wert - für Tastendrücke, bedeutet 1 die Taste gedrückt wurde, zeigt 0 ist freigegeben wurde. Achsbewegungen sind Shorts unterzeichnet, angefangen von -32. 768 bis 32. 767. Dies ist einfach, herauszufinden, was was ist, benutzt man einfach die "jstest"-Programm. Das ist einfach toll! Ich habe versucht, die Programmierung eines Joysticks mit SDL, aber es klingt wie es genau so einfach ohne libs ist. Ich werde defiunitly have a go an diesem. Vielen Dank für die Ratschläge!. . . .
Logitech R400 Presenter schnurlos
Logitech R800 Professional Presenter schnurlos
SPEED-LINK Competition Pro USB Joystick +Game-Collection 99 best of C64
Contour Design ShuttlePRO 2 Multimedia Controller schwarz
Logitech Rumblepad 2 Gamepad
USB-Gamepad "Black Force"
Micro USB HUB für Laptop, Notebook, Macbook - 4 x USB 2.0 Hub 480Mb/S 12 Mb/S 1,5 MbS für Windows, Mac, Linux - moderner USB Verteiler für mobile Geräte
Hama USB Gamepad SLide V2.0 mit 12 programmierbaren Tasten und zwei Analog-Sticks weiß