• Recent
  • Tags
  • Popular
  • Home
  • Docs
  • Register
  • Login
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 461.3k 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.
  • E
    ExarKunIv @mediamogul
    last edited by 9 Feb 2017, 22:16

    @mediamogul

    the funny thing is that i already had that, so when i looked at it again i saw my problem

    you have this on your guide

    SUBSYSTEM=="input", ATTRS{name}=="Microsoft X-Box 360 pad - Keyboard Emulation", GROUP="users", MODE="0666", ENV{ID_INPUT_KEYBOARD}="1"
    

    i had to change it to this

    SUBSYSTEM=="input", ATTRS{name}=="Microsoft X-Box 360 pad", GROUP="users", MODE="0666", ENV{ID_INPUT_KEYBOARD}="1"
    

    i know that i dont have a custom name but i remember what the cat /proc/bus/input/devicespulled up when i ran it whit the script going.

    so i think that did it, but i will have to do more testing tomorrow, but it is looking good now

    and as always thanks for the help

    RPi3B+ / 200GB/ RetroPie v4.5.14, RPi4 Model B 4gb / 256gb / RetroPie 4.8.2
    RPi5 4gb / 512gb / RetroPie 4.8.9 -Basic
    Maintainer of RetroPie-Extra .

    M 1 Reply Last reply 9 Feb 2017, 23:35 Reply Quote 2
    • M
      mediamogul Global Moderator @ExarKunIv
      last edited by 9 Feb 2017, 23:35

      @ExarKunIv said in Guide: Advanced Controller Mappings:

      you have this on your guide... i had to change it to this

      I'll test that with a few controllers. It may need to be changed in the guide. Thanks for pointing it out.

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

      E 1 Reply Last reply 17 Feb 2017, 17:23 Reply Quote 0
      • E
        ExarKunIv
        last edited by 10 Feb 2017, 17:24

        well i have done testing on my end and my config works, and so do the others even with the change for the 99-xboxdrv.rules

        here is my config for 8BitDo to work with videopac/Odyssey2

        if [ "$1" = "videopac" ]
        then
        sudo killall > /dev/null 2>&1 xboxdrv
        sudo /opt/retropie/supplementary/xboxdrv/bin/xboxdrv > /dev/null 2>&1 \
            --evdev /dev/input/event0 \
            --silent \
        	--detach-kernel-driver \
        	--force-feedback \
        	--mimic-xpad \
                --deadzone 15% \
        	--evdev-no-grab \
        	--dpad-as-button \
        	--trigger-as-button \
        	--evdev-absmap ABS_X=x1,ABS_Y=y1,ABS_Z=x2,ABS_RZ=y2,ABS_HAT0X=dpad_x,ABS_HAT0Y=dpad_y \
        	--evdev-keymap KEY_#304=a,KEY_#305=b,KEY_#307=x,KEY_#308=y,KEY_#312=lt,KEY_#313=rt,KEY_#310=lb,KEY_#311=rb,KEY_#317=tl,KEY_#318=tr,KEY_#314=back,KEY_#315=start \
        	--axismap -Y1=Y1,-Y2=Y2 \
                --ui-buttonmap a=KEY_UNKNOWN,b=KEY_UNKNOWN,start=KEY_UNKNOWN,back=KEY_UNKNOWN,x=KEY_UNKNOWN,y=KEY_UNKNOWN,lt=KEY_UNKNOWN,rt=KEY_UNKNOWN,lb=KEY_UNKNOWN,rb=KEY_UNKNOWN,tl=KEY_UNKNOWN,tr=KEY_UNKNOWN \
        	--ui-axismap x2=KEY_1:KEY_2,Y2=KEY_3:KEY_4 \
        &
        fi
        

        just remember to do part of section 3A of the guide as @mediamogul says

        RPi3B+ / 200GB/ RetroPie v4.5.14, RPi4 Model B 4gb / 256gb / RetroPie 4.8.2
        RPi5 4gb / 512gb / RetroPie 4.8.9 -Basic
        Maintainer of RetroPie-Extra .

        1 Reply Last reply Reply Quote 3
        • E
          ExarKunIv @mediamogul
          last edited by 17 Feb 2017, 17:23

          @mediamogul

          quick question
          how do i use this for ports, i mean what do i put in the name

          if [ "$1" = "videopac" ]
          

          example if i want to set a mapping for rise of the triad, do i use rott for that is the folder name, or does the word port need to be in there due to it being in the port folder?

          hope this is clear

          RPi3B+ / 200GB/ RetroPie v4.5.14, RPi4 Model B 4gb / 256gb / RetroPie 4.8.2
          RPi5 4gb / 512gb / RetroPie 4.8.9 -Basic
          Maintainer of RetroPie-Extra .

          M 1 Reply Last reply 17 Feb 2017, 17:36 Reply Quote 0
          • M
            mediamogul Global Moderator @ExarKunIv
            last edited by mediamogul 17 Feb 2017, 17:36

            @ExarKunIv

            $1 is the variable for the system/port name, so:

            if [ "$1" = "rott" ]
            

            should do the job.

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

            E 1 Reply Last reply 17 Feb 2017, 18:08 Reply Quote 0
            • E
              ExarKunIv @mediamogul
              last edited by 17 Feb 2017, 18:08

              @mediamogul

              sweet
              thanks again

              RPi3B+ / 200GB/ RetroPie v4.5.14, RPi4 Model B 4gb / 256gb / RetroPie 4.8.2
              RPi5 4gb / 512gb / RetroPie 4.8.9 -Basic
              Maintainer of RetroPie-Extra .

              1 Reply Last reply Reply Quote 0
              • E
                ExarKunIv
                last edited by 20 Feb 2017, 17:46

                so have been playing round with getting ESC mapped for Solarus. so that way i can exit it easyly.
                my mapping works great

                if [ "$1" = "zelda_roth_se,zsdx,zsxd" ]
                then
                sudo killall > /dev/null 2>&1 xboxdrv
                sudo /opt/retropie/supplementary/xboxdrv/bin/xboxdrv > /dev/null 2>&1 \
                    --evdev /dev/input/event1 \
                    --silent \
                	--detach-kernel-driver \
                	--force-feedback \
                	--mimic-xpad \
                        --deadzone 15% \
                	--evdev-no-grab \
                	--dpad-as-button \
                	--trigger-as-button \
                	--evdev-absmap ABS_X=x1,ABS_Y=y1,ABS_Z=x2,ABS_RZ=y2,ABS_HAT0X=dpad_x,ABS_HAT0Y=dpad_y \
                	--evdev-keymap KEY_#304=a,KEY_#305=b,KEY_#307=x,KEY_#308=y,KEY_#312=lt,KEY_#313=rt,KEY_#310=lb,KEY_#311=rb,KEY_#317=tl,KEY_#318=tr,KEY_#314=back,KEY_#315=start \
                	--axismap -Y1=Y1,-Y2=Y2 \
                    --ui-buttonmap a=KEY_UNKNOWN,b=KEY_UNKNOWN,start=KEY_UNKNOWN,back=KEY_UNKNOWN,x=KEY_UNKNOWN,y=KEY_UNKNOWN,lt=KEY_UNKNOWN,rt=KEY_UNKNOWN,lb=KEY_UNKNOWN,rb=KEY_UNKNOWN,tl=KEY_UNKNOWN,tr=KEY_ESC \
                	--ui-axismap x2=void,Y2=void \
                &
                fi
                

                but only if i put it in manually. if will not auto start.

                im sure that i have something wrong with the port name

                if [ "$1" = "zelda_roth_se,zsdx,zsxd" ]
                

                i have tryed just useing Solarus but no go. any ideas?

                RPi3B+ / 200GB/ RetroPie v4.5.14, RPi4 Model B 4gb / 256gb / RetroPie 4.8.2
                RPi5 4gb / 512gb / RetroPie 4.8.9 -Basic
                Maintainer of RetroPie-Extra .

                M 1 Reply Last reply 20 Feb 2017, 18:04 Reply Quote 0
                • M
                  mediamogul Global Moderator @ExarKunIv
                  last edited by 20 Feb 2017, 18:04

                  @ExarKunIv

                  Try changing:

                  if [ "$1" = "zelda_roth_se,zsdx,zsxd" ]
                  

                  to:

                  if [ "$2" = "solarus" ]
                  

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

                  E 1 Reply Last reply 20 Feb 2017, 19:11 Reply Quote 0
                  • E
                    ExarKunIv @mediamogul
                    last edited by 20 Feb 2017, 19:11

                    @mediamogul

                    thanks for getting back to me, but sadly nothing happens

                    i ran cat /proc/bus/input/devices and all it pulls up is my 8BitDo.

                    this is beginning to bug me

                    RPi3B+ / 200GB/ RetroPie v4.5.14, RPi4 Model B 4gb / 256gb / RetroPie 4.8.2
                    RPi5 4gb / 512gb / RetroPie 4.8.9 -Basic
                    Maintainer of RetroPie-Extra .

                    M 1 Reply Last reply 20 Feb 2017, 19:34 Reply Quote 0
                    • M
                      mediamogul Global Moderator @ExarKunIv
                      last edited by 20 Feb 2017, 19:34

                      @ExarKunIv

                      It might be:

                      if [ "$1" = "solarus" ]
                      

                      instead

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

                      E 1 Reply Last reply 20 Feb 2017, 19:47 Reply Quote 0
                      • E
                        ExarKunIv @mediamogul
                        last edited by 20 Feb 2017, 19:47

                        @mediamogul

                        tired that too, still nothing

                        RPi3B+ / 200GB/ RetroPie v4.5.14, RPi4 Model B 4gb / 256gb / RetroPie 4.8.2
                        RPi5 4gb / 512gb / RetroPie 4.8.9 -Basic
                        Maintainer of RetroPie-Extra .

                        M 1 Reply Last reply 20 Feb 2017, 20:00 Reply Quote 0
                        • M
                          mediamogul Global Moderator @ExarKunIv
                          last edited by 20 Feb 2017, 20:00

                          @ExarKunIv

                          Try putting the following at the top of your runcommand-onstart:

                          ## 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
                          

                          Then, after you launch solarus, look at your /dev/shm/runcommand.log file and list what's on the first four lines.

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

                          E 1 Reply Last reply 20 Feb 2017, 20:42 Reply Quote 0
                          • E
                            ExarKunIv @mediamogul
                            last edited by 20 Feb 2017, 20:42

                            @mediamogul

                            zelda_roth_se
                            solarus
                            
                            LD_LIBRARY_PATH=/opt/retropie/ports/solarus/lib /opt/retropie/ports/solarus/bin/solarus_run /opt/retropie/ports/solarus/share/solarus/zelda_roth_se/
                            /opt/retropie/configs/all/runcommand-onstart.sh: line 109: syntax error near unexpected token `&'
                            /opt/retropie/configs/all/runcommand-onstart.sh: line 109: `&'
                            Parameters: 
                            Executing: LD_LIBRARY_PATH=/opt/retropie/ports/solarus/lib /opt/retropie/ports/solarus/bin/solarus_run /opt/retropie/ports/solarus/share/solarus/zelda_roth_se/
                            Solarus 1.4.5
                            Opening quest '/opt/retropie/ports/solarus/share/solarus/zelda_roth_se/'
                            AL lib: (WW) alc_initconfig: Failed to initialize backend "pulse"
                            2D acceleration: yes
                            

                            ask and you will receive

                            RPi3B+ / 200GB/ RetroPie v4.5.14, RPi4 Model B 4gb / 256gb / RetroPie 4.8.2
                            RPi5 4gb / 512gb / RetroPie 4.8.9 -Basic
                            Maintainer of RetroPie-Extra .

                            M 1 Reply Last reply 20 Feb 2017, 20:51 Reply Quote 0
                            • M
                              mediamogul Global Moderator @ExarKunIv
                              last edited by mediamogul 20 Feb 2017, 20:51

                              @ExarKunIv

                              Based on "solarus" being the second line,

                              if [ "$2" = "solarus" ]
                              

                              should be doing the trick. After you launch solarus with that setting, check to see if xboxdrv is at least launching alongside it from another terminal.

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

                              E 1 Reply Last reply 20 Feb 2017, 20:54 Reply Quote 0
                              • E
                                ExarKunIv @mediamogul
                                last edited by 20 Feb 2017, 20:54

                                @mediamogul

                                how do i check if xboxdrv is running.

                                and should i worry about /opt/retropie/configs/all/runcommand-onstart.sh: line 109: syntax error near unexpected token &'
                                /opt/retropie/configs/all/runcommand-onstart.sh: line 109: &'

                                RPi3B+ / 200GB/ RetroPie v4.5.14, RPi4 Model B 4gb / 256gb / RetroPie 4.8.2
                                RPi5 4gb / 512gb / RetroPie 4.8.9 -Basic
                                Maintainer of RetroPie-Extra .

                                M 1 Reply Last reply 20 Feb 2017, 21:00 Reply Quote 0
                                • M
                                  mediamogul Global Moderator @ExarKunIv
                                  last edited by 20 Feb 2017, 21:00

                                  @ExarKunIv

                                  how do i check if xboxdrv is running.

                                  You can run top via ssh.

                                  and should i worry about... line 109

                                  It might be the issue here. If nothing else, it's likely to be some other issue that needs looking at. Take a look at line 109 of the runcommand-onstart.sh closely to see if anything stands out.

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

                                  E 1 Reply Last reply 20 Feb 2017, 21:29 Reply Quote 0
                                  • E
                                    ExarKunIv @mediamogul
                                    last edited by 20 Feb 2017, 21:29

                                    @mediamogul

                                    again thank you for the help.

                                    i ran top and xboxdrv is running.
                                    so i took a better look at the code. i did not see anything so i deleted

                                    &
                                    fi
                                    

                                    and copyed it from a code above and it worked. i think i had a enter before

                                    &
                                    fi
                                    

                                    would not of thought that would of done it, and

                                    if [ "$2" = "solarus" ]
                                    

                                    works great

                                    RPi3B+ / 200GB/ RetroPie v4.5.14, RPi4 Model B 4gb / 256gb / RetroPie 4.8.2
                                    RPi5 4gb / 512gb / RetroPie 4.8.9 -Basic
                                    Maintainer of RetroPie-Extra .

                                    M 1 Reply Last reply 20 Feb 2017, 21:49 Reply Quote 1
                                    • M
                                      mediamogul Global Moderator @ExarKunIv
                                      last edited by 20 Feb 2017, 21:49

                                      @ExarKunIv

                                      i think i had a enter before

                                      Nice catch!

                                      works great

                                      Good to hear.

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

                                      1 Reply Last reply Reply Quote 0
                                      • C
                                        Chillimonster
                                        last edited by 1 Mar 2017, 10:00

                                        Been linked to this thread whilst trying to sort Daphne / Dragonrise issues.

                                        Looks like this could work.

                                        Just need to get my head around how it all works and generate a config file (only 210 posts to read through!)

                                        Thanks for the work that has gone into this.

                                        1 Reply Last reply Reply Quote 1
                                        • E
                                          EVEGames
                                          last edited by 1 Mar 2017, 14:08

                                          @mediamogul ,
                                          This guide is a jem, thank you for creating it and monitoring this thread for the past seven months.
                                          Quick question please.
                                          I just switched from a wired SNES style pad to a wireless XBox360 controller, and following the instructions on the GutHub RetroPie Setup Wiki for XBox360 controllers, I was lead to believe that XPad is the way to go, due to kernel issues plaguing XBoxdrv. But I see that this thread still has people using XBoxdrv, and clearly XBoxdrv is vastly more configurable than XPad. So my question, before fully diving into this guide and applying it, is, are the warnings against using XBoxdrv unfounded? Let me put it another way, is there a single specific pitfall to avoid which would render XBoxdrv problematic? If it's about the kernel, any hints on how to determine what version of the kernel I am currently on, and how to avoid updating it in the future would be a big help. If the answer to these questions is available in the pages of this thread, please let me know that and I'll search it out.
                                          Thanks!
                                          -Dave

                                          M 1 Reply Last reply 1 Mar 2017, 16:11 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.

                                            This community forum collects and processes your personal information.
                                            consent.not_received