• 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.1k 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.
  • S
    spud11 @mediamogul
    last edited by 19 Jun 2018, 23:59

    @mediamogul Thanks. You were 100% right. I found an error - just a missing ; which I've added back in. Thanks again.

    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

    M 1 Reply Last reply 20 Jun 2018, 00:06 Reply Quote 0
    • M
      mediamogul Global Moderator @spud11
      last edited by 20 Jun 2018, 00:06

      @spud11

      Not a problem.

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

      1 Reply Last reply Reply Quote 0
      • G
        guydot @mediamogul
        last edited by guydot 20 Jun 2018, 12:39

        @mediamogul said in Guide: Advanced Controller Mappings:

        @guydot said in Guide: Advanced Controller Mappings:
        I don't see you mention a command to killall xboxdrv in the runcommand-onend script. If it is in fact there, make sure you're using sudo

        I changed the logic to use xboxdrv for all games in "Arcade" - some with 4-way restriction and some without. It is launched by runcommand-onstart and killed by runcommand-onend. I do use sudo. The issue that I am still having is that (and I am not sure what the sequence is to reproduce,) the order of joysticks changes: first few times, when a game starts I see the yellow text on the bottom of the screen showing the mapped controllers and the Controlblock joystics map to #0 and #1 and xbox to #2 and #3. Then at some point, xboxdrv maps to #0 and #1 and Controlblock to #2 and #3 and the game does not respond (because the arcade folder retroarch.cfg maps 2 and 3 to player 1 and 2 and the Controlblock joystick is not active anymore.)

        You might also try looking at /dev/input/by-path/.

        It does not show my Controlblock joysticks, just like /dev/input/by-id/

        M 1 Reply Last reply 20 Jun 2018, 15:37 Reply Quote 0
        • M
          mediamogul Global Moderator @guydot
          last edited by mediamogul 20 Jun 2018, 15:37

          @guydot

          Have you updated RetroArch in a while? This may not be the issue, but recently a fix was implemented to avoid controller ordering based on detection. Before hand this was messing with tools like joystick selection utility. If you haven't already, try updating and see if the behavior continues.

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

          G 1 Reply Last reply 20 Jun 2018, 17:00 Reply Quote 0
          • G
            guydot @mediamogul
            last edited by guydot 20 Jun 2018, 17:00

            @mediamogul said in Guide: Advanced Controller Mappings:

            @guydot

            Have you updated RetroArch in a while?

            I did a Retroarch update but it did not solve the issue. I am running RPi3 B+/Stretch/RetroPie 4.4, so it is a very recent image.

            At some point, Retroarch (yellow text on bottom just before the game starts) shows an incorrect port joystick mapping and the game does not work. Killing xboxdrive restores the use of Controlblock to exit the game, but Retroarch would not get the right mapping if I launch a new game unless I reboot. Frustrating.

            M 1 Reply Last reply 20 Jun 2018, 22:30 Reply Quote 0
            • M
              mediamogul Global Moderator @guydot
              last edited by 20 Jun 2018, 22:30

              @guydot

              This may be able to be sorted out as-is, but if you're open to an alternative, let me suggest something more reliable. I avoid the uncertainty of these particular situations by having a keyboard map set for players one and two in RetroArch. To correspond with this, I also have my two controllers fully key-mapped with xboxdrv to match. Once everything is launched, it really doesn't matter which controller RetroArch tries to grab hold of, because it'll be acknowledging the keyboard map regardless.

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

              S G 2 Replies Last reply 21 Jun 2018, 00:58 Reply Quote 0
              • S
                spud11 @mediamogul
                last edited by 21 Jun 2018, 00:58

                @mediamogul @guydot I agree 100% with this approach. Mediamogul put me onto this method about 2 years ago and it just works. 99% of cores and emulators have keyboard mapping. I've only struggled with one or two eg reicast; otherwise, all good.

                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
                • G
                  guydot @mediamogul
                  last edited by guydot 21 Jun 2018, 02:23

                  @mediamogul I will give it a shot, as all other methods failed. The closest I got was with Joystick Selection "by name" method: the games work well even when Retroarch shuffled the ports, but Emulationstation crashes when I exit a "port-confused" game.

                  If I understand the method correctly - I will have to change Controlblock to "MAME" mode = keyboard emulation and then run 2 xboxdrv configured to match the keys generated by my controllers. Correct?

                  M 1 Reply Last reply 21 Jun 2018, 04:06 Reply Quote 0
                  • M
                    mediamogul Global Moderator @guydot
                    last edited by mediamogul 21 Jun 2018, 04:06

                    @guydot said in Guide: Advanced Controller Mappings:

                    If I understand the method correctly - I will have to change Controlblock to "MAME" mode = keyboard emulation and then run 2 xboxdrv configured to match the keys generated by my controllers. Correct?

                    Actually, you would just change your xboxdrv maps to be complete key-mappings of the Controlblock. From there, you'd assign those keys to players one and two in RetroArch.

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

                    G 1 Reply Last reply 21 Jun 2018, 12:27 Reply Quote 0
                    • G
                      guydot @mediamogul
                      last edited by 21 Jun 2018, 12:27

                      @mediamogul @spud11 I am missing something here.

                      Right now:
                      (1) Controlbox is creating 2 joypads: JS0/JS1 and event 2/3
                      (2) I use 2 xboxdrv commands, each has --evdev-absmap and --evdev-keymap that correspond to a joypad joystick + buttons
                      (3) In Retroarch.cfg, I tried to use input_player1_joypad_index = "2" and input_player2_joypad_index = "3" to map

                      Is proposed method to add --ui-buttonmap to map xboxdrv to keyboard keys? I guess I need more steps... Thanks for all your help!

                      M 1 Reply Last reply 21 Jun 2018, 13:15 Reply Quote 0
                      • M
                        mediamogul Global Moderator @guydot
                        last edited by mediamogul 21 Jun 2018, 13:15

                        @guydot said in Guide: Advanced Controller Mappings:

                        Is proposed method to add --ui-buttonmap to map xboxdrv to keyboard keys?

                        It is, yes. As an example, below is an excerpt from my retroarch.cfg file where I've mapped my desired keyboard inputs for player one. Below that is a 4-way strict xboxdrv map that corresponds to those keys.

                        retroarch.cfg excerpt:

                        # Keyboard input, Joypad and Joyaxis will all obey the "nul" bind, which disables the bind completely, 
                        # rather than relying on a default.
                        input_player1_a = "a"
                        input_player1_b = "b"
                        input_player1_y = "y"
                        input_player1_x = "x"
                        input_player1_start = "t"
                        input_player1_select = "e"
                        input_player1_l = "l"
                        input_player1_r = "r"
                        input_player1_left = "left"
                        input_player1_right = "right"
                        input_player1_up = "up"
                        input_player1_down = "down"
                        input_player1_l2 = "d"
                        input_player1_r2 = "f"
                        input_player1_l3 = "c"
                        input_player1_r3 = "v"
                        

                        4-way strict xboxdrv command:

                        sudo /opt/retropie/supplementary/xboxdrv/bin/xboxdrv \
                        	--evdev /dev/input/by-path/platform-3f980000.usb-usb-0:1.2:1.0-event-joystick \
                        	--detach-kernel-driver \
                        	--dpad-as-button \
                        	--trigger-as-button \
                        	--deadzone-trigger 15% \
                        	--deadzone 4000 \
                        	--device-name "Logitech Rumblepad 2 (xboxdrv)" \
                        	--silent \
                        	--four-way-restrictor \
                        	--axismap -Y1=Y1,-Y2=Y2 \
                        	--evdev-absmap ABS_X=x1,ABS_Y=y1,ABS_Z=x2,ABS_RZ=y2,ABS_HAT0X=dpad_x,ABS_HAT0Y=dpad_y \
                        	--evdev-keymap BTN_THUMB2=a,BTN_THUMB=b,BTN_TOP=x,BTN_TRIGGER=y,BTN_BASE3=back,BTN_BASE4=start,BTN_TOP2=lb,BTN_PINKIE=rb,BTN_BASE5=tl,BTN_BASE6=tr,BTN_BASE=lt,BTN_BASE2=rt \
                        	--ui-axismap X1=KEY_LEFT:KEY_RIGHT,Y1=KEY_UP:KEY_DOWN,X2=KEY_1:KEY_2,Y2=KEY_3:KEY_4 \
                        	--ui-buttonmap a=KEY_A,b=KEY_B,x=KEY_X,y=KEY_Y,lb=KEY_L,rb=KEY_R,lt=KEY_D,rt=KEY_F,tl=KEY_C,tr=KEY_V,du=KEY_UP,dd=KEY_DOWN,dl=KEY_LEFT,dr=KEY_RIGHT,start=KEY_T,back=KEY_E \
                        	--ui-buttonmap guide=void \
                        	&
                        

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

                        G 1 Reply Last reply 21 Jun 2018, 16:03 Reply Quote 0
                        • G
                          guydot @mediamogul
                          last edited by 21 Jun 2018, 16:03

                          @mediamogul I think I had my aha! moment :-) I am away but will test in a week or so and report back. Thanks!!!

                          M 1 Reply Last reply 21 Jun 2018, 16:31 Reply Quote 0
                          • M
                            mediamogul Global Moderator @guydot
                            last edited by 21 Jun 2018, 16:31

                            @guydot

                            Not a problem. Let us know how it works out.

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

                            1 Reply Last reply Reply Quote 0
                            • RiverstormR
                              Riverstorm
                              last edited by Riverstorm 28 Sept 2018, 17:46

                              @mediamogul - Post 534...action...wow long thread! ;) I was wondering if I could get your help with setting up XBOX 360 controllers if possible, please, when/if you have time. I am in no hurry but not quite sure what to do next once I get the controllers setup.

                              I have four XBOX 360 controllers using a wireless dongle. I use the Arcade folder running mame2003, FBA and Advmame for about 300 games. Basically I just want to break down the games for 4/8-way restriction. Good 4-way games are lost to simple mistakes of not hitting that ladder squarely in Donkey Kong, etc. using controllers.

                              I am running RP 4.3 on a Pi 3 updated to the latest RetroPie script as of yesterday. My cores are recent from source and Advmame is on 3.8.

                              I went through the tutorial and here's what I ended up with but I had a few questions. For calibration axis name. Do I use the output from evtest /dev/input/event[event1] and add it 3 times as shown below?

                              evtest output for 360 controller:

                              A = BTN_SOUTH = 304
                              B = BTN_EAST = 305
                              X = BTN_NORTH = 307
                              Y = BTN_WEST = 308
                              LB = BTN_TL = 310
                              RB = BTN_TR = 311
                              LT = BTN_TL2 = 312
                              RT = BTN_TR2 = 313
                              BACK = BTN_SELECT = 314
                              START = BTN_START = 315
                              GUIDE = BTN_MODE = 316
                              TL = BTN_THUMBL = 317
                              TR = BTN_THUMBR = 318
                              X1/Y1 = ABS_X (UP/DOWN) | ABS_Y (LEFT/RIGHT)
                              X2/Y2 = ABS_RX (UP/DOWN) | ABS_RY (LEFT/RIGHT)
                              DPAD_Y/DPAD_X = ABS_HAT0Y (UP/DOWN) | ABS_HAT0X (LEFT/RIGHT)
                              

                              Also with a 360 controller I didn't get output for rt/lt or at least I assigned them to buttons TL2 & TR2 as they aren't an axis? So I have two fields below still using asterisks.

                              Lastly should I use the option to make the triggers into buttons on a 360 controller. I added the option below.

                              Lastly, lastly do I need to use the rename parameter for each controller as I have 4 but they are all the same. Well they are 2 different models among the 4 but they are all detected as the same. Do I need to define 4 controllers in the rc.local file?

                              If I get this first step implemented correctly is there a guide restricting games to 4/8 way? Disclosure I didn't read all 533 posts so if there's a relevant section I can read through or a link to what steps I should think about next. Thanks Media for all this information, it's pretty incredible stuff. I wish 4/8 restriction was a controller feature as it's kind of relevant-ish to good gaming.

                              sudo /opt/retropie/supplementary/xboxdrv/bin/xboxdrv \
                              	--evdev /dev/input/by-id/[usb-©Microsoft_Xbox_360_Wireless_Receiver_for_Windows_E0C26450-event-joystick] \
                              	--silent \
                              	--detach-kernel-driver \
                              	--force-feedback \
                              	--deadzone-trigger 15% \
                              	--deadzone 4000 \
                              	--calibration X=-32767:0:32767,Y=-32767:0:32767 \
                              	--calibration RX=-32767:0:32767,RY=-32767:0:32767 \
                              	--calibration HAT0Y=-32767:0:32767,HAT0X=-32767:0:32767 \
                              	--trigger-as-button \
                              	--mimic-xpad \
                              	--evdev-absmap ABS_[X]=x1,ABS_[Y]=y1,ABS_[RX]=x2,ABS_[RY]=y2,ABS_[•]=lt,ABS_[•]=rt,ABS_[HAT0Y]=dpad_x,ABS_[HAT0X]=dpad_y \
                              	--evdev-keymap BTN_[SOUTH]=a,BTN_[EAST]=b,BTN_[NORTH]=x,BTN_[WEST]=y,BTN_[TL]=lb,BTN_[TR]=rb,BTN_[TL2]=tl,BTN_[TR2]=tr,BTN_[MODE]=guide,BTN_[SELECT]=back,BTN_[START]=start \
                              	&
                              
                              M 1 Reply Last reply 28 Sept 2018, 19:29 Reply Quote 0
                              • RiverstormR
                                Riverstorm
                                last edited by Riverstorm 28 Sept 2018, 17:51

                                Also something odd is it seems the X/Y axis is "inverted" on the d-pad vs. the left/right stick on a 360 controller using evtest /dev/input/event[event1] so in the script above I have HAT0Y as X and HAT0X as Y.

                                M 1 Reply Last reply 28 Sept 2018, 19:45 Reply Quote 0
                                • M
                                  mediamogul Global Moderator @Riverstorm
                                  last edited by 28 Sept 2018, 19:29

                                  @Riverstorm

                                  Good 4-way games are lost to simple mistakes of not hitting that ladder squarely in Donkey Kong, etc. using controllers.

                                  I hear you. Correcting that issue is probably my favorite use of all this stuff.

                                  Do I use the output from evtest /dev/input/event[event1] and add it 3 times as shown below?

                                  Seeing as how you have two different models, I'd at least confirm that they're all identifying the same way. When mapped, xboxdrv will delineate them from the --evdev location you enter. I assume that there are four unique entries at /dev/input/by-id/?

                                  Also with a 360 controller I didn't get output for rt/lt or at least I assigned them to buttons TL2 & TR2 as they aren't an axis?

                                  Based on your listing, they appear to be buttons, as BTN_ denotes buttons and ABS_ denotes an axis.

                                  Lastly should I use the option to make the triggers into buttons on a 360 controller. I added the option below.

                                  That's what I do and mine are definitely buttons already. If I'm remembering correctly, it adds a bit of flexibility for using them as hotkeys if need be.

                                  Lastly, lastly do I need to use the rename parameter for each controller as I have 4 but they are all the same.

                                  I would, yes. It helps certain software delineate the controllers and it really helps visually when you're trying to identify them yourself.

                                  Also something odd is it seems the X/Y axis is "inverted" on the d-pad vs. the left/right stick

                                  This seems to be normal behavior with all controllers for some reason. Our approaches may differ, but below, you'll see I used --axismap -Y1=Y1,-Y2=Y2 to correct the issue on mine. The example is a base command I use for 4-way restriction with no other fancy additions, so it should also answer your question about the restriction method itself. All that ever needs to be added to any command is --four-way-restrictor to make it happen. However, you can also restrict the DPad with --modifier dpad-restrictor=fourway. It's arguably unnecessary due to most DPads being restricted by design, but I usually add it anyway for good measure.

                                  Below that I'll post a listing of all the arcade ROMs that I currently 4-way restrict. Over time, I've actually started doing this for similar games on most older console platforms as well. It really pays off more often than you'd think.

                                  sudo /opt/retropie/supplementary/xboxdrv/bin/xboxdrv \
                                    --evdev /dev/input/by-path/platform-3f980000.usb-usb-0:1.2.1:1.0-event-joystick \
                                    --detach-kernel-driver \
                                    --force-feedback \
                                    --trigger-as-button \
                                    --deadzone-trigger 15% \
                                    --deadzone 4000 \
                                    --device-name "Logitech Rumblepad 2 (xboxdrv)" \
                                    --silent \
                                    --axis-sensitivity X1=-0.00,Y1=-0.00,X2=-0.00,Y2=-0.00 \
                                    --four-way-restrictor \
                                    --modifier dpad-restrictor=fourway \
                                    --axismap -Y1=Y1,-Y2=Y2 \
                                    --evdev-absmap ABS_X=x1,ABS_Y=y1,ABS_Z=x2,ABS_RZ=y2,ABS_HAT0X=dpad_x,ABS_HAT0Y=dpad_y \
                                    --evdev-keymap BTN_THUMB2=a,BTN_THUMB=b,BTN_TOP=x,BTN_TRIGGER=y,BTN_BASE3=back,BTN_BASE4=start,BTN_TOP2=lb,BTN_PINKIE=rb,BTN_BASE5=tl,BTN_BASE6=tr,BTN_BASE=lt,BTN_BASE2=rt \
                                    --ui-buttonmap guide=void \
                                    &
                                  
                                  ncv2.zip
                                  mspacmnf.zip
                                  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
                                  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
                                  kchampvs.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
                                  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
                                  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
                                  

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

                                  1 Reply Last reply Reply Quote 0
                                  • M
                                    mediamogul Global Moderator @Riverstorm
                                    last edited by mediamogul 28 Sept 2018, 19:45

                                    @riverstorm

                                    Ah, I almost forgot to give an example of how you would handle this ROM-specifically from the runcommand-onstart. There are quite a few ways actually, but this is probably the easiest to illustrate and it uses the xboxdrv launch command I posted above. You'll notice I only used three games, but you can add as many as you want accordingly.

                                    ROMNAME="${3##*/}"
                                    if [ "$ROMNAME" = "pacman.zip" ] || [ "$ROMNAME" = "mspacman.zip" ] || [ "$ROMNAME" = "jrpacman.zip" ] && [ "$2" = "advmame" ]; then
                                      sudo /opt/retropie/supplementary/xboxdrv/bin/xboxdrv \
                                        --evdev /dev/input/by-path/platform-3f980000.usb-usb-0:1.2.1:1.0-event-joystick \
                                        --detach-kernel-driver \
                                        --force-feedback \
                                        --trigger-as-button \
                                        --deadzone-trigger 15% \
                                        --deadzone 4000 \
                                        --device-name "Logitech Rumblepad 2 (xboxdrv)" \
                                        --silent \
                                        --axis-sensitivity X1=-0.00,Y1=-0.00,X2=-0.00,Y2=-0.00 \
                                        --four-way-restrictor \
                                        --modifier dpad-restrictor=fourway \
                                        --axismap -Y1=Y1,-Y2=Y2 \
                                        --evdev-absmap ABS_X=x1,ABS_Y=y1,ABS_Z=x2,ABS_RZ=y2,ABS_HAT0X=dpad_x,ABS_HAT0Y=dpad_y \
                                        --evdev-keymap BTN_THUMB2=a,BTN_THUMB=b,BTN_TOP=x,BTN_TRIGGER=y,BTN_BASE3=back,BTN_BASE4=start,BTN_TOP2=lb,BTN_PINKIE=rb,BTN_BASE5=tl,BTN_BASE6=tr,BTN_BASE=lt,BTN_BASE2=rt \
                                        --ui-buttonmap guide=void \
                                    fi &
                                    

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

                                    1 Reply Last reply Reply Quote 0
                                    • RiverstormR
                                      Riverstorm
                                      last edited by 28 Sept 2018, 21:27

                                      @mediamogul - Thank you for the help and information. I am going to give it a shot and will let you know how it turns out. I have a few more questions but you've given me plenty here to get started, thank you good sir and have a great weekend.

                                      On a side note, are from the Carolina's? I have no idea why I keep thinking you are from that area and I was thinking of you during the weekend of that devastating hurricane. If I remember you were doing yard work in like April with some nice weather and we got hammered here for one of the biggest snows on record that month. I almost posted a pic for you to check it out. ;)

                                      M 1 Reply Last reply 28 Sept 2018, 22:06 Reply Quote 0
                                      • RiverstormR
                                        Riverstorm
                                        last edited by Riverstorm 28 Sept 2018, 21:47

                                        @mediamogul - Just to clarify one thing below. I've been following your guide and in the example you'll see tl and tr in the keymap line shown below from the guide examples but on the controller mapping diagram it shows as lt and rt is that a typo in the line?

                                        --evdev-absmap ABS_[X]=x1,ABS_[Y]=y1,ABS_[RX]=x2,ABS_[RY]=y2,ABS_[•]=lt,ABS_[•]=rt,ABS_[HAT0Y]=dpad_x,ABS_[HAT0X]=dpad_y \
                                        --evdev-keymap BTN_[SOUTH]=a,BTN_[EAST]=b,BTN_[NORTH]=x,BTN_[WEST]=y,BTN_[TL]=lb,BTN_[TR]=rb,BTN_[TL2]=tl,BTN_[TR2]=tr,BTN_[MODE]=guide,BTN_[SELECT]=back,BTN_[START]=start \
                                        

                                        Also since my triggers register as buttons do I just delete these two entries from absmap line and only use the keymap entries ?

                                        ABS_[•]=lt,ABS_[•]=rt
                                        
                                        1 Reply Last reply Reply Quote 0
                                        • M
                                          mediamogul Global Moderator @Riverstorm
                                          last edited by mediamogul 28 Sept 2018, 22:06

                                          @riverstorm said in Guide: Advanced Controller Mappings:

                                          On a side note, are from the Carolina's? I have no idea why I keep thinking you are from that area and I was thinking of you during the weekend of that devastating hurricane.

                                          I am indeed sir. Born and bred in the briar patch of beautiful South Carolina. We got really lucky in my area. Of course, I'll still be spending most of the weekend and probably next on cleanup. However, no trees came down, which is always a good thing.

                                          I almost posted a pic for you to check it out.

                                          Hey, never hesitate. I love seeing that stuff. Nature, with all of its crazy ups and downs, is the main reason I enjoy living here so much.

                                          I've been following your guide and in the example you'll see tl and tr in the keymap line shown below from the guide examples but on the controller mapping diagram it shows as lt and rt is that a typo in the line?

                                          Actually, they're a separate entry. The 'tl/tr' listings are the xboxdrv equivalent to what's more commonly referred to as 'l3/r3', which are the buttons activated by pressing down the two thumbsticks.

                                          Also since my triggers register as buttons do I just delete these two entries from absmap line and only use the keymap entries ?

                                          I believe you would, yes.

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

                                          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.

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