RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login
    Please do not post a support request without first reading and following the advice in https://retropie.org.uk/forum/topic/3/read-this-first

    Guide: Advanced Controller Mappings

    Scheduled Pinned Locked Moved Help and Support
    joystickcontrollermappingxboxdrvscummvm
    626 Posts 35 Posters 476.2k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • mediamogulM
      mediamogul Global Moderator @spud11
      last edited by

      @spud11

      Just to cover the bases, you've tested that each of these commands work on their own from the command line?

      RetroPie v4.5 • RPi3 Model B • 5.1V 2.5A PSU • 16GB SanDisk microSD • 512GB External Drive

      S 1 Reply Last reply Reply Quote 0
      • S
        spud11 @mediamogul
        last edited by

        @mediamogul Yes, I have and they work from the commandline.

        RetroPie v4.4.1 • RPi3 Model B • 5.1V 2.5A PSU • 32GB SanDisk Extreme microSD • 2TB Toshiba Canvio Basics Portable USB 3.0 hard drive • 4 x DragonRise USB Arcade joysticks • 2 x TurboTwist spinners • 1 x USB trackball • 1 x PS4 wireless • 1 x 8BitDo Zero

        mediamogulM 1 Reply Last reply Reply Quote 0
        • mediamogulM
          mediamogul Global Moderator @spud11
          last edited by

          @spud11

          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 &'
          

          RetroPie v4.5 • RPi3 Model B • 5.1V 2.5A PSU • 16GB SanDisk microSD • 512GB External Drive

          S 1 Reply Last reply Reply Quote 0
          • S
            spud11 @mediamogul
            last edited by

            @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.

            RetroPie v4.4.1 • RPi3 Model B • 5.1V 2.5A PSU • 32GB SanDisk Extreme microSD • 2TB Toshiba Canvio Basics Portable USB 3.0 hard drive • 4 x DragonRise USB Arcade joysticks • 2 x TurboTwist spinners • 1 x USB trackball • 1 x PS4 wireless • 1 x 8BitDo Zero

            mediamogulM 1 Reply Last reply Reply Quote 0
            • mediamogulM
              mediamogul Global Moderator @spud11
              last edited by

              @spud11

              I know this was an attempt to simplify the second method from the guide, but it might end up being easier to follow @MadHorse's example, seeing as how this hybrid method isn't working out.

              RetroPie v4.5 • RPi3 Model B • 5.1V 2.5A PSU • 16GB SanDisk microSD • 512GB External Drive

              S 1 Reply Last reply Reply Quote 0
              • S
                spud11 @mediamogul
                last edited by

                @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.

                RetroPie v4.4.1 • RPi3 Model B • 5.1V 2.5A PSU • 32GB SanDisk Extreme microSD • 2TB Toshiba Canvio Basics Portable USB 3.0 hard drive • 4 x DragonRise USB Arcade joysticks • 2 x TurboTwist spinners • 1 x USB trackball • 1 x PS4 wireless • 1 x 8BitDo Zero

                mediamogulM 1 Reply Last reply Reply Quote 0
                • mediamogulM
                  mediamogul Global Moderator @spud11
                  last edited by mediamogul

                  @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.

                  RetroPie v4.5 • RPi3 Model B • 5.1V 2.5A PSU • 16GB SanDisk microSD • 512GB External Drive

                  S 1 Reply Last reply Reply Quote 0
                  • D
                    dunnieboy
                    last edited by

                    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.

                    mediamogulM 1 Reply Last reply Reply Quote 0
                    • mediamogulM
                      mediamogul Global Moderator @dunnieboy
                      last edited by mediamogul

                      @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.

                      RetroPie v4.5 • RPi3 Model B • 5.1V 2.5A PSU • 16GB SanDisk microSD • 512GB External Drive

                      D 1 Reply Last reply Reply Quote 0
                      • D
                        dunnieboy @mediamogul
                        last edited by

                        @mediamogul awesome ...well ... prepare for an onslaught of pleas for help =)

                        mediamogulM 1 Reply Last reply Reply Quote 0
                        • mediamogulM
                          mediamogul Global Moderator @dunnieboy
                          last edited by

                          @dunnieboy

                          I'll try to answer them as best I can.

                          RetroPie v4.5 • RPi3 Model B • 5.1V 2.5A PSU • 16GB SanDisk microSD • 512GB External Drive

                          D 1 Reply Last reply Reply Quote 0
                          • D
                            dunnieboy @mediamogul
                            last edited by dunnieboy

                            @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 ???

                            mediamogulM 1 Reply Last reply Reply Quote 0
                            • mediamogulM
                              mediamogul Global Moderator @dunnieboy
                              last edited by mediamogul

                              @dunnieboy

                              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.

                              RetroPie v4.5 • RPi3 Model B • 5.1V 2.5A PSU • 16GB SanDisk microSD • 512GB External Drive

                              D 1 Reply Last reply Reply Quote 0
                              • D
                                dunnieboy @mediamogul
                                last edited by dunnieboy

                                @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
                                
                                mediamogulM 1 Reply Last reply Reply Quote 0
                                • mediamogulM
                                  mediamogul Global Moderator @dunnieboy
                                  last edited by

                                  @dunnieboy

                                  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.

                                  RetroPie v4.5 • RPi3 Model B • 5.1V 2.5A PSU • 16GB SanDisk microSD • 512GB External Drive

                                  D 1 Reply Last reply Reply Quote 1
                                  • H
                                    Hubz @spud11
                                    last edited by

                                    @spud11 Hey Spud, would you mind sharing your list of 4-way games? Or tell me how you were able to figure them out? Was going to add them all to my script :)

                                    S 2 Replies Last reply Reply Quote 0
                                    • D
                                      dunnieboy @mediamogul
                                      last edited by dunnieboy

                                      @mediamogul OMG - Its working - a little chunky (slow) for command and conquer ... but i think that means I just need to adjust my dosbox config. Any suggestions would be appreciated.

                                      One note ... I am adding the code to my fame config files ... I am not sure if this is the most elegant way of handling this ... what do you think .. here is an example.

                                      #!/bin/bash
                                      sudo killall >/dev/null xboxdrv
                                      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" \
                                      	--calibration x1=-32767:0:32767,y1=-32767:0:32767,x2=-32767:0:32767,y2=-32767:0:32767 \
                                      	--trigger-as-button \
                                      	--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 \
                                      	--axismap -Y1=Y1,-Y2=Y2 \
                                      	--ui-axismap x1=REL_X:10,y1=REL_Y:10 \
                                      	--ui-buttonmap b=BTN_LEFT,a=BTN_RIGHT,start=KEY_F5 \
                                      	--ui-buttonmap guide=void,x=void,y=void,lb=void,rb=void,tl=void,tr=void,lt=void,rt=void,back=void \
                                      	--ui-axismap x2=void \
                                      	-- \
                                      /opt/retropie/emulators/dosbox/bin/dosbox -conf "/home/pi/RetroPie/roms/pc/CC_conf.conf"
                                      
                                      1 Reply Last reply Reply Quote 0
                                      • S
                                        spud11 @Hubz
                                        last edited by

                                        @Hubz Certainly. I got the list from the website below:
                                        http://www.armchairarcade.com/neo/node/486

                                        001	.	Ali Baba and 40 Thieves
                                        002	.	Alpha Fighter / Head On
                                        003	.	Amidar
                                        004	.	Anteater
                                        005	.	Arm Wrestling
                                        006	.	Armored Car
                                        007	.	Astro Blaster
                                        008	.	Astro Fighter
                                        009	.	Astro Invader
                                        010	.	Bagman
                                        011	.	Balloon Bomber
                                        012	.	Barrier
                                        013	.	Black Hole
                                        014	.	Blasto
                                        015	.	Blockade
                                        016	.	Burger Time
                                        017	.	Car Jamboree
                                        018	.	Carnival
                                        019	.	Cavelon
                                        020	.	Chameleon
                                        021	.	Checkman
                                        022	.	Chinese Hero
                                        023	.	Circus Charlie
                                        024	.	Commando
                                        025	.	Comotion
                                        026	.	Congo Bongo
                                        027	.	Cops'n Robbers
                                        028	.	Cosmic Guerilla
                                        029	.	Cosmos1981
                                        030	.	Crash
                                        031	.	Crazy Kong (set 1)
                                        032	.	Crush Roller
                                        033	.	Dazzler
                                        034	.	Defend the Terra Attack on the Red UFO (bootleg)
                                        035	.	Devil Fish
                                        036	.	Diamond Run
                                        037	.	Dig Dug
                                        038	.	Dig Dug II
                                        039	.	Digger
                                        040	.	Disco No.1
                                        041	.	Do! Run Run (set 1)
                                        042	.	Dominos
                                        043	.	Dommy
                                        044	.	Donkey Kong
                                        045	.	Donkey Kong 3
                                        046	.	Donkey Kong Junior
                                        047	.	Dorodon (set 1)
                                        048	.	Dr. Micro
                                        049	.	Dragon Buster
                                        050	.	Dream Shopper
                                        051	.	Elevator Action
                                        052	.	Eyes
                                        053	.	Faster, Harder, More Challenging Q*bert (prototype)
                                        054	.	Fire Trap (US)
                                        055	.	Forty-Love
                                        056	.	Frogger
                                        057	.	Galaga
                                        058	.	Galaxian
                                        059	.	Galaxy Wars
                                        060	.	Gals Panic
                                        061	.	Gun Dealer (set 1)
                                        062	.	Guzzler
                                        063	.	Hard Hat
                                        064	.	Head On (2 players)
                                        065	.	Head On 2
                                        066	.	Heiankyo Alien
                                        067	.	Hexa
                                        068	.	Hustle
                                        069	.	Intrepid
                                        070	.	Invader's Revenge
                                        071	.	Invinco / Head On 2
                                        072	.	Iron Horse
                                        073	.	Joust 2 - Survival of the Fittest
                                        074	.	Jr. Pac-Man
                                        075	.	Jump Coaster
                                        076	.	Jumping Jack
                                        077	.	Jungler
                                        078	.	Karate Champ (US)
                                        079	.	Karian Cross (Rev. 1.0)
                                        080	.	Kicker
                                        081	.	King & Balloon
                                        082	.	Kung-Fu Master
                                        083	.	Lady Bug
                                        084	.	Las Vegas Girl (Girl '94)
                                        085	.	Lasso
                                        086	.	Levers
                                        087	.	Lock'n'Chase
                                        088	.	Loco-Motion
                                        089	.	Logger
                                        090	.	Logic Pro (Japan)
                                        091	.	Logic Pro 2 (Japan)
                                        092	.	Lunar Rescue
                                        093	.	Lupin III
                                        094	.	Mahjong Satsujin Jiken (Japan 881017)
                                        095	.	Mappy
                                        096	.	Marvin's Maze
                                        097	.	Meikyu Jima (Japan)
                                        098	.	Mikie
                                        099	.	Minesweeper
                                        100	.	Minky Monkey
                                        101	.	Monster Bash
                                        102	.	Moon Alien Part 2
                                        103	.	Moon Quasar
                                        104	.	Mouse Trap (version 5)
                                        105	.	Mr. Do!
                                        106	.	Mr. Do's Castle
                                        107	.	Mr. Do's Wild Ride
                                        108	.	Mr. F. Lea
                                        109	.	Mr. Goemon (Japan)
                                        110	.	Mr. Jong
                                        111	.	Mr. TNT
                                        112	.	Ms. Pac-Man
                                        113	.	Mysterious Stones
                                        114	.	NATO Defense
                                        115	.	Naughty Boy
                                        116	.	Net Wars
                                        117	.	New Rally X
                                        118	.	Oli-Boo-Chu
                                        119	.	Ozma Wars
                                        120	.	Pac & Pal
                                        121	.	Pac-Man
                                        122	.	Pac-Man Plus
                                        123	.	Pairs (System Ten) (Japan 890826)
                                        124	.	Pengo
                                        125	.	Pepper II
                                        126	.	Perestroika Girls
                                        127	.	Pettan Pyuu (Japan)
                                        128	.	Pickin'
                                        129	.	Pig Newton (version C)
                                        130	.	Pirate Ship HigeMaru
                                        131	.	Pisces
                                        132	.	Pleiads
                                        133	.	Pooyan
                                        134	.	Pop Flamer
                                        135	.	Popeye (revision D)
                                        136	.	Pulsar
                                        137	.	Punch-Out!!
                                        138	.	Q*bert
                                        139	.	Q*bert's Qubes
                                        140	.	Qix
                                        141	.	Radar Scope
                                        142	.	Raiders5
                                        143	.	Rally X
                                        144	.	Rampage (revision 3)
                                        145	.	Reikai Doushi (Japan)
                                        146	.	Return of the Invaders
                                        147	.	Robby Roto
                                        148	.	Roc'n Rope
                                        149	.	Rolling Thunder (new version)
                                        150	.	Route 16
                                        151	.	Route 16
                                        152	.	Samurai
                                        153	.	Samurai Nihon-ichi
                                        154	.	Satan's Hollow
                                        155	.	Scrambled Egg
                                        156	.	Side Track
                                        157	.	Sindbad Mystery
                                        158	.	Solar Fox
                                        159	.	Son of Phoenix
                                        160	.	Space Chaser
                                        161	.	Space Invaders
                                        162	.	Space Invaders Part II
                                        163	.	Space Laser
                                        164	.	Space Panic
                                        165	.	Space Zap
                                        166	.	Spectar (revision 3)
                                        167	.	Springer
                                        168	.	Stratovox
                                        169	.	Streaking
                                        170	.	Super Bagman
                                        171	.	Super Invader Attack
                                        172	.	Super Pac-Man
                                        173	.	Super Punch-Out!!
                                        174	.	Super Qix
                                        175	.	Super Space Invaders '91
                                        176	.	SWAT
                                        177	.	Tactician (set 1)
                                        178	.	Tank Battalion
                                        179	.	Tapper (Budweiser)
                                        180	.	Targ
                                        181	.	Taxi Driver
                                        182	.	Telephone Mahjong (Japan 890111)
                                        183	.	The Amazing Adventures of Mr. F. Lea
                                        184	.	The Electric Yo-Yo
                                        185	.	The Electric Yo-Yo (set 1)
                                        186	.	The End
                                        187	.	The Glob
                                        188	.	Thief
                                        189	.	Timber
                                        190	.	Time Limit
                                        191	.	Tomahawk 777
                                        192	.	Tower of Druaga
                                        193	.	Toypop
                                        194	.	Tranquilizer Gun
                                        195	.	Triple Punch
                                        196	.	Tutankham
                                        197	.	Van Van Car
                                        198	.	Volfied (World)
                                        199	.	VS Gong Fight
                                        200	.	Wai Wai Jockey Gate-In!
                                        201	.	Warp & Warp
                                        202	.	Wiping
                                        203	.	Wonder Momo
                                        204	.	Yam! Yam!?
                                        205	.	Zero Zone
                                        206	.	Zig Zag (Galaxian hardware, set 1)
                                        207	.	Zoo Keeper (set 1)
                                        208	.	Zzyzzyxx
                                        

                                        If you manage to create the right code to get them going, please let me know. I'll be working on it myself fairly shortly using the $3 scenario.

                                        RetroPie v4.4.1 • RPi3 Model B • 5.1V 2.5A PSU • 32GB SanDisk Extreme microSD • 2TB Toshiba Canvio Basics Portable USB 3.0 hard drive • 4 x DragonRise USB Arcade joysticks • 2 x TurboTwist spinners • 1 x USB trackball • 1 x PS4 wireless • 1 x 8BitDo Zero

                                        pjftP H 2 Replies Last reply Reply Quote 0
                                        • pjftP
                                          pjft @spud11
                                          last edited by

                                          @spud11 ... That Commando might be the Sega commando, not the Capcom one. Unless memory is playing tricks on me, I'd have a hard time playing the Capcom one with 4 directions only. I never played the Sega one, so that's why I'm guessing it's that one. I may be wrong though.

                                          Also unsure of whether Rolling Thunder wouldn't allow you to turn while crouching, which would suggest that there'd be use in 8-way controls.

                                          Still, great list, will certainly keep it for reference!

                                          S 1 Reply Last reply Reply Quote 0
                                          • S
                                            spud11 @mediamogul
                                            last edited by

                                            @mediamogul That made me laugh. By the way, I have got it working up to a point using the @madhorse technique.

                                            The code is below, and a couple of interesting pointers for anyone else who finds themselves stuck and is not sure why:

                                            (a) the issue you alluded to with the --device-name problem definitely is a problem. It really doesn't seem to like any "white space" or "brackets" in the name. Adding underscores instead seems to work;

                                            (b) the start of each line shouldn't start with a number. For example, I've got "amiga1" for the name of my first Amiga joystick. If I had that as "1amiga", it would spit out errors. I think that's why my previous code wasn't working - because I had names like "8way" and "4way" for my joysticks. Starting a line with a number is verboten;

                                            (c) although I had set up a separate folder on the pi for my cocktail (arcade vertical) games, I needed to point to mame-libretro to get it working as I'm using lr-mame2003;

                                            (d) it's possible to get 2 (or more) joysticks working at the same time by using & but you have to remember to refer back to the "basic" joystick configuration each time.

                                            #!/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 
                                            
                                            basic="sudo /opt/retropie/supplementary/xboxdrv/bin/xboxdrv \
                                            --silent \
                                            --detach-kernel-driver \
                                            --deadzone=4000 \
                                            --deadzone-trigger 15% \
                                            --force-feedback \
                                            --mimic-xpad \
                                            --trigger-as-button \
                                            --ui-buttonmap lb=void,rb=void,tl=void,tr=void,guide=void,lt=void,rt=void"
                                            
                                            ### Extended Configurations
                                            ### Specific emulator configurations or any other parameters you will need only for some emulators
                                            scummVM="--axismap -Y1=Y1,-Y2=Y2 \
                                            	--ui-axismap x1=REL_X:10,y1=REL_Y:10 \
                                            	--ui-buttonmap a=BTN_LEFT,b=BTN_RIGHT,start=KEY_F5,back=KEY_ESC \
                                            	--ui-buttonmap guide=void,x=void,y=void,lb=void,rb=void,tl=void,tr=void,lt=void,rt=void,back=void \
                                            	--ui-axismap x2=void"
                                            
                                            amiga1="--evdev /dev/input/by-path/platform-3f980000.usb-usb-0:1.3.3:1.0-event-joystick \
                                            	--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"
                                            
                                            amiga2="--evdev /dev/input/by-path/platform-3f980000.usb-usb-0:1.3.1:1.0-event-joystick \
                                            	--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"
                                            
                                            joy1restricted="--evdev /dev/input/by-path/platform-3f980000.usb-usb-0:1.3.3:1.0-event-joystick \
                                            	--device-name "Player_1_-_4-Way_Joystick_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"
                                            
                                            joy1unrestricted="--evdev /dev/input/by-path/platform-3f980000.usb-usb-0:1.3.3:1.0-event-joystick \
                                            	--device-name "Player_1_-_8-Way_Joystick_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"
                                            
                                            joy2restricted="--evdev /dev/input/by-path/platform-3f980000.usb-usb-0:1.3.1:1.0-event-joystick \
                                            	--device-name "Player_2_-_4-Way_Joystick_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"
                                            
                                            joy2unrestricted="--evdev /dev/input/by-path/platform-3f980000.usb-usb-0:1.3.1:1.0-event-joystick \
                                            	--device-name "Player_2_-_8-Way_Joystick_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"
                                            
                                            joy3restricted="--evdev /dev/input/by-path/platform-3f980000.usb-usb-0:1.3.2:1.0-event-joystick \
                                            	--device-name "Player_3_-_4-Way_Joystick_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"
                                            
                                            joy3unrestricted="--evdev /dev/input/by-path/platform-3f980000.usb-usb-0:1.3.2:1.0-event-joystick \
                                            	--device-name "Player_3_-_8-Way_Joystick_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"	
                                            
                                            joy4restricted="--evdev /dev/input/by-path/platform-3f980000.usb-usb-0:1.3.4:1.0-event-joystick \
                                            	--device-name "Player_4_-_4-Way_Joystick_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"
                                            
                                            joy4unrestricted="--evdev /dev/input/by-path/platform-3f980000.usb-usb-0:1.3.4:1.0-event-joystick \
                                            	--device-name "Player_4_-_8-Way_Joystick_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" 
                                            
                                            fourway="--four-way-restrictor"
                                            
                                            invert="--ui-buttonmap du=KEY_DOWN,dd=KEY_UP"
                                            
                                            ### 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
                                            
                                            	mame-libretro)
                                            	case $rom in
                                            			"amidar.zip"|"atetris.zip"|"puckman.zip") # Configuration used only for these ROMs
                                            				$xboxkill
                                            				joycommand="$basic $joy3restricted & $basic $joy4restricted &"
                                            				eval $joycommand
                                            			;;
                                            			*) # Configuration for every other ROMs on this emulator
                                            				$xboxkill
                                            				joycommand="$basic $joy3unrestricted & $basic $joy4unrestricted &"
                                            				eval $joycommand
                                            			;;
                                            		esac
                                            	;;
                                            
                                            	daphne)
                                            	;;
                                            
                                            	scummvm)
                                            		$xboxkill
                                            		joycommand="$basic $scummVM &"
                                            		eval $joycommand
                                            	;;
                                            
                                            	amiga)
                                            		$xboxkill
                                            		joycommand="$basic $amiga1 & $basic $amiga2 &"
                                            		eval $joycommand
                                            	;;
                                            
                                            	intellivision)
                                            	;;
                                            esac
                                            

                                            So where I'm up to with this is that the Amiga joysticks work.

                                            But the same can't be said for the "cocktail" games. When I start Amidar for example, the little yellow writing at the bottom comes up and it informs me that the 4 DragonRise joysticks are set up and also starts joy3restricted and joy4restricted, but that they are unconfigured. The result of that is that I can't press any joystick buttons at all once the rom has begun (although the keyboard still works). Using TAB to get to Mame's internal menu doesn't help as I can't change the buttons. Exiting out of the rom with the keyboard triggers the runcommand-onend.sh file killing xboxdrv and everything then works as per normal using the xpad driver. (If I start Amidar without loading xboxdrv, then everything works but of course I'm using an 8-way unrestricted joystick.)

                                            To troubleshoot, as I'm using lr-mame2003, using putty I have first started xboxdrv for those 2 joysticks (joy3restricted and joy4restricted), then fired up retroarch and configured those joysticks as users 5 and 6, saving the configurations to retroarch.cfg.

                                            I then go back, start Amidar again, and note that joy3restricted and joy4restricted have started, but once again - no buttons work and using the mame TAB interface again doesn't do anything.

                                            Not sure where to go from here. Any help would be great please.

                                            RetroPie v4.4.1 • RPi3 Model B • 5.1V 2.5A PSU • 32GB SanDisk Extreme microSD • 2TB Toshiba Canvio Basics Portable USB 3.0 hard drive • 4 x DragonRise USB Arcade joysticks • 2 x TurboTwist spinners • 1 x USB trackball • 1 x PS4 wireless • 1 x 8BitDo Zero

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            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.