Neuzuordnung von Maus und Tastatur zu einem Gamepad

7

Seit Halloween genieße ich Amnesia von Frictional Games auf Ubuntu. Mein nächstes Ziel ist es, die anderen Angebote zu bekommen, die sie haben.

Leider gibt es für dieses Spiel (und viele andere) keine Gamepad-Einstellung. Ich weiß, dass es Software wie Rejoystick gibt, mit der Tastaturtasten einem Gamepad zugeordnet werden können. Gibt es jedoch eine Lösung, um beide Karten zuzuordnen, da dieses Spiel die Maus enthält?

Danke im Voraus.

Update: Ich habe auf playdeb.net QJoypad gefunden. Es ermöglicht die Zuordnung von Tastatur und Maus. Leider habe ich immer noch Probleme mit der Maus, wenn ich Amnesia betrete.

Casey Keller
quelle
Ich habe heute das gleiche Problem gegoogelt (wollte Minecraft mit einem Gamepad spielen;). Ich habe joy2key gefunden, habe aber das gleiche Problem mit der Maus / Mausknopf-Emulation.
sBlatt

Antworten:

6

Nach Grumbels Antwort habe ich xboxdrv- Lösung mit Unterstützung seines Links und speziell dieser Seite ausprobiert :

1. Installieren Sie xboxdrv 0.8.2 vom Ubuntu Software Center.

Installieren Sie bei Bedarf auch uinput und joydev . Ich habe es auf diese Art und Weise sudo modprobe uinput+sudo modprobe joydev

2. Sie müssen das Ereignis des Gamepads kennen:

Starten Sie udevadm monitor --udevdas Gamepad und schließen Sie es an:

$ udevadm monitor --udev
monitor will print the received events for:
UDEV - the event which udev sends out after rule processing

UDEV  [6722.377700] add      /devices/pci0000:00/0000:00:1d.3/usb5/5-1 (usb)
UDEV  [6722.383264] add      /devices/pci0000:00/0000:00:1d.3/usb5/5-1/5-1:1.0 (usb)
UDEV  [6722.383333] add      /devices/pci0000:00/0000:00:1d.3/usb5/5-1/5-1:1.0/0003:046D:C218.0003 (hid)
UDEV  [6722.383389] add      /devices/pci0000:00/0000:00:1d.3/usb5/5-1/5-1:1.0/0003:046D:C218.0003/hidraw/hidraw1 (hidraw)
UDEV  [6722.387123] add      /devices/pci0000:00/0000:00:1d.3/usb5/5-1/5-1:1.0/input/input10 (input)
UDEV  [6722.399284] add      /devices/pci0000:00/0000:00:1d.3/usb5/5-1/5-1:1.0/input/input10/event8 (input)
UDEV  [6722.412128] add      /devices/pci0000:00/0000:00:1d.3/usb5/5-1/5-1:1.0/input/input10/js0 (input)

Ich schließe daraus, dass das Ereignis meines Gamepads / dev / input / event8 ist

3. Zeigen Sie die Namen aller Tasten, Achsen und Schaltflächen des Gamepads an.

Die Idee ist, xboxdrvalle Tasten zu starten und zu testen und das Ergebnis auf Papier zu notieren.

$ sudo xboxdrv --evdev /dev/input/event8 --evdev-debug
Your Xbox/Xbox360 controller should now be available as:
/dev/input/js1
/dev/input/event9
Press Ctrl-c to quit, use '--silent' to suppress the event output
EV_ABS ABS_X 128
EV_ABS ABS_Y 128
...

In meinem Fall ist das Ergebnis: Geben Sie hier die Bildbeschreibung ein

4. Stellen Sie die Konfigurationsdatei ein

Erstellen Sie eine Datei xboxdrv-mouse.ini , um die XY-Achse sowie die linke und rechte Maustaste festzulegen .
Hier stelle ich Gamepad-Tasten 2für die linke und die 3rechte Maustaste ein:

[xboxdrv]
evdev=/dev/input/event8
silent=true

[evdev-absmap]
ABS_X=x1
ABS_Y=y1

[ui-axismap]
x1=REL_X:10
y1=REL_Y:-10

[evdev-keymap]
BTN_THUMB=a
BTN_THUMB2=b

[ui-buttonmap]
a=BTN_LEFT
b=BTN_RIGHT

# EOF #

Beachten Sie, dass der Wert für REl_X und REL_Y die Geschwindigkeit der Maus zu definieren scheint und durch Definieren eines negativen Werts die Achse invertiert (siehe hier für REL_Y).

Ein weiteres Beispiel mit mehr Schaltflächendefinition

[xboxdrv]
evdev=/dev/input/event8
silent=true

[evdev-absmap]
ABS_X=x1
ABS_Y=y1
ABS_HAT0X=x2
ABS_HAT0Y=y2

[ui-axismap]
x1=REL_X:10
y1=REL_Y:-10
x2=KEY_LEFT:KEY_RIGHT
y2=KEY_DOWN:KEY_UP

[evdev-keymap]
BTN_TRIGGER=x
BTN_TOP=y
BTN_THUMB=a
BTN_THUMB2=b
BTN_PINKIE=rt
BTN_BASE2=rb
BTN_TOP2=lt
BTN_BASE=lb
BTN_BASE3=back
BTN_BASE4=start

[ui-buttonmap]
x=KEY_KPENTER
y=KEY_SPACE
a=BTN_LEFT
b=BTN_RIGHT
rt=KEY_KP8
rb=KEY_KP2
lt=KEY_KP6
lb=KEY_KP4
back=KEY_LEFTSHIFT
start=KEY_RIGHTCTRL

# EOF #

5. Starten Sie es

sudo xboxdrv --config xboxdrv-mouse.ini

Erstellen Sie eine udev-Regelsudo , um ein Starten mit zu vermeiden .

FAZIT

Es funktioniert gut, es ist die beste Lösung für mich.

Boris
quelle
3

Die Lösung ist QJoyPad. Wie ich in meinem Update zu dieser Frage angegeben habe, ermöglicht es die Zuordnung von Tastatur und Maus.

Amnesia ist in der Konfiguration etwas seltsam, da das Spiel laut Forum relative Mausbewegungen verwendet. Die Lösung besteht darin, das Spiel nach dem Eingeben über ein Terminal zu starten export SDL_VIDEO_X11_DGAMOUSE=0. Danach hat mein Test mit der Maus gut funktioniert.

Der Controller, den ich mit QJoyPad verwende, ist übrigens eine Logitech Dual Action.

Casey Keller
quelle
1

Versuchen Sie es mit js2mouse , um ein Gamepad der Maus zuzuordnen .

In Ubuntu 11.10 scheint qjoypad nicht richtig zu funktionieren, da ein Linksklick auf das Symbol im Benachrichtigungsbereich ein Rechtsklick-Menü auslöst, ohne dass auf das Setup zugegriffen werden kann. Sie können jedoch den Rejoystick verwenden (auch in PlayDeb verfügbar). Wenn Sie es zum ersten Mal ausführen (ausführen rejoystick), weisen Sie den Schaltflächen Ihres Gamepads Tasten zu und speichern sie. Als nächstes werden Sie ausgeführt rejoystick -dund erhalten keine grafische Benutzeroberfläche. Der Rejoystick wird im Hintergrund ausgeführt und verwendet die Schaltflächen Ihres Gamepads für die zugewiesenen Tasten.

Titantux
quelle
0

Ich würde auf jeden Fall AntiMicro empfehlen , das dort weitermacht , wo das eingestellte QJoyPad aufgehört hat. Ich benutze es gerade, um Civ V von meiner Couch aus zu spielen und liebe jede Minute davon. Es war einfach einzurichten und zu verwenden (und ja, Sie können sowohl Tastatur als auch Maus zuordnen - einschließlich Scrollen mit dem linken / rechten Rad).

Waldir Leoncio
quelle