RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login

    4 way to 8 way adjustable restrictor plate

    Scheduled Pinned Locked Moved General Discussion and Gaming
    joystickrestrictor placabinet buildmodifying
    14 Posts 6 Posters 2.7k 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 @AndersHP
      last edited by

      @andershp Using xboxdrv, you can set it up so that arcade games that use 4 way joysticks don't recognise diagonal movements. An example from my runcommand-onstart.sh:

      sudo /opt/retropie/supplementary/xboxdrv/bin/xboxdrv >> /dev/shm/runcommand.log 2>&1 \
      --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,start+back=KEY_KPSLASH \
      --ui-buttonmap back+start=KEY_ESC
      

      You will see the --four-way-restrictor flag above - that is the restriction. It works pretty well with my USB Dragonrise arcade joysticks. Mediamogul uses it with his Logitech F710 joystick. Unfortunately, you can't use xboxdrv with ipac controllers as they are recognised by Retropie as keyboard encoders rather than joysticks, but otherwise it should work with most other joysticks. (My code above is tailored to my joysticks; your's would be different.)

      Have a look at the Advanced Mapping Guide if you are interested:
      https://github.com/RetroPie/RetroPie-Setup/wiki/Universal-Controller-Calibration-&-Mapping-Using-xboxdrv

      I use xboxdrv for all of my controller inputs for every libretro core and non-libretro emulator except reicast and the n64 emulator.

      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

      AndersHPA 1 Reply Last reply Reply Quote 1
      • AndersHPA
        AndersHP @spud11
        last edited by

        @spud11 thanks for the code, unfortunately as you insightfully wrote, I'm using an iPac controller.

        My "Bubble Bobble" Themed Bartop Arcade
        My Gameboy

        mediamogulM 1 Reply Last reply Reply Quote 0
        • edmaul69E
          edmaul69 @Lurker
          last edited by edmaul69

          @lurker or you could just buy joysticks from ultimarc that switches between 4-way and 8-way by pulling up on the joystick and twisting. Or the ones ultimarc has with a powered servo that switches it with the push of a button. No need for all the hassle or extra bulk.

          ClydeC 1 Reply Last reply Reply Quote 0
          • ClydeC
            Clyde @edmaul69
            last edited by

            @edmaul69 said in 4 way to 8 way adjustable restrictor plate:

            @lurker or you could just buy joysticks from ultimarc that switches between 4-way and 8-way by pulling up on the joystick and twisting. Or the ones ultimarc has with a powered servo that switches it with the push of a button. No need for all the hassle or extra bulk.

            I think you missed this part of his posting (and just to be sure, I checked that he didn't edit it in afterwards).

            @lurker said in 4 way to 8 way adjustable restrictor plate:

            if you have the cash to buy the joystick that has the servo or the pull up rotate version cough @Clyde cough Then you already have a solution.
            ... good for you. But some of us are poor okay! and we get the cheapest kit we can find and we make due... stop judging me!
            sniffles I'm okay.

            @Lurker Care not, I won't judge you for not being such a money dissipator like myself, as long as you don't pick on my nearly non-existent handyman skills that force me to buy stuff instead.

            By the way, I always wondered why those restrictor rings can't be moved more smoothly.

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

              @andershp said in 4 way to 8 way adjustable restrictor plate:

              I'm using an iPac controller.

              With any luck iPac controllers could be supported in the future, as there is a PR for xboxdrv that would allow mapping keyboard input to other types, even other keys. If this were implemented, features like 4-way restriction would also be possible. After a two year hiatus, the main developer, Grumbel has recently begun some minor work to the software since the project moved to Gitlab, so hopefully we'll also see some feature updates as a result.

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

              edmaul69E 1 Reply Last reply Reply Quote 1
              • edmaul69E
                edmaul69 @mediamogul
                last edited by edmaul69

                @mediamogul the reason i prefer an actual restrictor plate is for games like pacman and donkey kong. They require very quick and precise movements for fastest moves. Without a restrictor plate you can still press the angled position that slows down your movements. For several of these old arcade games that can affect your game significantly.

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

                  @edmaul69 said in 4 way to 8 way adjustable restrictor plate:

                  Without a restrictor plate you can still press the angled position that slows down your movements.

                  Surprisingly, the result is virtually the same between the two solutions. In software, if you hit an angled position, it translates to the nearest restricted direction immediately. Depending on the joystick, you could even argue that the movement is faster through software, as it has less distance to travel between directions. Still, both solutions are great and it's almost impossible to hit a snag either way.

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

                  1 Reply Last reply Reply Quote 0
                  • LurkerL
                    Lurker
                    last edited by

                    That software solution looks very nice and useful if you are using a gamepad like an xbox controller. I will have to keep that in mind.

                    A question on theory though; I see that the diagonal inputs are voided but what does the system do when it sees one?
                    In other words if you were moving left and then shifted to diagonal with the intention of moving up does the system continue with the last direction? Or does it shift to the new direction "up"?

                    I'm just curious how that works.

                    @spud11 I could try to post "after" images but since the plastic is clear it is difficult to show the detail.

                    @clyde said in 4 way to 8 way adjustable restrictor plate:

                    By the way, I always wondered why those restrictor rings can't be moved more smoothly.

                    I think the answer to that is a result of the industry we are building from. Back in the day it was good to have joysticks configurable so they apply to more game types but they were expected to be used in one configuration in the cabinet and so no effort was made to let them change back and forth easily. "Set it once for the one arcade game you are building and that's it"

                    "We" are a applying new needs to an existing market of parts. I wouldn't be surprised (or mind that much) if someone started producing new plates based on the above modification. I briefly thought about it but decided that the other overhead items that I would need to put in place first over rode any profit I might make on such a small item. If I had already had the framework in place because I was making some other ...thing then it would be easy to add.

                    mediamogulM ClydeC 2 Replies Last reply Reply Quote 0
                    • mediamogulM
                      mediamogul Global Moderator @Lurker
                      last edited by mediamogul

                      @lurker said in 4 way to 8 way adjustable restrictor plate:

                      That software solution looks very nice and useful if you are using a gamepad like an xbox controller.

                      It can also be used for any arcade joystick that uses hat, axis and button events. Some arcade stick encoders are keyboard only, but there are others that support both.

                      A question on theory though; I see that the diagonal inputs are voided but what does the system do when it sees one?
                      I'm just curious how that works.

                      With analog axis input, I believe it divides the diagonal space in half and assigns one of the restricted directions to the half closest to that direction. With an 8-directional joystick or hat, I'm really not sure. However, I have tested with both and it still works all the same.

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

                      1 Reply Last reply Reply Quote 0
                      • ClydeC
                        Clyde @Lurker
                        last edited by

                        @lurker said in 4 way to 8 way adjustable restrictor plate:

                        @clyde said in 4 way to 8 way adjustable restrictor plate:

                        By the way, I always wondered why those restrictor rings can't be moved more smoothly.

                        I think the answer to that is a result of the industry we are building from. Back in the day it was good to have joysticks configurable so they apply to more game types but they were expected to be used in one configuration in the cabinet

                        I think you have a point there. Even in today's retro gaming community, cabinets that are dedicated to specific controls are not uncommon.

                        I wouldn't be surprised (or mind that much) if someone started producing new plates based on the above modification. I briefly thought about it but decided that the other overhead items that I would need to put in place first over rode any profit I might make on such a small item.

                        Also, the existing plates are most likely patented, so you would have have to design a new plate from scratch, get permission from the patent holders, or risk being sued.

                        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.