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 460.4k 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 @ExarKunIv
      last edited by

      @ExarKunIv

      Do you have the mouse attached when using the xboxdrv mapping? It could be that it can only use mouse0 for game play.

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

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

        @mediamogul by any chance do you have a config for wing commander 3 or 4 ?

        Here is an xpadder 360 example :

        Pitch Up (Arrow UP) -> UP on Left stick (via XPadder) 
        Pitch Down (Arrow DOWN) -> DOWN on Left stick (via XPadder) 
        Yaw Left (Arrow LEFT) -> LEFT on Left stick (via XPadder) 
        Yaw Right (Arrow RIGHT) -> RIGHT on Left stick (via XPadder) 
        Roll left (INS) -> LEFT on Right stick (via XPadder) 
        Roll right (DEL) -> RIGHT on Right stick (via XPadder) 
        Double movement (SHIFT) -> Downclick on Left stick (Button 8) 
        Afterburn Toggle: (`) -> Select 
        Increase throttle (=+) -> UP on Right stick 
        Decrease throttle (-_) -> DOWN on Right stick 
        AutoPilot (A) -> Start 
        Match speed of target (Y) -> Y 
        Cycle displays (0) -> X 
        Drop decoy (E) -> B 
        Lock target (toggle) (L) -> A 
        Select next target (T) -> R shoulder 
        Select next turret (R) -> L shoulder 
        Fire guns (Spacebar) -> R trigger 
        Fire missiles (Enter) -> L trigger 
        Switch gun(s) (G) -> D-Pad UP (via XPadder) 
        Select full guns (F) -> D-Pad LEFT (via XPadder) 
        Select all missiles (B) -> D-Pad RIGHT (via XPadder) 
        Select missile (M) -> D-Pad DOWN (via XPadder) 
        

        Ill give it a go ... but yikes.

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

          @dunnieboy

          by any chance do you have a config for wing commander 3 or 4 ?

          I don't, but your example is easy enough to convert. Everything you listed above can be achieved by adding the lines below to a base xboxdrv command that is tailored for your controller.

          --dpad-as-button \
          --ui-axismap x1=KEY_LEFT:KEY_RIGHT,y1=KEY_UP:KEY_DOWN,x2=KEY_INSERT:KEY_DELETE,y2=KEY_EQUAL:KEY_MINUS \
          --ui-buttonmap tl=KEY_RIGHTSHIFT,back=KEY_GRAVE,start=KEY_A,y=KEY_Y,x=KEY_0,b=KEY_E,a=KEY_L,rb=KEY_T,lb=KEY_R,rt=KEY_SPACE,lt=KEY_ENTER,du=KEY_G,dd=KEY_M,dl=KEY_F,dr=KEY_B
          

          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 said in Guide: Advanced Controller Mappings:

            you listed above can be achieve

            Thanks .. its the axis sticks that i am having trouble wrapping my head around. Also there are more controls i'd like to map ... any suggestions for additional mappings (maybe to combination buttons ?)

            One question you are using dd,du,dl,dr etc for the dpad ... I thought those were referred to as dpad_x or dpad_y .... or is the naming arbitrary ?

            #!/bin/bash
            sudo killall >/dev/null xboxdrv
            sudo /opt/retropie/supplementary/xboxdrv/bin/xboxdrv \
            	--evdev /dev/input/event3 \
            	--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=KEY_LEFT:KEY_RIGHT,\
            	y1=KEY_UP:KEY_DOWN,\
            	x2=KEY_INSERT:KEY_DELETE,\
            	y2=KEY_EQUAL:KEY_MINUS \
            
            	--ui-buttonmap \
            	
            	#sticks
            
            	tl=KEY_RIGHTSHIFT,\ # Double Movement
            	dd=KEY_M,\ #down - select missile
            	du=KEY_G,\ #up - switch guns
            	dl=KEY_F,\ #left - full guns
            	dr=KEY_B,\ #right - all missiles
            	lt=KEY_ENTER,\ # fire missiles
            	rt=KEY_SPACE,\ # fire guns
            	a=KEY_L,\ # Lock Target
            	b=KEY_E,\  # Drop Decoy
            	x=KEY_X,\ # Cycle Displays
            	y=KEY_Y,\ # Match speed of target
            
            	lb=KEY_T,\ #next target
            	rb=KEY_R,\ #next turret
            
            	start=KEY_A, #autopilot
            	back=KEY_GRAVE #Afterburn
            	
            	# Eject Ctrl-E
            	# Nav Map - N
            	# Lock Targets - L
            	# Comms Select - C
            	# Autopilot - A
            	# Jump - J
            	# Options Menu - Alt-O
            	# Synchro Guns Ctrl-G
            
            	# Look left - F2
            	# Look Right - F3
            	# Look Forward - F1
            	# Look Backward - F4
            
            	# Full Stop  - Backspace
            	# Full Speed - ~
            	# 
            
            mediamogulM 1 Reply Last reply Reply Quote 0
            • mediamogulM
              mediamogul Global Moderator @dunnieboy
              last edited by

              @dunnieboy

              One question you are using dd,du,dl,dr etc for the dpad ... I thought those were referred to as dpad_x or dpad_y .... or is the naming arbitrary ?

              You can map them either way. It seems like there's a reason I always map mine as buttons, but I can't remember it now.

              any suggestions for additional mappings (maybe to combination buttons ?)

              Not off hand. I often get my best ideas on how to improve a control scheme only after testing my initial attempt for a while. Also, you'll sometimes find that an idea you were sure would work doesn't play well at all in practice. One thing I always like to do is bring program functionality in line with RetroArch as closely as possible, so that exiting, save states, screeenshots and resets are always the same in any game I play.

              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 that makes sense .. i'm just trying to eliminate the keyboard usage all together

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

                  @dunnieboy

                  i'm just trying to eliminate the keyboard usage all together

                  It can be done almost completely. The only time I need to use a keyboard is for system maintenance, Z-Machine emulation and certain computer games.

                  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
                  • S
                    spud11 @mediamogul
                    last edited by

                    @mediamogul As per the "Advmame controller problem" thread which I started where I was unable to get Advmame to recognise Player 2's controls separate from Player 1, I've gone back to using lr-mame2003 for both Portrait and Landscape mode oriented roms.

                    For my 4 player arcade table (2 in portrait mode and 2 in landscape mode), xboxdrv allows me to map all 4 joysticks to the same keyboard controls, meaning that it doesn't matter whether I'm playing the game in portrait or landscape orientation, a joystick is going to work.

                    I've mapped Joysticks 1 and 3 to Player 1's keyboard controls and Joysticks 2 and 4 to Player 2's keyboard controls. I've tested this setup with Ms Pacman and it seems to work in both orientations.

                    Hopefully, this code helps someone else with an arcade table similar to mine.

                    #!/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
                    
                    
                    ### Code begins
                    ### Game/ROM full path
                    rom="${3##*/}"
                    
                    ### Set variables for joysticks and emulators
                    ### Basic Configurations - Standard controller mappings for the 4 Arcade (DragonRise) joysticks - map Arcade joysticks to XBox 360 Controller and then map to keyboard.
                    ### Remove " > /dev/null 2>&1 " from first line to see information when xboxdrv starts
                    ### First: Using the TAB menu in lr-mame2003 and other emulators, either make note of the default keyboard controls and map the code below accordingly or in TAB map Player 1's and Player 2's controls to the keyboard controls you want and then map the code below.
                    ### Second: Remember to change the 99-xboxdrv file to the following:
                    ### SUBSYSTEM=="input", ATTRS{name}=="Player_1", GROUP="users", MODE="0666", ENV{ID_INPUT_KEYBOARD}="1"
                    ### SUBSYSTEM=="input", ATTRS{name}=="Player_2", GROUP="users", MODE="0666", ENV{ID_INPUT_KEYBOARD}="1"
                    ### SUBSYSTEM=="input", ATTRS{name}=="Player_3", GROUP="users", MODE="0666", ENV{ID_INPUT_KEYBOARD}="1"
                    ### SUBSYSTEM=="input", ATTRS{name}=="Player_4", GROUP="users", MODE="0666", ENV{ID_INPUT_KEYBOARD}="1"
                    
                    
                    ### Player1_4Way and Player2_4Way map Joysticks 1 and 2 with four way restriction for use with lr-mame2003.
                    Player1_4Way="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 \
                    --evdev /dev/input/by-path/platform-3f980000.usb-usb-0:1.3.3:1.0-event-joystick \
                    --device-name "Player_1" \
                    --evdev-absmap ABS_X=y1,ABS_Y=x1 \
                    --four-way-restrictor \
                    --evdev-keymap BTN_TRIGGER=x,BTN_THUMB=y,BTN_THUMB2=a,BTN_PINKIE=b,BTN_BASE3=back,BTN_BASE6=start \
                    --ui-axismap X1=KEY_LEFT:KEY_RIGHT,Y1=KEY_UP:KEY_DOWN \
                    --ui-buttonmap a=KEY_LEFTCTRL,b=KEY_LEFTALT,x=KEY_SPACE,y=KEY_LEFTSHIFT,back=KEY_5+KEY_1,start=KEY_6+KEY_2,back+start=KEY_SPACE+KEY_ESC"
                    
                    Player2_4Way="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 \
                    --evdev /dev/input/by-path/platform-3f980000.usb-usb-0:1.3.1:1.0-event-joystick \
                    --device-name "Player_2" \
                    --evdev-absmap ABS_X=y1,ABS_Y=x1 \
                    --four-way-restrictor \
                    --evdev-keymap BTN_TRIGGER=y,BTN_THUMB=a,BTN_THUMB2=back,BTN_PINKIE=x,BTN_TOP=b,BTN_TOP2=start \
                    --ui-axismap X1=KEY_D:KEY_G,Y1=KEY_R:KEY_F \
                    --ui-buttonmap a=KEY_A,b=KEY_S,x=KEY_Q,y=KEY_W,back=KEY_6+KEY_2,start=KEY_UNKNOWN,back+start=KEY_SPACE+KEY_ESC"
                    
                    
                    ### Player3_4Way and Player4_4Way map Joysticks 3 and 4 with four way restriction for use with lr-mame2003.
                    Player3_4Way="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 \
                    --evdev /dev/input/by-path/platform-3f980000.usb-usb-0:1.3.2:1.0-event-joystick \
                    --device-name "Player_3" \
                    --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-axismap X1=KEY_DOWN:KEY_UP,Y1=KEY_RIGHT:KEY_LEFT \
                    --ui-buttonmap a=KEY_LEFTCTRL,b=KEY_LEFTALT,x=KEY_SPACE,y=KEY_LEFTSHIFT,back=KEY_5+KEY_1,start=KEY_6+KEY_2,back+start=KEY_SPACE+KEY_ESC"
                    
                    Player4_4Way="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 \
                    --evdev /dev/input/by-path/platform-3f980000.usb-usb-0:1.3.4:1.0-event-joystick \
                    --device-name "Player_4" \
                    --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-axismap X1=KEY_F:KEY_R,Y1=KEY_G:KEY_D \
                    --ui-buttonmap a=KEY_A,b=KEY_S,x=KEY_Q,y=KEY_W,back=KEY_6+KEY_2,start=KEY_UNKNOWN,back+start=KEY_SPACE+KEY_ESC"
                    
                    ### Player1_8Way and Player2_8Way map Joysticks 1 and 2 with no restriction for use with lr-mame2003
                    Player1_8Way="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 \
                    --evdev /dev/input/by-path/platform-3f980000.usb-usb-0:1.3.3:1.0-event-joystick \
                    --device-name "Player_1" \
                    --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-axismap X1=KEY_LEFT:KEY_RIGHT,Y1=KEY_UP:KEY_DOWN \
                    --ui-buttonmap a=KEY_LEFTCTRL,b=KEY_LEFTALT,x=KEY_SPACE,y=KEY_LEFTSHIFT,back=KEY_5+KEY_1,start=KEY_6+KEY_2,back+start=KEY_SPACE+KEY_ESC"
                    
                    Player2_8Way="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 \
                    --evdev /dev/input/by-path/platform-3f980000.usb-usb-0:1.3.1:1.0-event-joystick \
                    --device-name "Player_2" \
                    --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-axismap X1=KEY_D:KEY_G,Y1=KEY_R:KEY_F \
                    --ui-buttonmap a=KEY_A,b=KEY_S,x=KEY_Q,y=KEY_W,back=KEY_6+KEY_2,start=KEY_UNKNOWN,back+start=KEY_SPACE+KEY_ESC"
                    
                    ### Player3_8Way and Player4_8Way map Joysticks 3 and 4 with no restriction for use with lr-mame2003
                    Player3_8Way="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 \
                    --evdev /dev/input/by-path/platform-3f980000.usb-usb-0:1.3.2:1.0-event-joystick \
                    --device-name "Player_3" \
                    --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-axismap X1=KEY_DOWN:KEY_UP,Y1=KEY_RIGHT:KEY_LEFT \
                    --ui-buttonmap a=KEY_LEFTCTRL,b=KEY_LEFTALT,x=KEY_SPACE,y=KEY_LEFTSHIFT,back=KEY_5+KEY_1,start=KEY_6+KEY_2,back+start=KEY_SPACE+KEY_ESC"
                    
                    Player4_8Way="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 \
                    --evdev /dev/input/by-path/platform-3f980000.usb-usb-0:1.3.4:1.0-event-joystick \
                    --device-name "Player_4" \
                    --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-axismap X1=KEY_F:KEY_R,Y1=KEY_G:KEY_D \
                    --ui-buttonmap a=KEY_A,b=KEY_S,x=KEY_Q,y=KEY_W,back=KEY_6+KEY_2,start=KEY_UNKNOWN,back+start=KEY_SPACE+KEY_ESC"
                    
                    ### Player1_Amiga and Player2_Amiga are for the UAE4ARM emulator and fixes the axes for Players 1 and 2
                    Player1_Amiga="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 \
                    --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"
                    
                    Player2_Amiga="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 \
                    --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"
                    
                    ### Arcade Games that use 4 way restricted joysticks - 208 of 208 identified games
                    RestrictedArcadeGames=""alibaba.zip"|"amidar.zip"|"armwrest.zip"|"astinvad.zip"|"atetris.zip"|"anteater.zip"|"armorcar.zip"|"astrob.zip"|"astrof.zip"|"bagman.zip"|"ballbomb.zip"|"barrier.zip"|"blkhole.zip"|"blasto.zip"|"blockade.zip"|"btime.zip"|"carjmbre.zip"|"carnival.zip"|"cavelon.zip"|"chameleo.zip"|"checkman.zip"|"chinhero.zip"|"circusc.zip"|"ckong.zip"|"commando.zip"|"congo.zip"|"dazzler.zip"|"devilfsh.zip"|"digdug.zip"|"digdug2.zip"|"digger.zip"|"disco.zip"|"dkong.zip"|"dkong3.zip"|"dkongjr.zip"|"docastle.zip"|"dommy.zip"|"dorodon.zip"|"frogger.zip"|"galaga.zip"|"galaxian.zip"|"galxwars.zip"|"guzzler.zip"|"invrvnge.zip"|"invinco.zip"|"jjack.zip"|"joust2.zip"|"jrpacman.zip"|"jumpcoas.zip"|"jungler.zip"|"kchamp.zip"|"kicker.zip"|"kingball.zip"|"ladybug.zip"|"lasso.zip"|"levers.zip"|"lnc.zip"|"locomotn.zip"|"logger.zip"|"lrescue.zip"|"lupin3.zip"|"mappy.zip"|"marvins.zip"|"mikie.zip"|"mmonkey.zip"|"monsterb.zip"|"moonal2.zip"|"moonqsr.zip"|"mrdo.zip"|"mrflea.zip"|"mrjong.zip"|"mrtnt.zip"|"mspacman.zip"|"mystston.zip"|"naughtyb.zip"|"netwars.zip"|"olibochu.zip"|"ozmawars.zip"|"pacnpal.zip"|"pacplus.zip"|"pengo.zip"|"perestro.zip"|"pickin.zip"|"pignewt.zip"|"pisces.zip"|"pleiads.zip"|"pooyan.zip"|"popflame.zip"|"puckman.zip"|"pacman.zip"|"pulsar.zip"|"qbert.zip"|"qbertqub.zip"|"qix.zip"|"radarscp.zip"|"retofinv.zip"|"rocnrope.zip"|"route16.zip"|"samurai.zip"|"tsamurai.zip"|"scregg.zip"|"sindbadm.zip"|"solarfox.zip"|"sonofphx.zip"|"invadpt2.zip"|"panic.zip"|"shollow.zip"|"spclaser.zip"|"sqbert.zip"|"streakng.zip"|"sbagman.zip"|"superpac.zip"|"superqix.zip"|"ssi.zip"|"swat.zip"|"tactcian.zip"|"tankbatt.zip"|"taxidrvr.zip"|"elecyoyo.zip"|"theend.zip"|"timelimt.zip"|"tomahawk.zip"|"todruaga.zip"|"tranqgun.zip"|"triplep.zip"|"tutankhm.zip"|"vanvan.zip"|"volfied.zip"|"vsgongf.zip"|"wiping.zip"|"warpwarp.zip"|"zigzag.zip"|"zzyzzyxx.zip"|"alphaho.zip"|"pacnchmp.zip"|"comotion.zip"|"copsnrob.zip"|"cosmicg.zip"|"cosmos.zip"|"crash.zip"|"crush.zip"|"redufo.zip"|"diamond.zip"|"dorunrun.zip"|"dominos.zip"|"drmicro.zip"|"drgnbstr.zip"|"dremshpr.zip"|"elvactr.zip"|"eyes.zip"|"firetrap.zip"|"40love.zip"|"galpanic.zip"|"gundealr.zip"|"hardhat.zip"|"headon.zip"|"headon2.zip"|"heiankyo.zip"|"hexa.zip"|"hustle.zip"|"intrepid.zip"|"ironhors.zip"|"karianx.zip"|"kungfum.zip"|"lvgirl94.zip"|"logicpro.zip"|"logicpr2.zip"|"msjiken.zip"|"kikcubic.zip"|"mineswpr.zip"|"mtrap.zip"|"dowild.zip"|"mrgoemon.zip"|"natodef.zip"|"rallyx.zip"|"nrallyx.zip"|"pepper2.zip"|"pettanp.zip"|"popeye.zip"|"punchout.zip"|"raiders5.zip"|"rampage.zip"|"reikaids.zip"|"robby.zip"|"rthunder.zip"|"sidetrac.zip"|"schaser.zip"|"spaceinv.zip"|"spacezap.zip"|"spectar.zip"|"springer.zip"|"stratvox.zip"|"sia2650.zip"|"spnchout.zip"|"tapper.zip"|"rbtapper.zip"|"targ.zip"|"telmahjn.zip"|"theglob.zip"|"thief.zip"|"timber.zip"|"toypop.zip"|"wwjgtin.zip"|"wndrmomo.zip"|"yamyam.zip"|"zerozone.zip"|"zookeep.zip"|"pairs.zip"|"higemaru.zip"|"elecyoy2.zip"|"arkangc.zip"|"arkanoid.zip"|"arkatayt.zip"|"arkatour.zip"|"arkbl2.zip"|"arkbl3.zip"|"arkbloc2.zip"|"arkblock.zip"|"arknid2j.zip"|"arknid2u.zip"|"arknoid2.zip"|"arknoidj.zip"|"arknoidu.zip"|"arknoiuo.zip"|"arkretrn.zip"|"tempest.zip"|"tempest1.zip"|"tempest2.zip"|"tempest3.zip"|"temptube.zip""
                    
                    
                    ### Kill xboxdrv
                    xboxkill="sudo killall xboxdrv"
                    
                    ### Execute the driver with the configuration you need
                    ### $1 is the name of the system emulation (eg mame-libretro), not the name of the emulator (eg not lr-mame2003), nor the name of the folder (eg not "arcade", not "mame-libretro", not "arcade-vertical"
                    ### $1 - The system (eg: atari2600, nes, snes, megadrive, fba, etc).
                    ### $2 - The emulator (eg: lr-stella, lr-fceumm, lr-picodrive, pifba, etc).
                    ### $3 - The full path to the rom file.
                    ### $4 - The full command line used to launch the emulator.
                    ### This information can be obtained from /dev/shm/runcommand.info
                    case $2 in
                    
                    	lr-mame2003)
                    	case $rom in
                    			$RestrictedArcadeGames) # Configuration used only for these ROMs
                    				$xboxkill
                    				joycommand="$Player1_4Way & $Player2_4Way & $Player3_4Way & $Player4_4Way &"
                    				eval $joycommand
                    			;;
                    			*) # Configuration for every other ROM in respect of this emulator
                    				$xboxkill
                    				joycommand="$Player1_8Way & $Player2_8Way & $Player3_8Way & $Player4_8Way &"
                    				eval $joycommand
                    			;;
                    		esac
                    	;;
                    	
                    	uae4arm)
                    		$xboxkill
                    		joycommand="$Player1_Amiga & $Player2_Amiga &"
                    		eval $joycommand
                    	;;
                    
                    esac
                    
                    ###	lr-fbalpha)
                    ###	case $rom in
                    ###			$RestrictedArcadeGames) # Configuration used only for these ROMs
                    ###				$xboxkill
                    ###				joycommand="$Player1_4Way & $Player2_4Way & $Player3_4Way & $Player4_4Way &"
                    ###				eval $joycommand
                    ###			;;
                    ###			*) # Configuration for every other ROM in respect of this emulator
                    ###				$xboxkill
                    ###				joycommand="$Player1_8Way & $Player2_8Way & $Player3_8Way & $Player4_8Way &"
                    ###				eval $joycommand
                    ###			;;
                    ###		esac
                    ###	;;
                    
                    ###	advmame-1.4)
                    ###	case $rom in
                    ###			$RestrictedArcadeGames) # Configuration used only for these ROMs
                    ###				$xboxkill
                    ###				joycommand="$Player1_4Way & $Player2_4Way & $Player3_4Way & $Player4_4Way &"
                    ###				eval $joycommand
                    ###			;;
                    ###			*) # Configuration for every other ROM in respect of this emulator
                    ###				$xboxkill
                    ###				joycommand="$Player1_8Way & $Player2_8Way & $Player3_8Way & $Player4_8Way &"
                    ###				eval $joycommand
                    ###			;;
                    ###		esac
                    ###	;;
                    

                    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 1
                    • D
                      dunnieboy @mediamogul
                      last edited by dunnieboy

                      @mediamogul any idea why the following is not accepting my dpad as buttons .. the dpad spits out nothing at all when I run evtest ? Also ... i'm not sure wing commander is seeing this remap at all. I should be configuring the game as keyboard not joystick right ?

                      #!/bin/bash
                      sudo killall >/dev/null xboxdrv
                      sudo /opt/retropie/supplementary/xboxdrv/bin/xboxdrv \
                      	--evdev /dev/input/event3 \
                      	--detach-kernel-driver \
                      	--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 \
                      	--dpad-as-button \
                      	--evdev-absmap ABS_X=x1,ABS_Y=y1,ABS_Z=x2,ABS_RZ=y2,ABS_RX=lt,ABS_RY=rt \
                      	--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=KEY_LEFT:KEY_RIGHT,y1=KEY_UP:KEY_DOWN,x2=KEY_INSERT:KEY_DELETE,y2=KEY_EQUAL:KEY_MINUS \
                      	--ui-buttonmap tl=KEY_RIGHTSHIFT,dd=KEY_M,du=KEY_G,dl=KEY_F,dr=KEY_B,lt=KEY_ENTER,rt=KEY_SPACE,a=KEY_L,b=KEY_E,x=KEY_X,y=KEY_Y,lb=KEY_T,rb=KEY_R,start=KEY_A,back=KEY_GRAVE \
                      	-- \
                      /opt/retropie/emulators/dosbox/bin/dosbox -conf "/home/pi/RetroPie/roms/pc/wc/wc_3.conf"
                      
                      mediamogulM 1 Reply Last reply Reply Quote 0
                      • mediamogulM
                        mediamogul Global Moderator @dunnieboy
                        last edited by mediamogul

                        @dunnieboy

                        the dpad spits out nothing at all when I run evtest

                        I've never come across that. If it's not seen by evtest at all, then there might be no way to map it in xboxdrv. I revised your example above to include a common entry for ABS_HAT0X and ABS_HAT0Y that might do the job. I also removed the last line, as it doesn't need to be there.

                        #!/bin/bash
                        sudo killall >/dev/null xboxdrv
                        sudo /opt/retropie/supplementary/xboxdrv/bin/xboxdrv \
                        	--evdev /dev/input/event3 \
                        	--detach-kernel-driver \
                        	--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 \
                        	--dpad-as-button \
                        	--evdev-absmap ABS_X=x1,ABS_Y=y1,ABS_Z=x2,ABS_RZ=y2,ABS_HAT0X=dpad_x,ABS_HAT0Y=dpad_y,ABS_RX=lt,ABS_RY=rt \
                        	--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=KEY_LEFT:KEY_RIGHT,y1=KEY_UP:KEY_DOWN,x2=KEY_INSERT:KEY_DELETE,y2=KEY_EQUAL:KEY_MINUS \
                        	--ui-buttonmap tl=KEY_RIGHTSHIFT,dd=KEY_M,du=KEY_G,dl=KEY_F,dr=KEY_B,lt=KEY_ENTER,rt=KEY_SPACE,a=KEY_L,b=KEY_E,x=KEY_X,y=KEY_Y,lb=KEY_T,rb=KEY_R,start=KEY_A,back=KEY_GRAVE \
                        	&
                        

                        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 thanks .. ill give that a try. One question about ,ABS_HAT0X=dpad_x,ABS_HAT0Y=dpad_y.

                          I dont see dpad_x or dpad_y in the ui-buttonmap or ui-axismap. I thought (probably incorrectly) that the evdev lines were like definitions and the ui- lines were assignments. Is this the wrong way to think about this ?

                          Thanks

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

                            @dunnieboy

                            I dont see dpad_x or dpad_y in the ui-buttonmap or ui-axismap.

                            dpad_x and dpad_y are normally mapped in --ui-axismap. If the DPad of the original controller is digital, or --dpad-as-button is added, then they are mapped with du, dd, dl and dr in --ui-buttonmap.

                            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 Thanks for all the advice ... just so you know im not crazy ... im trying to configure this ... =) Its SO helpful having someone like you willing to give advice.

                              
                              # DEFINITIONS -----------------------------------------------------------| XBOXDRV ASSIGNMENTS -----------------
                              #                                                                        |
                              # F L I G H T                                                            |
                              #                                                                        | 
                              # 01. Pitch and Yaw                : arrow U, arrow D, arrow L, arrow R  | (See Mouse Ctrl) 
                              # 02. Pitch and Yaw Left           : Numpad 7,1                          | (See Mouse Ctrl)
                              # 03. Pitch and Yaw Right          : Numpad 9,3                          | (See Mouse Ctrl)
                              # 04. Roll Left, right             : Ins, Del                            | (See Mouse Ctrl)
                              # 05. Double Yaw, Pitch, Roll Rates: Shift + Key                         | (See Mouse Ctrl)
                              # 06. Engage Autoslide             : Caps Lock(Hold)                     | 
                              # 07. Autoslide Toggle             : /                                   | 
                              # 08. Increase Throttle            : +=                                  | (See Mouse Ctrl)
                              # 09. Decrease Throttle            : -_                                  | (See Mouse Ctrl)
                              # 10. Zero Throttle                : Backspace                           | 
                              # 11. Max Throttle                 : \                                   | 
                              # 12. Match Target Speed           : Y                                   | 
                              # 13. Afterburn                    : TAB                                 | (See Mouse Ctrl)
                              # 14. Afterburn Toggle             : ~                                   | (See Mouse Ctrl)
                              # 15. Autopilot                    : A                                   | 
                              # 16. Jump (Excalibur Only)        : J                                   | 
                              # 17. Pause                        : Alt-P                               | 
                              # 18. Eject                        : Ctrl-E                              | 
                              # 19. Calibrate Stick              : Alt-C                               | 
                              #------------------------------------------------------------------------|
                              #                                                                        |
                              # C O M B A T                                                            |
                              #                                                                        | 
                              # 01. Select Next Target           : T                                   | y
                              # 02. Select Next Turret on Current: R                                   | a
                              # 03. Lock Target (Toggle)         : L                                   | x
                              # 04. Smart Targeting              : CTRL-S                              | b
                              # 05. Switch Guns                  : G                                   | d_pad_y -
                              # 06. Select Full Guns             : F                                   | d_pad_y +
                              # 07. Auto-Tracking                : CTRL-A                              | tl
                              # 08. Configure Missile Array      : M                                   | 
                              # 09. Change Missile Type          : ]                                   | d_pad_x - 
                              # 10. Select Missile (toggle)      : [                                   | d_pad_x +
                              # 11. Select All Missiles (Salvo)  : B                                   | tr
                              # 12. Fire Guns                    : SPACEBAR                            | rt
                              # 13. Fire Missiles                : ENTER                               | lt
                              # 14. Drop Decoy                   : E                                   | back
                              #------------------------------------------------------------------------| 
                              #                                                                        | 
                              # N A V I G A T I O N   M A P                                            | 
                              #                                                                        | 
                              # 01. Display Map                  : N                                   | 
                              # 02. Change Viewpoint             : U Arrow, D Arrow, L Arrow, R Arrow  | 
                              # 03. Zoom In/Out                  : [ , ]                               | 
                              # 04. Center View                  : C                                   | 
                              # 05. Cycle through Targets        : T                                   | 
                              # 06. Starfield (toggle)           : S                                   | 
                              # 07. Grid (toggle)                : G                                   | 
                              # 08. Background (Toggle)          : B                                   | 
                              #------------------------------------------------------------------------| 
                              #                                                                        |
                              # V I D E O   D I S P L A Y   U N I T S                                  |
                              #                                                                        | 
                              # 01. Cycle Through Displays       : 0                                   | 
                              # 02. Shields VDU                  : S                                   | 
                              # 03. Communications VDU           : C                                   | 
                              # 04. Damage VDU (toggle text/icon): D                                   | 
                              # 05. Damage Repair                : ]                                   | 
                              # 06. Weapon VDU (w cockpit active): W                                   | 
                              # 07. Power VDU/ Change System     : P                                   | 
                              # 08.   Increase Current System    : ]                                   | 
                              # 09.   Decrease Current System    : [                                   | 
                              # 10.   Set Current Sys To 100%    : SHIFT - ]                           | 
                              # 11.   Reset All Systemsto 25%    : SHIFT - [                           | 
                              # 12.   Lock Current Sys (toggle)  : CTRL - ]                            | 
                              #                                                                        | 
                              #------------------------------------------------------------------------| 
                              #                                                                        | 
                              # C A M E R A   V I E W S                                                | 
                              #                                                                        | 
                              # 01. Front View : Invis Cockpit    : F1                                 | 
                              # 02. Left, Right, Rear Turret View : F2, F3, F4                         | 
                              # 03. Rear Turret in left VDU       : Ctrl-F4                            | 
                              # 04. Chase Cam                     : F5                                 | 
                              # 05. Object Cam                    : F6                                 | 
                              # 06. Missile Cam                   : F8                                 | 
                              # 07. Victim Cam                    : F9                                 | 
                              # 08. Track Cam                     : F10                                | 
                              # 09. Disable Flight Ctrl in Cam    : Ctrl-L                             | 
                              # 10. Zoom In, Out                  : [ , ]                              | 
                              #                                   :                                    | 
                              #------------------------------------------------------------------------| 
                              #                                                                        | 
                              # M O U S E    C O M M A N D S                                           | 
                              #                                                                        |   
                              # 01. Flight Cursor Control         : Move Mouse                         | x1, y1
                              # 02. Select Hotspot                : Left Click                         | lb
                              # 03. Fire Active Gun               : Left Click                         | lb
                              # 04. Fire Active Missile           : Both Click                         | rb
                              # 05. Increase/Decrease Throttle    : Up/Dwn + Right Click               | x2, y2
                              # 06. Roll Left, Right              : L/R + Right Click                  | 
                              # 07. Afterburn                     : Double Right Click and Hold        | start 
                              #------------------------------------------------------------------------|
                              #                                                                        |
                              # J O Y S T I C K    C O M M A N D S                                     |
                              #                                                                        |
                              # 01. Flight Control                : Move Joystick                      | 
                              # 02. Fire Active Gun               : Trigger                            | 
                              # 03. Fire Active Missile           : Trigger + B2                       | 
                              # 04. Rotate Camera                 : B2 + Move Joystick                 | 
                              # 05. Increase/Decrease Throttle    : Up/Down B2                         | 
                              # 06. Roll Left/Right               : L/R B2                             | 
                              # 07. Afterburn                     : B2 Double Click                    | 
                              #                                                                        | 
                              #------------------------------------------------------------------------|
                              #                                                                        | 
                              # O N   T H E   C A R R I E R                                            |
                              #                                                                        |
                              # 01. Activate Person/Obj           : Move Cursor over                   | (See Mouse Ctrl)
                              # 02. Use Objects                   : Click                              | (See Mouse Ctrl)
                              # 03. Cancel Skip Scene             : Esc                                | guide
                              # 04. Cycle Hotspots                : Tab, Shift Tab, Right Mouse        | (See Mouse Ctrl)
                              # 05. Talk                          : Click on Character                 | (See Mouse Ctrl)
                              # 06. Use                           : Click Terminal or Door             | (See Mouse Ctrl)
                              # 07. Select Reply                  : Move Device Up/Dwn - Click         | d_pad_y
                              # 08. Option Screen                 : Click Main Terminal                | (See Mouse Ctrl)
                              #                                                                        |
                              #------------------------------------------------------------------------|
                              #                                                                        |
                              # G A M E   I N T E R F A C E                                            |
                              #                                                                        |
                              # 01. Exit Game                     : Alt-X                              |
                              # 02. VGA                           : Alt-1                              |
                              # 03. VGA (triple buffer)           : Alt-2                              |
                              # 04. SVGA                          : Alt-3                              |
                              # 05. SVGA (triple buffer)          : Alt-4                              |
                              # 06. Calibrate Joystick            : Alt-J                              | 
                              # 07. Music (toggle)                : Alt-M                              | 
                              # 08. Sound (toggle: on carrier)    : Ctrl-M                             |
                              # 09. Scene transition (Toggle)     : Alt-K                              |
                              # 09. Change Music Vol              : Alt Up/Dwn                         |  
                              # 10. Change Sound Vol              : Ctrl Up/Dwn                        |
                              # 11. Change Gamma Correction       : Ctrl Left/Right                    | 
                              #                                                                        |
                              #------------------------------------------------------------------------|
                              

                              If anyone needs the PS4 controller map ... here is the one i made ...
                              PS4 Controller Map

                              I am considering abandoning the ps4 controller idea for this and trying to configure this ... ipazzport

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

                                @dunnieboy said in Guide: Advanced Controller Mappings:

                                I am considering abandoning the ps4 controller idea for this and trying to configure this ...

                                I have on of those lying around here somewhere. Let us know how it works out.

                                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

                                  Ok So this is mostly working now ... just have to tweak some stuff -- running out of slots in the ps4 controller so I might transition to that thing up above.

                                  Thanks SO much media mogul. One last question ... again ... how do I access the right stick i'd love to use it instead of the dpad for missile selections and use the dpad just for communication(KEY-C), up-arrow, down-arrow and select.

                                  Here is the config for anyone that is trying to do this -

                                  #!/bin/bash
                                  sudo killall >/dev/null xboxdrv
                                  sudo /opt/retropie/supplementary/xboxdrv/bin/xboxdrv \
                                  	--evdev=/dev/input/by-id/usb-Sony_Interactive_Entertainment_Wireless_Controller-if03-event-joystick\
                                  	--detach-kernel-driver \
                                  	--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 \
                                  	--dpad-as-button \
                                  	--evdev-absmap ABS_X=x1,ABS_Y=y1,ABS_Z=x2,ABS_RZ=y2,ABS_HAT0X=dpad_x,ABS_HAT0Y=dpad_y,ABS_RX=lt,ABS_RY=rt \
                                  	--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 a=BTN_LEFT,b=BTN_RIGHT `# mouse buttons`\
                                  	--ui-buttonmap lb=KEY_KPPLUS,rb=KEY_KPMINUS `# BUMPERS - throttle`\
                                  	--ui-buttonmap lt=KEY_ENTER,rt=KEY_SPACE `# TRIGGERS - fire missiles, fire guns`\
                                  	--ui-buttonmap tl=KEY_F,tr=KEY_B `# STICK CLICKS - full guns, full_missiles`\
                                  	--ui-buttonmap x=KEY_T,guide=KEY_L,y=KEY_LEFTCTRL+KEY_S `# TARGETING - Next Target, Lock, Smart Target`\
                                  	--ui-buttonmap start=KEY_A,back=KEY_E `# Auto Pilot, Drop Decoy`\
                                  	--ui-buttonmap dd=KEY_G,du=KEY_M,dl=KEY_RIGHTBRACE,dr=KEY_LEFTBRACE `# DPAD GUN CTRL - Switch Guns, Configure Missiles, Change Missile Type, Select Missiles`\
                                  	--ui-buttonmap back+start=KEY_ESC `# SKIP SCENE` \
                                  	-- \
                                  /opt/retropie/emulators/dosbox/bin/dosbox -conf "/home/pi/RetroPie/roms/pc/wc/wc_3.conf"
                                  
                                  mediamogulM 1 Reply Last reply Reply Quote 0
                                  • mediamogulM
                                    mediamogul Global Moderator @dunnieboy
                                    last edited by

                                    @dunnieboy

                                    how do I access the right stick i'd love to use it instead of the dpad

                                    Using the keys currently assigned to your DPad, the right stick would be look like:

                                    --ui-axismap x2=KEY_RIGHTBRACE:KEY_LEFTBRACE,y2=KEY_M:KEY_G
                                    

                                    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
                                    • D
                                      dunnieboy @mediamogul
                                      last edited by

                                      @mediamogul Everything is working great ... I have all my wing commander games workign great with the PS4 controller.

                                      Here is another one for you ... I am trying to use named cycle references on the right stick.

                                      --ui-axismap x2=cycle-key-named:views:KEY_F1:KEY_F2:KEY_F3:KEY_F4,:cycle-key-ref:views,y2=cycle-key-named:cams:KEY_F7:KEY_F8:KEY:F9,:cycle-key-ref:cams `# RIGHT STICK L/R = VIEWS, U/D = CAMS`\
                                      

                                      Any chance you know what I am doing wrong ... its a little tricky because the documentation says to use a comma to seperate pos/neg direction and then uses a button identifier.

                                      Thanks

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

                                        @dunnieboy

                                        I believe the cycle functions can only be used with --ui-buttonmap. The two ends of an axis are separated by a colon and the keys to be cycled through are as well. If I had to guess, that would be causing a conflict.

                                        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 that makes sense. Another question ... is there a way to have a bash script read a file for a joystick name ?

                                          I am putting all my xboxdrv stuff in each games .sh file. I'd love to use a variable that reads a .txt file for the controller id name.

                                          That way instead of :

                                          --evdev=/dev/input/by-id/usb-Sony_Interactive_Entertainment_Wireless_Controller-if03-event-joystick\
                                          

                                          i could use something like

                                          --evdev=/dev/input/by-id/%MY_VAR%\
                                          

                                          and all the .sh files would read that file.

                                          Thanks !

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

                                            @dunnieboy

                                            I suppose you could put the name as the first line of a text file and reference it as $jsname with something like:

                                            jsname=`sed '1q;d' /path/to/text/file.txt`
                                            

                                            However, using that method, you'd still have to have that line in your script, so it's not any easier than just including the name to begin with. I really haven't explored this sort of thing before, so there's probably quite a few better ways and definitely more knowledgeable people to ask.

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