Controle no arch

Ola pessoal, estou tendo um problema aqui no arch, tenho um controle genérico, aqueles de ps2 com entrada usb, utilizo ele no xcloud aqui no arch, mas o mapeamento dele esta diferente, ele esta invertendo os botões e o analógico, no windows eu resolvia isso com o x360ce e o xoutput, programas que emulavam um controle de xbox, existe uma solução para isso no linux?

Gamepad - ArchWiki

AUR - antimicrox-git

2 curtidas

@null
infelizmente por esse método não funcionou


usei este codigou e não fez nem uma alteração no controle

Tentou a segunda opção, utilizando o antimicrox?

1 curtida

sim, eu ate consigo remapear o controle, mas aquando eu salvo é como se não tivesse feito nem uma alteração.

Antes de fazer o que o @null informou, você fez isso?

Install it with the xboxdrvAUR package. Then start/enable xboxdrv.service .

1 curtida

não fiz, mas tambem não entendi oque diz na página start/enable

Você tem que instalar e iniciar o serviço

Instale o pacote do Aur.

E

sudo systemctl start xboxdrv.service
sudo systemctl enable xboxdrv.service

E faça o procedimento citado no arch wiki

1 curtida

Depois informe se funcionou.

:+1:

1 curtida

Exatamente isso o problema, eu não entendi a wiki

Você executa isso no terminal

xboxdrv --evdev /dev/input/event* \
   --evdev-absmap ABS_X=x1,ABS_Y=y1,ABS_RZ=x2,ABS_Z=y2,ABS_HAT0X=dpad_x,ABS_HAT0Y=dpad_y \
   --axismap -Y1=Y1,-Y2=Y2 \
   --evdev-keymap   BTN_TOP=x,BTN_TRIGGER=y,BTN_THUMB2=a,BTN_THUMB=b,BTN_BASE3=back,BTN_BASE4=start,BTN_BASE=lb,BTN_BASE2=rb,BTN_TOP2=lt,BTN_PINKIE=rt,BTN_BASE5=tl,BTN_BASE6=tr \
   --mimic-xpad --silent

1 curtida

esta saindo isso

[joaomanuel@joaomanuel ~]$ sudo xboxdrv --evdev /dev/input/event* \
   --evdev-absmap ABS_X=x1,ABS_Y=y1,ABS_RZ=x2,ABS_Z=y2,ABS_HAT0X=dpad_x,ABS_HAT0Y=dpad_y \
   --axismap -Y1=Y1,-Y2=Y2 \
   --evdev-keymap   BTN_TOP=x,BTN_TRIGGER=y,BTN_THUMB2=a,BTN_THUMB=b,BTN_BASE3=back,BTN_BASE4=start,BTN_BASE=lb,BTN_BASE2=rb,BTN_TOP2=lt,BTN_PINKIE=rt,BTN_BASE5=tl,BTN_BASE6=tr \
   --mimic-xpad --silent
xboxdrv 0.8.8 - http://pingus.seul.org/~grumbel/xboxdrv/ 
Copyright © 2008-2011 Ingo Ruhnke <grumbel@gmail.com> 
Licensed under GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> 
This program comes with ABSOLUTELY NO WARRANTY. 
This is free software, and you are welcome to redistribute it under certain 
conditions; see the file COPYING for details. 


Your Xbox/Xbox360 controller should now be available as:
  /dev/input/js3
  /dev/input/event14

Press Ctrl-C to quit
[ERROR] spawn_exe(): /dev/input/event1: exec failed: Permission denied
Shutdown complete

Tente primeiro identificar a qual dispositivo seu controle está atrelado com

libinput list-devices

A saída emitirá algo como:

Device:    Dispositivo
Kernel:    /dev/input/event<NUMERO>

Portanto tente executar o comando.

xboxdrv --evdev /dev/input/event<NUMERO> ...

Os três pontos ( … ) informam para você completar o restante do código.


A saída a qual mostrou ele tambem informa a possibilidade de encontrar o dispositivo em /dev/input/js<NUMERO>, você pode verificar com ls /dev/input/js*

2 curtidas
Device:           Power Button
Kernel:           /dev/input/event1
Group:            1
Seat:             seat0, default
Capabilities:     keyboard 
Tap-to-click:     n/a
Tap-and-drag:     n/a
Tap drag lock:    n/a
Left-handed:      n/a
Nat.scrolling:    n/a
Middle emulation: n/a
Calibration:      n/a
Scroll methods:   none
Click methods:    none
Disable-w-typing: n/a
Accel profiles:   n/a
Rotation:         n/a

Device:           Power Button
Kernel:           /dev/input/event0
Group:            2
Seat:             seat0, default
Capabilities:     keyboard 
Tap-to-click:     n/a
Tap-and-drag:     n/a
Tap drag lock:    n/a
Left-handed:      n/a
Nat.scrolling:    n/a
Middle emulation: n/a
Calibration:      n/a
Scroll methods:   none
Click methods:    none
Disable-w-typing: n/a
Accel profiles:   n/a
Rotation:         n/a

Device:           USB OPTICAL MOUSE 
Kernel:           /dev/input/event2
Group:            3
Seat:             seat0, default
Capabilities:     pointer 
Tap-to-click:     n/a
Tap-and-drag:     n/a
Tap drag lock:    n/a
Left-handed:      disabled
Nat.scrolling:    disabled
Middle emulation: disabled
Calibration:      n/a
Scroll methods:   button
Click methods:    none
Disable-w-typing: n/a
Accel profiles:   flat *adaptive
Rotation:         n/a

Device:           USB OPTICAL MOUSE  Keyboard
Kernel:           /dev/input/event3
Group:            3
Seat:             seat0, default
Capabilities:     keyboard pointer 
Tap-to-click:     n/a
Tap-and-drag:     n/a
Tap drag lock:    n/a
Left-handed:      n/a
Nat.scrolling:    disabled
Middle emulation: n/a
Calibration:      n/a
Scroll methods:   none
Click methods:    none
Disable-w-typing: n/a
Accel profiles:   n/a
Rotation:         n/a

Device:           AT Translated Set 2 keyboard
Kernel:           /dev/input/event4
Group:            4
Seat:             seat0, default
Capabilities:     keyboard 
Tap-to-click:     n/a
Tap-and-drag:     n/a
Tap drag lock:    n/a
Left-handed:      n/a
Nat.scrolling:    n/a
Middle emulation: n/a
Calibration:      n/a
Scroll methods:   none
Click methods:    none
Disable-w-typing: n/a
Accel profiles:   n/a
Rotation:         n/a

Qual sera é o controle (Ele ja ta plugado)

Instale o evtest

pacman -S evtest

E depois execute ele

evtest

Cole a saída aqui

1 curtida
[joaomanuel@joaomanuel ~]$ evtest
No device specified, trying to scan all of /dev/input/event*
Not running as root, no devices may be available.
Available devices:
/dev/input/event13:	Microntek              USB Joystick          
/dev/input/event6:	Xbox Gamepad (userspace driver)
/dev/input/event7:	Xbox Gamepad (userspace driver) #2
Select the device event number [0-13]: 

Tente colocar o event 6 ou 7 no comando

Meu controle só funciona se eu instalar esse driver GitHub - paroj/xpad: Linux Kernel Driver for the Xbox/ Xbox 360/ Xbox One Controllers

Espero que ajude alguém.