Guide: Advanced Controller Mappings
-
Ah, OK. I'll try to dig up that post from a while back and see what happened there. It could be that it didn't work in GameMaker then either.
-
@mediamogul no problems. I'll also do some digging and report back.
Thanks, as always!
-
@mediamogul Hi mediamogul. I've now used the expanded case statements and got it partially working. I've also resolved the Notepad++ newline problem, so that's now no longer an issue.
The runcommand-onstart.sh below works with Amiga (2 player), but the remaining configurations don't.
I have 4 DragonRise arcade style joysticks that move in 8 directions. I was hoping to have separate configurations for the 2 joysticks for Amiga. This part works. Then I was hoping to have a default configuration (8 way) for each of the 4 joysticks and separate default 4 way configurations for each joystick. After playing with "basic" and "extended" configurations, I found it a bit easier just to have full "basic" configurations. However, I suspect that has led to some conflicts along the way. It is the 8 way/4 way configurations that don't work at present. It spits out "no file or directory" as the error.
I've got the statements all on one line, because I had to troubleshoot the Amiga configs and this appeared to work for those.
For your info, I have a separate roms folder called "arcade-vertical" where games like Amidar, Pacman are.
#!/bin/sh ## Uncomment one or all of the following if you need to find some information about the emulator or roms ## Name of the emulator #echo $1 >> /dev/shm/runcommand.log ## Name of the software used for running the emulation #echo $2 >> /dev/shm/runcommand.log ## Name of the rom #echo $3 >> /dev/shm/runcommand.log ##Executed command line #echo $4 >> /dev/shm/runcommand.log ### The FUN begins #Get ROM name striping full path rom="${3##*/}" ### Set variables for your joypad and emulator ### Basic Configurations - Standard controller mappings fourway="--four-way-restrictor" Amiga1="sudo /opt/retropie/supplementary/xboxdrv/bin/xboxdrv --evdev /dev/input/by-path/platform-3f980000.usb-usb-0:1.3.3:1.0-event-joystick --silent --detach-kernel-driver --deadzone=4000 --deadzone-trigger 15% --force-feedback --mimic-xpad --trigger-as-button --device-name "Amiga_Joystick_Player_1_xboxdrv" --evdev-absmap ABS_X=y1,ABS_Y=x1 --evdev-keymap BTN_TRIGGER=x,BTN_THUMB=y,BTN_THUMB2=a,BTN_PINKIE=b,BTN_BASE3=back,BTN_BASE6=start --ui-buttonmap lb=void,rb=void,tl=void,tr=void,guide=void,lt=void,rt=void &" Amiga2="sudo /opt/retropie/supplementary/xboxdrv/bin/xboxdrv --evdev /dev/input/by-path/platform-3f980000.usb-usb-0:1.3.1:1.0-event-joystick --silent --detach-kernel-driver --deadzone=4000 --deadzone-trigger 15% --force-feedback --mimic-xpad --trigger-as-button --device-name "Amiga_Joystick_Player_2_xboxdrv" --evdev-absmap ABS_X=y1,ABS_Y=x1 --evdev-keymap BTN_TRIGGER=y,BTN_THUMB=a,BTN_THUMB2=back,BTN_PINKIE=x,BTN_TOP=b,BTN_TOP2=start --ui-buttonmap lb=void,rb=void,tl=void,tr=void,guide=void,lt=void,rt=void &" 8way1="sudo /opt/retropie/supplementary/xboxdrv/bin/xboxdrv --evdev /dev/input/by-path/platform-3f980000.usb-usb-0:1.3.3:1.0-event-joystick --silent --detach-kernel-driver --deadzone=4000 --deadzone-trigger 15% --force-feedback --mimic-xpad --trigger-as-button --device-name "Arcade_Joystick_Player_1_-_8_way_xboxdrv" --evdev-absmap ABS_X=x1,ABS_Y=y1 --evdev-keymap BTN_TRIGGER=x,BTN_THUMB=y,BTN_THUMB2=a,BTN_PINKIE=b,BTN_BASE3=back,BTN_BASE6=start --ui-buttonmap lb=void,rb=void,tl=void,tr=void,guide=void,lt=void,rt=void &" 4way1="sudo /opt/retropie/supplementary/xboxdrv/bin/xboxdrv --evdev /dev/input/by-path/platform-3f980000.usb-usb-0:1.3.3:1.0-event-joystick --silent --detach-kernel-driver --deadzone=4000 --deadzone-trigger 15% --force-feedback --mimic-xpad --trigger-as-button --device-name "Arcade_Joystick_Player_1_-_4_way_restricted_xboxdrv" --four-way-restrictor --evdev-absmap ABS_X=x1,ABS_Y=y1 --evdev-keymap BTN_TRIGGER=x,BTN_THUMB=y,BTN_THUMB2=a,BTN_PINKIE=b,BTN_BASE3=back,BTN_BASE6=start --ui-buttonmap lb=void,rb=void,tl=void,tr=void,guide=void,lt=void,rt=void &" 8way2="sudo /opt/retropie/supplementary/xboxdrv/bin/xboxdrv --evdev /dev/input/by-path/platform-3f980000.usb-usb-0:1.3.1:1.0-event-joystick --silent --detach-kernel-driver --deadzone=4000 --deadzone-trigger 15% --force-feedback --mimic-xpad --trigger-as-button --device-name "Arcade_Joystick_Player_2_-_8_way_xboxdrv" --evdev-absmap ABS_X=x1,ABS_Y=y1 --evdev-keymap BTN_TRIGGER=y,BTN_THUMB=a,BTN_THUMB2=back,BTN_PINKIE=x,BTN_TOP=b,BTN_TOP2=start --ui-buttonmap lb=void,rb=void,tl=void,tr=void,guide=void,lt=void,rt=void &" 4way2="sudo /opt/retropie/supplementary/xboxdrv/bin/xboxdrv --evdev /dev/input/by-path/platform-3f980000.usb-usb-0:1.3.1:1.0-event-joystick --silent --detach-kernel-driver --deadzone=4000 --deadzone-trigger 15% --force-feedback --mimic-xpad --trigger-as-button --device-name "Arcade_Joystick_Player_2_-_4_way_restricted_xboxdrv" --evdev-absmap ABS_X=x1,ABS_Y=y1 --four-way-restrictor --evdev-keymap BTN_TRIGGER=y,BTN_THUMB=a,BTN_THUMB2=back,BTN_PINKIE=x,BTN_TOP=b,BTN_TOP2=start --ui-buttonmap lb=void,rb=void,tl=void,tr=void,guide=void,lt=void,rt=void &" 8way3="sudo /opt/retropie/supplementary/xboxdrv/bin/xboxdrv --evdev /dev/input/by-path/platform-3f980000.usb-usb-0:1.3.2:1.0-event-joystick --silent --detach-kernel-driver --deadzone=4000 --deadzone-trigger 15% --force-feedback --mimic-xpad --trigger-as-button --device-name "Arcade_Joystick_Player_3_-_8_way_xboxdrv" --evdev-absmap ABS_X=x1,ABS_Y=y1 --evdev-keymap BTN_TRIGGER=y,BTN_THUMB=a,BTN_THUMB2=back,BTN_PINKIE=x,BTN_TOP=b,BTN_TOP2=start --ui-buttonmap lb=void,rb=void,tl=void,tr=void,guide=void,lt=void,rt=void &" 4way3="sudo /opt/retropie/supplementary/xboxdrv/bin/xboxdrv --evdev /dev/input/by-path/platform-3f980000.usb-usb-0:1.3.2:1.0-event-joystick --silent --detach-kernel-driver --deadzone=4000 --deadzone-trigger 15% --force-feedback --mimic-xpad --trigger-as-button --device-name "Arcade_Joystick_Player_3_-_4_way_restricted_xboxdrv" --evdev-absmap ABS_X=x1,ABS_Y=y1 --four-way-restrictor --evdev-keymap BTN_TRIGGER=y,BTN_THUMB=a,BTN_THUMB2=back,BTN_PINKIE=x,BTN_TOP=b,BTN_TOP2=start --ui-buttonmap lb=void,rb=void,tl=void,tr=void,guide=void,lt=void,rt=void &" 8way4="sudo /opt/retropie/supplementary/xboxdrv/bin/xboxdrv --evdev /dev/input/by-path/platform-3f980000.usb-usb-0:1.3.4:1.0-event-joystick --silent --detach-kernel-driver --deadzone=4000 --deadzone-trigger 15% --force-feedback --mimic-xpad --trigger-as-button --device-name "Arcade_Joystick_Player_4_-_8_way_xboxdrv" --evdev-absmap ABS_X=x1,ABS_Y=y1 --evdev-keymap BTN_TRIGGER=y,BTN_THUMB=a,BTN_THUMB2=back,BTN_PINKIE=x,BTN_TOP=b,BTN_TOP2=start --ui-buttonmap lb=void,rb=void,tl=void,tr=void,guide=void,lt=void,rt=void &" 4way4="sudo /opt/retropie/supplementary/xboxdrv/bin/xboxdrv --evdev /dev/input/by-path/platform-3f980000.usb-usb-0:1.3.4:1.0-event-joystick --silent --detach-kernel-driver --deadzone=4000 --deadzone-trigger 15% --force-feedback --mimic-xpad --trigger-as-button --device-name "Arcade_Joystick_Player_4_-_4_way_restricted_xboxdrv" --four-way-restrictor --evdev-absmap ABS_X=x1,ABS_Y=y1 --evdev-keymap BTN_TRIGGER=y,BTN_THUMB=a,BTN_THUMB2=back,BTN_PINKIE=x,BTN_TOP=b,BTN_TOP2=start --ui-buttonmap lb=void,rb=void,tl=void,tr=void,guide=void,lt=void,rt=void &" ### Kill Command xboxkill="sudo killall xboxdrv" ### Execute the driver with the configuration you need # $1 is the name of the emulation, not the name of the software used # it is intellivision not jzintv case $1 in amiga) $xboxkill joycommand="$Amiga1 $Amiga2" eval $joycommand ;; arcade-vertical) case $rom in "amidar.zip"|"atetris.zip"|"puckman.zip") # Configuration used only for these ROMs $xboxkill joycommand="$4way1 $4way2 $4way3 $4way4" eval $joycommand ;; *) # Configuration for every other ROM with this emulator $xboxkill joycommand="$8way1 $8way2 $8way3 $8way4" eval $joycommand ;; esac ;; esac
runcommand.log:
/opt/retropie/configs/all/runcommand-onstart.sh: line 29: 8way1=sudo /opt/retropie/supplementary/xboxdrv/bin/xboxdrv --evdev /dev/input/by-path/platform-3f980000.usb-usb-0:1.3.3:1.0-event-joystick --silent --detach-kernel-driver --deadzone=4000 --deadzone-trigger 15% --force-feedback --mimic-xpad --trigger-as-button --device-name Arcade_Joystick_Player_1_-_8_way_xboxdrv --evdev-absmap ABS_X=x1,ABS_Y=y1 --evdev-keymap BTN_TRIGGER=x,BTN_THUMB=y,BTN_THUMB2=a,BTN_PINKIE=b,BTN_BASE3=back,BTN_BASE6=start --ui-buttonmap lb=void,rb=void,tl=void,tr=void,guide=void,lt=void,rt=void &: No such file or directory /opt/retropie/configs/all/runcommand-onstart.sh: line 31: 4way1=sudo /opt/retropie/supplementary/xboxdrv/bin/xboxdrv --evdev /dev/input/by-path/platform-3f980000.usb-usb-0:1.3.3:1.0-event-joystick --silent --detach-kernel-driver --deadzone=4000 --deadzone-trigger 15% --force-feedback --mimic-xpad --trigger-as-button --device-name Arcade_Joystick_Player_1_-_4_way_restricted_xboxdrv --four-way-restrictor --evdev-absmap ABS_X=x1,ABS_Y=y1 --evdev-keymap BTN_TRIGGER=x,BTN_THUMB=y,BTN_THUMB2=a,BTN_PINKIE=b,BTN_BASE3=back,BTN_BASE6=start --ui-buttonmap lb=void,rb=void,tl=void,tr=void,guide=void,lt=void,rt=void &: No such file or directory /opt/retropie/configs/all/runcommand-onstart.sh: line 33: 8way2=sudo /opt/retropie/supplementary/xboxdrv/bin/xboxdrv --evdev /dev/input/by-path/platform-3f980000.usb-usb-0:1.3.1:1.0-event-joystick --silent --detach-kernel-driver --deadzone=4000 --deadzone-trigger 15% --force-feedback --mimic-xpad --trigger-as-button --device-name Arcade_Joystick_Player_2_-_8_way_xboxdrv --evdev-absmap ABS_X=x1,ABS_Y=y1 --evdev-keymap BTN_TRIGGER=y,BTN_THUMB=a,BTN_THUMB2=back,BTN_PINKIE=x,BTN_TOP=b,BTN_TOP2=start --ui-buttonmap lb=void,rb=void,tl=void,tr=void,guide=void,lt=void,rt=void &: No such file or directory /opt/retropie/configs/all/runcommand-onstart.sh: line 35: 4way2=sudo /opt/retropie/supplementary/xboxdrv/bin/xboxdrv --evdev /dev/input/by-path/platform-3f980000.usb-usb-0:1.3.1:1.0-event-joystick --silent --detach-kernel-driver --deadzone=4000 --deadzone-trigger 15% --force-feedback --mimic-xpad --trigger-as-button --device-name Arcade_Joystick_Player_2_-_4_way_restricted_xboxdrv --evdev-absmap ABS_X=x1,ABS_Y=y1 --four-way-restrictor --evdev-keymap BTN_TRIGGER=y,BTN_THUMB=a,BTN_THUMB2=back,BTN_PINKIE=x,BTN_TOP=b,BTN_TOP2=start --ui-buttonmap lb=void,rb=void,tl=void,tr=void,guide=void,lt=void,rt=void &: No such file or directory /opt/retropie/configs/all/runcommand-onstart.sh: line 37: 8way3=sudo /opt/retropie/supplementary/xboxdrv/bin/xboxdrv --evdev /dev/input/by-path/platform-3f980000.usb-usb-0:1.3.2:1.0-event-joystick --silent --detach-kernel-driver --deadzone=4000 --deadzone-trigger 15% --force-feedback --mimic-xpad --trigger-as-button --device-name Arcade_Joystick_Player_3_-_8_way_xboxdrv --evdev-absmap ABS_X=x1,ABS_Y=y1 --evdev-keymap BTN_TRIGGER=y,BTN_THUMB=a,BTN_THUMB2=back,BTN_PINKIE=x,BTN_TOP=b,BTN_TOP2=start --ui-buttonmap lb=void,rb=void,tl=void,tr=void,guide=void,lt=void,rt=void &: No such file or directory /opt/retropie/configs/all/runcommand-onstart.sh: line 39: 4way3=sudo /opt/retropie/supplementary/xboxdrv/bin/xboxdrv --evdev /dev/input/by-path/platform-3f980000.usb-usb-0:1.3.2:1.0-event-joystick --silent --detach-kernel-driver --deadzone=4000 --deadzone-trigger 15% --force-feedback --mimic-xpad --trigger-as-button --device-name Arcade_Joystick_Player_3_-_4_way_restricted_xboxdrv --evdev-absmap ABS_X=x1,ABS_Y=y1 --four-way-restrictor --evdev-keymap BTN_TRIGGER=y,BTN_THUMB=a,BTN_THUMB2=back,BTN_PINKIE=x,BTN_TOP=b,BTN_TOP2=start --ui-buttonmap lb=void,rb=void,tl=void,tr=void,guide=void,lt=void,rt=void &: No such file or directory /opt/retropie/configs/all/runcommand-onstart.sh: line 41: 8way4=sudo /opt/retropie/supplementary/xboxdrv/bin/xboxdrv --evdev /dev/input/by-path/platform-3f980000.usb-usb-0:1.3.4:1.0-event-joystick --silent --detach-kernel-driver --deadzone=4000 --deadzone-trigger 15% --force-feedback --mimic-xpad --trigger-as-button --device-name Arcade_Joystick_Player_4_-_8_way_xboxdrv --evdev-absmap ABS_X=x1,ABS_Y=y1 --evdev-keymap BTN_TRIGGER=y,BTN_THUMB=a,BTN_THUMB2=back,BTN_PINKIE=x,BTN_TOP=b,BTN_TOP2=start --ui-buttonmap lb=void,rb=void,tl=void,tr=void,guide=void,lt=void,rt=void &: No such file or directory /opt/retropie/configs/all/runcommand-onstart.sh: line 43: 4way4=sudo /opt/retropie/supplementary/xboxdrv/bin/xboxdrv --evdev /dev/input/by-path/platform-3f980000.usb-usb-0:1.3.4:1.0-event-joystick --silent --detach-kernel-driver --deadzone=4000 --deadzone-trigger 15% --force-feedback --mimic-xpad --trigger-as-button --device-name Arcade_Joystick_Player_4_-_4_way_restricted_xboxdrv --four-way-restrictor --evdev-absmap ABS_X=x1,ABS_Y=y1 --evdev-keymap BTN_TRIGGER=y,BTN_THUMB=a,BTN_THUMB2=back,BTN_PINKIE=x,BTN_TOP=b,BTN_TOP2=start --ui-buttonmap lb=void,rb=void,tl=void,tr=void,guide=void,lt=void,rt=void &: No such file or directory Parameters: Executing: /opt/retropie/emulators/retroarch/bin/retroarch -L /opt/retropie/libretrocores/lr-mame2003/mame2003_libretro.so --config /opt/retropie/configs/mame-libretro/retroarch.cfg "/home/pi/RetroPie/roms/arcade-vertical/amidar.zip" --appendconfig /dev/shm/retroarch.cfg'|'"/home/pi/RetroPie/roms/arcade-vertical/amidar.zip.cfg" xboxdrv: no process found"
Any help would be greatly appreciated. Thanks.
-
It could be that the variables and
--device-name
arguments are both being wrapped in double quotation marks. Try wrapping the variables in single quotation marks and the--device-name
arguments in doubles. For example:8way1='sudo /opt/retropie/supplementary/xboxdrv/bin/xboxdrv --evdev /dev/input/by-path/platform-3f980000.usb-usb-0:1.3.3:1.0-event-joystick --silent --detach-kernel-driver --deadzone=4000 --deadzone-trigger 15% --force-feedback --mimic-xpad --trigger-as-button --device-name "Arcade_Joystick_Player_1_-_8_way_xboxdrv" --evdev-absmap ABS_X=x1,ABS_Y=y1 --evdev-keymap BTN_TRIGGER=x,BTN_THUMB=y,BTN_THUMB2=a,BTN_PINKIE=b,BTN_BASE3=back,BTN_BASE6=start --ui-buttonmap lb=void,rb=void,tl=void,tr=void,guide=void,lt=void,rt=void &'
-
@mediamogul Hi mediamogul. Thank you. That is interesting. A lot of the errors I was getting earlier on before fixing the Amiga joysticks related to the device name. The only way I solved that was by using underscores in the name, simplifying the name and having the statement on one line - eg Amiga_Joystick_Player_1_xboxdrv .
I've now made the change as suggested to all configurations including the Amiga joysticks, but the response is the same in runcommand.log:
/opt/retropie/configs/all/runcommand-onstart.sh: line 29: 8way1=sudo /opt/retropie/supplementary/xboxdrv/bin/xboxdrv --evdev /dev/input/by-path/platform-3f980000.usb-usb-0:1.3.3:1.0-event-joystick --silent --detach-kernel-driver --deadzone=4000 --deadzone-trigger 15% --force-feedback --mimic-xpad --trigger-as-button --device-name "Arcade_Joystick_Player_1_-_8_way_xboxdrv" --evdev-absmap ABS_X=x1,ABS_Y=y1 --evdev-keymap BTN_TRIGGER=x,BTN_THUMB=y,BTN_THUMB2=a,BTN_PINKIE=b,BTN_BASE3=back,BTN_BASE6=start --ui-buttonmap lb=void,rb=void,tl=void,tr=void,guide=void,lt=void,rt=void &: No such file or directory /opt/retropie/configs/all/runcommand-onstart.sh: line 31: 4way1=sudo /opt/retropie/supplementary/xboxdrv/bin/xboxdrv --evdev /dev/input/by-path/platform-3f980000.usb-usb-0:1.3.3:1.0-event-joystick --silent --detach-kernel-driver --deadzone=4000 --deadzone-trigger 15% --force-feedback --mimic-xpad --trigger-as-button --device-name "Arcade_Joystick_Player_1_-_4_way_restricted_xboxdrv" --four-way-restrictor --evdev-absmap ABS_X=x1,ABS_Y=y1 --evdev-keymap BTN_TRIGGER=x,BTN_THUMB=y,BTN_THUMB2=a,BTN_PINKIE=b,BTN_BASE3=back,BTN_BASE6=start --ui-buttonmap lb=void,rb=void,tl=void,tr=void,guide=void,lt=void,rt=void &: No such file or directory /opt/retropie/configs/all/runcommand-onstart.sh: line 33: 8way2=sudo /opt/retropie/supplementary/xboxdrv/bin/xboxdrv --evdev /dev/input/by-path/platform-3f980000.usb-usb-0:1.3.1:1.0-event-joystick --silent --detach-kernel-driver --deadzone=4000 --deadzone-trigger 15% --force-feedback --mimic-xpad --trigger-as-button --device-name "Arcade_Joystick_Player_2_-_8_way_xboxdrv" --evdev-absmap ABS_X=x1,ABS_Y=y1 --evdev-keymap BTN_TRIGGER=y,BTN_THUMB=a,BTN_THUMB2=back,BTN_PINKIE=x,BTN_TOP=b,BTN_TOP2=start --ui-buttonmap lb=void,rb=void,tl=void,tr=void,guide=void,lt=void,rt=void &: No such file or directory /opt/retropie/configs/all/runcommand-onstart.sh: line 35: 4way2=sudo /opt/retropie/supplementary/xboxdrv/bin/xboxdrv --evdev /dev/input/by-path/platform-3f980000.usb-usb-0:1.3.1:1.0-event-joystick --silent --detach-kernel-driver --deadzone=4000 --deadzone-trigger 15% --force-feedback --mimic-xpad --trigger-as-button --device-name "Arcade_Joystick_Player_2_-_4_way_restricted_xboxdrv" --evdev-absmap ABS_X=x1,ABS_Y=y1 --four-way-restrictor --evdev-keymap BTN_TRIGGER=y,BTN_THUMB=a,BTN_THUMB2=back,BTN_PINKIE=x,BTN_TOP=b,BTN_TOP2=start --ui-buttonmap lb=void,rb=void,tl=void,tr=void,guide=void,lt=void,rt=void &: No such file or directory /opt/retropie/configs/all/runcommand-onstart.sh: line 37: 8way3=sudo /opt/retropie/supplementary/xboxdrv/bin/xboxdrv --evdev /dev/input/by-path/platform-3f980000.usb-usb-0:1.3.2:1.0-event-joystick --silent --detach-kernel-driver --deadzone=4000 --deadzone-trigger 15% --force-feedback --mimic-xpad --trigger-as-button --device-name "Arcade_Joystick_Player_3_-_8_way_xboxdrv" --evdev-absmap ABS_X=x1,ABS_Y=y1 --evdev-keymap BTN_TRIGGER=y,BTN_THUMB=a,BTN_THUMB2=back,BTN_PINKIE=x,BTN_TOP=b,BTN_TOP2=start --ui-buttonmap lb=void,rb=void,tl=void,tr=void,guide=void,lt=void,rt=void &: No such file or directory /opt/retropie/configs/all/runcommand-onstart.sh: line 39: 4way3=sudo /opt/retropie/supplementary/xboxdrv/bin/xboxdrv --evdev /dev/input/by-path/platform-3f980000.usb-usb-0:1.3.2:1.0-event-joystick --silent --detach-kernel-driver --deadzone=4000 --deadzone-trigger 15% --force-feedback --mimic-xpad --trigger-as-button --device-name "Arcade_Joystick_Player_3_-_4_way_restricted_xboxdrv" --evdev-absmap ABS_X=x1,ABS_Y=y1 --four-way-restrictor --evdev-keymap BTN_TRIGGER=y,BTN_THUMB=a,BTN_THUMB2=back,BTN_PINKIE=x,BTN_TOP=b,BTN_TOP2=start --ui-buttonmap lb=void,rb=void,tl=void,tr=void,guide=void,lt=void,rt=void &: No such file or directory /opt/retropie/configs/all/runcommand-onstart.sh: line 41: 8way4=sudo /opt/retropie/supplementary/xboxdrv/bin/xboxdrv --evdev /dev/input/by-path/platform-3f980000.usb-usb-0:1.3.4:1.0-event-joystick --silent --detach-kernel-driver --deadzone=4000 --deadzone-trigger 15% --force-feedback --mimic-xpad --trigger-as-button --device-name "Arcade_Joystick_Player_4_-_8_way_xboxdrv" --evdev-absmap ABS_X=x1,ABS_Y=y1 --evdev-keymap BTN_TRIGGER=y,BTN_THUMB=a,BTN_THUMB2=back,BTN_PINKIE=x,BTN_TOP=b,BTN_TOP2=start --ui-buttonmap lb=void,rb=void,tl=void,tr=void,guide=void,lt=void,rt=void &: No such file or directory /opt/retropie/configs/all/runcommand-onstart.sh: line 43: 4way4=sudo /opt/retropie/supplementary/xboxdrv/bin/xboxdrv --evdev /dev/input/by-path/platform-3f980000.usb-usb-0:1.3.4:1.0-event-joystick --silent --detach-kernel-driver --deadzone=4000 --deadzone-trigger 15% --force-feedback --mimic-xpad --trigger-as-button --device-name "Arcade_Joystick_Player_4_-_4_way_restricted_xboxdrv" --four-way-restrictor --evdev-absmap ABS_X=x1,ABS_Y=y1 --evdev-keymap BTN_TRIGGER=y,BTN_THUMB=a,BTN_THUMB2=back,BTN_PINKIE=x,BTN_TOP=b,BTN_TOP2=start --ui-buttonmap lb=void,rb=void,tl=void,tr=void,guide=void,lt=void,rt=void &: No such file or directory Parameters: Executing: /opt/retropie/emulators/retroarch/bin/retroarch -L /opt/retropie/libretrocores/lr-mame2003/mame2003_libretro.so --config /opt/retropie/configs/mame-libretro/retroarch.cfg "/home/pi/RetroPie/roms/arcade-vertical/amidar.zip" --appendconfig /dev/shm/retroarch.cfg'|'"/home/pi/RetroPie/roms/arcade-vertical/amidar.zip.cfg" xboxdrv: no process found
-
Just to cover the bases, you've tested that each of these commands work on their own from the command line?
-
@mediamogul Yes, I have and they work from the commandline.
-
Definitely keep the previous fix, but also try wrapping the path to xboxdrv in double quotations:
8way1='sudo "/opt/retropie/supplementary/xboxdrv/bin/xboxdrv" --evdev /dev/input/by-path/platform-3f980000.usb-usb-0:1.3.3:1.0-event-joystick --silent --detach-kernel-driver --deadzone=4000 --deadzone-trigger 15% --force-feedback --mimic-xpad --trigger-as-button --device-name "Arcade_Joystick_Player_1_-_8_way_xboxdrv" --evdev-absmap ABS_X=x1,ABS_Y=y1 --evdev-keymap BTN_TRIGGER=x,BTN_THUMB=y,BTN_THUMB2=a,BTN_PINKIE=b,BTN_BASE3=back,BTN_BASE6=start --ui-buttonmap lb=void,rb=void,tl=void,tr=void,guide=void,lt=void,rt=void &'
-
@mediamogul Hi mediamogul. Same response, I'm afraid:
/opt/retropie/configs/all/runcommand-onstart.sh: line 29: 8way1=sudo "/opt/retropie/supplementary/xboxdrv/bin/xboxdrv" --evdev /dev/input/by-path/platform-3f980000.usb-usb-0:1.3.3:1.0-event-joystick --silent --detach-kernel-driver --deadzone=4000 --deadzone-trigger 15% --force-feedback --mimic-xpad --trigger-as-button --device-name "Arcade_Joystick_Player_1_-_8_way_xboxdrv" --evdev-absmap ABS_X=x1,ABS_Y=y1 --evdev-keymap BTN_TRIGGER=x,BTN_THUMB=y,BTN_THUMB2=a,BTN_PINKIE=b,BTN_BASE3=back,BTN_BASE6=start --ui-buttonmap lb=void,rb=void,tl=void,tr=void,guide=void,lt=void,rt=void &: No such file or directory /opt/retropie/configs/all/runcommand-onstart.sh: line 31: 4way1=sudo "/opt/retropie/supplementary/xboxdrv/bin/xboxdrv" --evdev /dev/input/by-path/platform-3f980000.usb-usb-0:1.3.3:1.0-event-joystick --silent --detach-kernel-driver --deadzone=4000 --deadzone-trigger 15% --force-feedback --mimic-xpad --trigger-as-button --device-name "Arcade_Joystick_Player_1_-_4_way_restricted_xboxdrv" --four-way-restrictor --evdev-absmap ABS_X=x1,ABS_Y=y1 --evdev-keymap BTN_TRIGGER=x,BTN_THUMB=y,BTN_THUMB2=a,BTN_PINKIE=b,BTN_BASE3=back,BTN_BASE6=start --ui-buttonmap lb=void,rb=void,tl=void,tr=void,guide=void,lt=void,rt=void &: No such file or directory /opt/retropie/configs/all/runcommand-onstart.sh: line 33: 8way2=sudo "/opt/retropie/supplementary/xboxdrv/bin/xboxdrv" --evdev /dev/input/by-path/platform-3f980000.usb-usb-0:1.3.1:1.0-event-joystick --silent --detach-kernel-driver --deadzone=4000 --deadzone-trigger 15% --force-feedback --mimic-xpad --trigger-as-button --device-name "Arcade_Joystick_Player_2_-_8_way_xboxdrv" --evdev-absmap ABS_X=x1,ABS_Y=y1 --evdev-keymap BTN_TRIGGER=y,BTN_THUMB=a,BTN_THUMB2=back,BTN_PINKIE=x,BTN_TOP=b,BTN_TOP2=start --ui-buttonmap lb=void,rb=void,tl=void,tr=void,guide=void,lt=void,rt=void &: No such file or directory /opt/retropie/configs/all/runcommand-onstart.sh: line 35: 4way2=sudo "/opt/retropie/supplementary/xboxdrv/bin/xboxdrv" --evdev /dev/input/by-path/platform-3f980000.usb-usb-0:1.3.1:1.0-event-joystick --silent --detach-kernel-driver --deadzone=4000 --deadzone-trigger 15% --force-feedback --mimic-xpad --trigger-as-button --device-name "Arcade_Joystick_Player_2_-_4_way_restricted_xboxdrv" --evdev-absmap ABS_X=x1,ABS_Y=y1 --four-way-restrictor --evdev-keymap BTN_TRIGGER=y,BTN_THUMB=a,BTN_THUMB2=back,BTN_PINKIE=x,BTN_TOP=b,BTN_TOP2=start --ui-buttonmap lb=void,rb=void,tl=void,tr=void,guide=void,lt=void,rt=void &: No such file or directory /opt/retropie/configs/all/runcommand-onstart.sh: line 37: 8way3=sudo "/opt/retropie/supplementary/xboxdrv/bin/xboxdrv" --evdev /dev/input/by-path/platform-3f980000.usb-usb-0:1.3.2:1.0-event-joystick --silent --detach-kernel-driver --deadzone=4000 --deadzone-trigger 15% --force-feedback --mimic-xpad --trigger-as-button --device-name "Arcade_Joystick_Player_3_-_8_way_xboxdrv" --evdev-absmap ABS_X=x1,ABS_Y=y1 --evdev-keymap BTN_TRIGGER=y,BTN_THUMB=a,BTN_THUMB2=back,BTN_PINKIE=x,BTN_TOP=b,BTN_TOP2=start --ui-buttonmap lb=void,rb=void,tl=void,tr=void,guide=void,lt=void,rt=void &: No such file or directory /opt/retropie/configs/all/runcommand-onstart.sh: line 39: 4way3=sudo "/opt/retropie/supplementary/xboxdrv/bin/xboxdrv" --evdev /dev/input/by-path/platform-3f980000.usb-usb-0:1.3.2:1.0-event-joystick --silent --detach-kernel-driver --deadzone=4000 --deadzone-trigger 15% --force-feedback --mimic-xpad --trigger-as-button --device-name "Arcade_Joystick_Player_3_-_4_way_restricted_xboxdrv" --evdev-absmap ABS_X=x1,ABS_Y=y1 --four-way-restrictor --evdev-keymap BTN_TRIGGER=y,BTN_THUMB=a,BTN_THUMB2=back,BTN_PINKIE=x,BTN_TOP=b,BTN_TOP2=start --ui-buttonmap lb=void,rb=void,tl=void,tr=void,guide=void,lt=void,rt=void &: No such file or directory /opt/retropie/configs/all/runcommand-onstart.sh: line 41: 8way4=sudo "/opt/retropie/supplementary/xboxdrv/bin/xboxdrv" --evdev /dev/input/by-path/platform-3f980000.usb-usb-0:1.3.4:1.0-event-joystick --silent --detach-kernel-driver --deadzone=4000 --deadzone-trigger 15% --force-feedback --mimic-xpad --trigger-as-button --device-name "Arcade_Joystick_Player_4_-_8_way_xboxdrv" --evdev-absmap ABS_X=x1,ABS_Y=y1 --evdev-keymap BTN_TRIGGER=y,BTN_THUMB=a,BTN_THUMB2=back,BTN_PINKIE=x,BTN_TOP=b,BTN_TOP2=start --ui-buttonmap lb=void,rb=void,tl=void,tr=void,guide=void,lt=void,rt=void &: No such file or directory /opt/retropie/configs/all/runcommand-onstart.sh: line 43: 4way4=sudo "/opt/retropie/supplementary/xboxdrv/bin/xboxdrv" --evdev /dev/input/by-path/platform-3f980000.usb-usb-0:1.3.4:1.0-event-joystick --silent --detach-kernel-driver --deadzone=4000 --deadzone-trigger 15% --force-feedback --mimic-xpad --trigger-as-button --device-name "Arcade_Joystick_Player_4_-_4_way_restricted_xboxdrv" --four-way-restrictor --evdev-absmap ABS_X=x1,ABS_Y=y1 --evdev-keymap BTN_TRIGGER=y,BTN_THUMB=a,BTN_THUMB2=back,BTN_PINKIE=x,BTN_TOP=b,BTN_TOP2=start --ui-buttonmap lb=void,rb=void,tl=void,tr=void,guide=void,lt=void,rt=void &: No such file or directory Parameters: Executing: /opt/retropie/emulators/retroarch/bin/retroarch -L /opt/retropie/libretrocores/lr-mame2003/mame2003_libretro.so --config /opt/retropie/configs/mame-libretro/retroarch.cfg "/home/pi/RetroPie/roms/arcade-vertical/amidar.zip" --appendconfig /dev/shm/retroarch.cfg'|'"/home/pi/RetroPie/roms/arcade-vertical/amidar.zip.cfg" xboxdrv: no process found
Just for good measure, I tried on the commandline too and it does work from there.
-
-
@mediamogul Hi. Thanks. No problem. I'll have another go with @madhorse technique. I'm just wondering though if that technique is going to work with multiple controllers, but will give it a go.
-
@spud11 said in Guide: Advanced Controller Mappings:
I'm just wondering though if that technique is going to work with multiple controllers, but will give it a go.
What you're looking to do is entirely possible, but it's also a very tailored use case scenario. I have a feeling you'll be dealing with a lot of trial and error no matter what. I'll help as best I can, but it's difficult from the back seat. Plus, my sister keeps kicking me and it smells back here.
-
I am about to try this. I am going to attempt to use a PS4 controller to map a mouse in DosBOX. I have tried Joymap and only got the mouse to move around not capture clicks.
I see that Lakka has default mouse capture, but I prefer retropie by far for customization.
I am hoping this will solve my issue.
-
@dunnieboy said in Guide: Advanced Controller Mappings:
I see that Lakka has default mouse capture, but I prefer retropie by far for customization.
You're better off all around. The standalone DOSBox is just more flexible and has less overhead, allowing some of the more complicated and intensive DOS titles to run on the Pi.
-
@mediamogul awesome ...well ... prepare for an onslaught of pleas for help =)
-
I'll try to answer them as best I can.
-
@mediamogul Ok .. here goes ...
I am going to step through what I did first, and ask questions along the way.
pi@retropie:~ $ cat /proc/bus/input/devices
returned
I: Bus=0003 Vendor=054c Product=09cc Version=0111 N: Name="Sony Interactive Entertainment Wireless Controller" P: Phys=usb-3f980000.usb-1.5/input3 S: Sysfs=/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.5/1-1.5:1.3/0003:054C:09CC.0004/input/input0 U: Uniq= H: Handlers=js0 event0 B: PROP=0 B: EV=1b B: KEY=3fff0000 0 0 0 0 0 0 0 0 0 B: ABS=3003f B: MSC=10 I: Bus=0003 Vendor=046d Product=404d Version=0111 N: Name="Logitech K400 Plus" P: Phys=usb-3f980000.usb-1.4:1 S: Sysfs=/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.4/1-1.4:1.2/0003:046D:C52B.0003/0003:046D:404D.0005/input/input1 U: Uniq= H: Handlers=sysrq kbd leds mouse0 event1 B: PROP=0 B: EV=12001f B: KEY=3007f 0 0 0 0 83ffff 17aff32d bf544446 0 0 ffff0001 130f97 8b17c007 ffff73fa d941dfff febeffdf ffefffff ffffffff fffffffe B: REL=1c3 B: ABS=1 0 B: MSC=10 B: LED=1f
ls /dev/input/by-id
usb-Logitech_USB_Receiver-if02-event-mouse usb-Logitech_USB_Receiver-if02-mouse usb-Sony_Interactive_Entertainment_Wireless_Controller-if03-event-joystick usb-Sony_Interactive_Entertainment_Wireless_Controller-if03-joystick
sudo nano /etc/rc.local
#!/bin/sh -e # # rc.local # # This script is executed at the end of each multiuser runlevel. # Make sure that the script will "exit 0" on success or any other # value on error. # # In order to enable or disable this script just change the execution # bits. # # By default this script does nothing. # Print the IP address _IP=$(hostname -I) || true if [ "$_IP" ]; then printf "My IP address is %s\n" "$_IP" fi sudo /opt/retropie/supplementary/xboxdrv/bin/xboxdrv \ --evdev /dev/input/event0 \ --silent \ --detach-kernel-driver \ --force-feedback \ --deadzone-trigger 15% \ --deadzone 4000 \ --device-name "donotroller" \ --mimic-xpad \ --evdev-absmap ABS_X=x1,ABS_Y=y1,ABS_Z=x2,ABS_RZ=y2,ABS_RX=lt,ABS_RY=rt,ABS_HAT0X=dpad_x,ABS_HAT0Y=dpad_y \ --evdev-keymap BTN_EAST=a,BTN_C=b,BTN_SOUTH=x,BTN_NORTH=y,BTN_WEST=lb,BTN_Z=rb,BTN_START=tl,BTN_SELECT=tr,BTN_THUMBL=guide,BTN_TL2=back,BTN_TR2=start \ & exit 0
sudo reboot and cat /proc/bus/input/devices
I: Bus=0003 Vendor=054c Product=09cc Version=0111 N: Name="Sony Interactive Entertainment Wireless Controller" P: Phys=usb-3f980000.usb-1.5/input3 S: Sysfs=/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.5/1-1.5:1.3/0003:054C:09CC.0004/input/input0 U: Uniq= H: Handlers=js0 event0 B: PROP=0 B: EV=1b B: KEY=3fff0000 0 0 0 0 0 0 0 0 0 B: ABS=3003f B: MSC=10 I: Bus=0003 Vendor=046d Product=404d Version=0111 N: Name="Logitech K400 Plus" P: Phys=usb-3f980000.usb-1.4:1 S: Sysfs=/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.4/1-1.4:1.2/0003:046D:C52B.0003/0003:046D:404D.0005/input/input1 U: Uniq= H: Handlers=sysrq kbd leds mouse0 event1 B: PROP=0 B: EV=12001f B: KEY=3007f 0 0 0 0 83ffff 17aff32d bf544446 0 0 ffff0001 130f97 8b17c007 ffff73fa d941dfff febeffdf ffefffff ffffffff fffffffe B: REL=1c3 B: ABS=1 0 B: MSC=10 B: LED=1f I: Bus=0003 Vendor=045e Product=028e Version=0110 N: Name="Microsoft X-Box 360 pad" P: Phys= S: Sysfs=/devices/virtual/input/input2 U: Uniq= H: Handlers=js1 event2 B: PROP=0 B: EV=20000b B: KEY=7cdb0000 0 0 0 0 0 0 0 0 0 B: ABS=3003f B: FF=1 3f870000 0 0
I would have thought I would see "donotroller" as a device - what did I do wrong ???
-
Not all controllers have a unique event name. I believe you said you were wanting to map your PS4 controller and it appears to be listed above under the name "Sony Interactive Entertainment Wireless Controller". It's event handler is "event0", so you'll need to use "event0" to move on to the next steps.
-
@mediamogul Ok ... I figured out that it was the
--mimic -xpad \
that was preventing the controller from being renamed. Do I need that line ?I know have ...
I: Bus=0000 Vendor=0000 Product=0000 Version=0000 N: Name="donotroller" P: Phys= S: Sysfs=/devices/virtual/input/input2 U: Uniq= H: Handlers=js1 event2 B: PROP=0 B: EV=20000b B: KEY=7cdb0000 0 0 0 0 0 0 0 0 0 B: ABS=3061b B: FF=1 3f870000 0 0
-
Do I need that line ?
You do not. If it's there, it will mimic the naming scheme and button arrangement of an authentic XBox3600 controller. Without it, you're free to create a virtual controller to your own specs.
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.