it-swarm.com.de

Neuzuordnung von Maus und Tastatur zu einem Gamepad

Seit Halloween habe ich Frictional Games ' Amnesia auf Ubuntu sehr genossen. Mein nächstes Ziel ist es, die anderen Angebote zu bekommen, die sie haben.

Leider gibt es keine Gamepad-Einstellung für dieses Spiel (und viele andere da draußen). 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 zuzuordnen, da dieses Spiel die Maus enthält?

Danke im Voraus.

Update: habe ich 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.

7
Casey Keller

Die Lösung ist QJoyPad. Wie ich in meinem Update zu dieser Frage festgestellt habe, können Tastaturen und Mäuse zugeordnet werden.

Amnesia ist ein bisschen seltsam in der Konfiguration, weil das Spiel entsprechend ihrer forum relativen Mausbewegungen verwendet. Die Lösung besteht darin, das Spiel über ein Terminal zu starten, nachdem Sie export SDL_VIDEO_X11_DGAMOUSE=0 eingegeben haben. Danach hat mein Test mit der Maus einwandfrei funktioniert.

Übrigens ist der Controller, den ich mit QJoyPad verwende, ein Logitech Dual Action.

3
Casey Keller

Nach Grumbel 's Antwort habe ich versucht xboxdrv Lösung mit der Unterstützung von Link und speziell diese Seite :

1. Installieren Sie xboxdrv 0.8.2 vom Ubuntu Software Center.

Installieren Sie bei Bedarf auch uinput und joydev . Ich habe es so gemacht Sudo modprobe uinput + Sudo modprobe joydev

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

Starten Sie udevadm monitor --udev und schließen Sie das Gamepad 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 auf meinem Gamepad /dev/input/event8 ist

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

Die Idee ist, xboxdrv zu starten, alle Tasten 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: enter image description here

4. Stellen Sie die Konfigurationsdatei ein

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

[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 die Definition eines negativen Werts die Achse invertiert wird (siehe hier für REL_Y).

Ein weiteres Beispiel mit mehr Tastendefinition

[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

Um zu vermeiden, dass es mit Sudo gestartet wird, erstellen Sie eine udev-Regel .

FAZIT

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

6
Boris

Um ein Gamepad der Maus zuzuordnen, versuchen Sie js2mouse .

In Ubuntu 11.10 scheint qjoypad nicht richtig zu funktionieren, da ein Linksklick auf das Symbol im Infobereich ein Rechtsklick-Menü auslöst, über das kein Zugriff auf das Setup möglich ist. Sie können jedoch Rejoystick verwenden (auch in PlayDeb verfügbar). Wenn Sie es zum ersten Mal ausführen (mit rejoystick), weisen Sie den Tasten Ihres Gamepads Tasten zu und speichern dann. Wenn Sie als nächstes rejoystick -d ausführen und keine GUI erhalten, wird der Rejoystick im Hintergrund ausgeführt und verwendet die Tasten Ihres Gamepads für die zugewiesenen Tasten.

1
titaniumtux

Ich würde auf jeden Fall empfehlen AntiMicro , das dort ankommt, 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 damit sowohl Tastatur als auch Maus zuordnen - einschließlich Scrollen mit dem linken/rechten Rad).

0
Waldir Leoncio