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

    Mapping certain keys from Atari800 emu to the gamepad

    Scheduled Pinned Locked Moved Help and Support
    mappingsatari800config
    31 Posts 7 Posters 11.9k 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.
    • edmaul69E
      edmaul69 @mediamogul
      last edited by edmaul69

      @mediamogul here is the mapping i have for the 5200. it is set up for using intellivision controllers on an "ultimate pc interface" it is set up for a 5200-daptor as well. (not sure if the 3 top buttons of a 5200 joystick are or not since i dont have one to test out. it is named basic.map.

      # ----------------------------------------------------------------------------------------------
      
      button vendor=0x04d8 product=0xf673 src=0 target=kbd button="f4" flags=autorelease                  # Top Side     - SELECT
      #button vendor=0x04d8 product=0xf673 src=1 target=kbd button="leftshift num3 REL num3 REL leftshift" # Bottom Left  - #
      button vendor=0x04d8 product=0xf673 src=1 target=kbd button="\"                                     # Bottom Left  - #
      button vendor=0x04d8 product=0xf673 src=2 target=kbd button="kpstar"                                # Bottom Right - *
      
      button vendor=0x04d8 product=0xf673 src=8  target=kbd button="num1" flags=autorelease  #1
      button vendor=0x04d8 product=0xf673 src=9  target=kbd button="num2" flags=autorelease  #2
      button vendor=0x04d8 product=0xf673 src=10 target=kbd button="num3" flags=autorelease  #3
      button vendor=0x04d8 product=0xf673 src=11 target=kbd button="num4" flags=autorelease  #4
      button vendor=0x04d8 product=0xf673 src=12 target=kbd button="num5" flags=autorelease  #5
      button vendor=0x04d8 product=0xf673 src=13 target=kbd button="num6" flags=autorelease  #6
      
      button vendor=0x04d8 product=0xf673 src=14 target=kbd button="f9" flags=autorelease    #7  - EXIT EMULATOR
      
      # ----------------------------------------------------------------------------------------------
      
      #button vendor=0x04d8 product=0xf673 src=0 target=kbd button="a" flags=autorelease  #but-top
      #button vendor=0x04d8 product=0xf673 src=1 target=kbd button="b" flags=autorelease  #but-bot-left
      #button vendor=0x04d8 product=0xf673 src=2 target=kbd button="c" flags=autorelease  #but-bot-right
      
      #button vendor=0x04d8 product=0xf673 src=3 target=kbd button="d" flags=autorelease  #4-clear
      #button vendor=0x04d8 product=0xf673 src=4 target=kbd button="e" flags=autorelease  #5-zero
      #button vendor=0x04d8 product=0xf673 src=5 target=kbd button="f" flags=autorelease #6-enter
      
      #button vendor=0x04d8 product=0xf673 src=8 target=kbd button="i" flags=autorelease  #1
      #button vendor=0x04d8 product=0xf673 src=9 target=kbd button="j" flags=autorelease  #2
      #button vendor=0x04d8 product=0xf673 src=10 target=kbd button="k" flags=autorelease #3
      #button vendor=0x04d8 product=0xf673 src=11 target=kbd button="l" flags=autorelease #4
      #button vendor=0x04d8 product=0xf673 src=12 target=kbd button="m" flags=autorelease #5
      #button vendor=0x04d8 product=0xf673 src=13 target=kbd button="n" flags=autorelease #6
      #button vendor=0x04d8 product=0xf673 src=14 target=kbd button="o" flags=autorelease #7
      #button vendor=0x04d8 product=0xf673 src=15 target=kbd button="p" flags=autorelease #8
      
      # ----------------------------------------------------------------------------------------------
      
      #button vendor=0x04d8 product=0xf673 src=16 target=kbd button="q" flags=autorelease # not working
      #button vendor=0x04d8 product=0xf673 src=17 target=kbd button="r" flags=autorelease #
      #button vendor=0x04d8 product=0xf673 src=18 target=kbd button="s" flags=autorelease #
      #button vendor=0x04d8 product=0xf673 src=19 target=kbd button="t" flags=autorelease #
      #button vendor=0x04d8 product=0xf673 src=20 target=kbd button="u" flags=autorelease #
      #button vendor=0x04d8 product=0xf673 src=21 target=kbd button="v" flags=autorelease #
      #button vendor=0x04d8 product=0xf673 src=22 target=kbd button="w" flags=autorelease #
      
      # ----------------------------------------------------------------------------------------------
      
      #sample using joystick number, id=4 implies use of js4
      #axis id=0 src=4 target=joyaxis device=1 axis=1
      
      #sample using vendor and product id. remap to joystick 0 (js0 if joymap is installed first)
      #device defaults to 0 if not specified
      
      #CH Products Combatstick
      #axis vendor=0x04d8 product=0xf673 src=0 target=joyaxis device=0 axis=0
      #axis vendor=0x04d8 product=0xf673 src=1 target=joyaxis device=0 axis=1
      #button vendor=0x04d8 product=0xf673 src=0 target=joybtn device=0 button=0
      
      #flag can be:
      #    button:
      #        autorelease: release the key automatically
      #        release:     only apply rule on releasing the button (otherwise only on pressing)
      #        press:       only apply rule on pressing the button
      #        shift:       apply this operation if shifted
      #        invert:      reverse the axis (if an axis is the target)
      #if press and release are not specified, then two rules are created, one with release
      #and one with press in such a way that buttons will correspond precisely
      #    axis:
      #        invert:      reverse the axis
      #
      
      #strings can be used to specify a sequence, REL indicates release
      #see keys.map
      
      
      #specify a shift button, that gives access to extra functionality
      
      #shift vendor=0x04d8 product=0xf673 src=5
      
      #assign a joystick number fo script purposes
      
      #script vendor=0x04d8 product=0xf673 device=0 #Combatstick
      
      #script vendor=0x068e product=0xf673 device=1 #Throttle
      
      #for adding a custom program script
      #code "test.program"
      
      mediamogulM 1 Reply Last reply Reply Quote 1
      • mediamogulM
        mediamogul Global Moderator @edmaul69
        last edited by

        @edmaul69

        Very keen. I want to look at the various key-mapping options for Linux to get the full lay of the land and this will give me a big leg up for Joymap. Thanks.

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

        1 Reply Last reply Reply Quote 1
        • M
          mahcneto
          last edited by mahcneto

          @mediamogul

          Pretty late on this topic, but i've finally got my imputs throught the key logger from your guide and this is what I have for my third party PS3 controller (first of all, i'm very sorry for the weird posting on my imputs, i dunno how to use the forum pretty well) :

          DPADOWN		ABS_HAT0Y
          DPADRIGHT	ABS_HAT0X
          DPADLEFT	ABS_HAT0X	
          B/X		BTN_EAST
          A/CIRCLE	BTN_C
          Y/SQUARE	BTN_SOUTH
          X/TRIANGLE	BTN_NORTH
          L1		BTN_WEST
          L2		BTN_TL
          R1		BTN_Z
          R2		BTN_TR
          SELECT		BTN_TL2
          START		BTN_TR2
          HOME		BTN_MODE
          
          LEFT STICK	
          UP		ABS_Y
          DWN		ABS_Y
          RIGHT		ABS_X
          LEFT		ABS_X
          L3		BTN_SELECT
          
          RIGHT STICK
          UP		ABS_RZ
          DWN		ABS_RZ
          RIGHT		ABS_Z
          LEFT		ABS_Z
          R3		BTN_START~~~~
          
          
          So then after reading the solution you provided, I tried this:
          
          	--evdev /dev/input/by-id/3 \
          	--silent \
          	--axismap -Y1=Y1,-Y2=Y2 \
          	--buttonmap tl^toggle=tl \
          	--buttonmap tr^toggle=tr \
          	--detach-kernel-driver \
          	--force-feedback \
          	--deadzone-trigger 15% \
          	--deadzone 4000 \
          	--mimic-xpad \
          	--evdev-absmap ABS_X=x1,ABS_Y=y1,ABS_X=x2,ABS_Y=y2,ABS_*=lt,ABS_*=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_TL=tl,BTN_TR=tr,BTN_MODE=guide,BTN_TL2=back,BTN_TR2=start
          	--ui-axismap X1=KEY_KP4:KEY_KP6,Y1=KEY_KP8:KEY_KP5 \
          	--ui-axismap X2=KEY_1:KEY_2,Y2=KEY_3:KEY_4,lt+X2=KEY_5:KEY_6,lt+Y2=KEY_7:KEY_8,rt+X2=KEY_9:KEY_0,rt+Y2=KEY_KPASTERISK:KEY_EQUAL \
          	--ui-buttonmap a=KEY_RIGHTCTRL,b=KEY_F2,x=KEY_EQUAL,y=KEY_KPASTERISK,lb=KEY_F9,rb=KEY_F5,du=KEY_KP8,dd=KEY_KP5,dl=KEY_KP4,dr=KEY_KP6,start=KEY_F4,back=KEY_F3,lt=KEY_HOME,rt=KEY_HOME,tl=KEY_HOME,tr=KEY_HOME \
          	--ui-buttonmap lt+a=KEY_ENTER,lt+b=KEY_ESC,lt+du=KEY_UP,lt+dd=KEY_DOWN,lt+dl=KEY_LEFT,lt+dr=KEY_RIGHT,lt+start=KEY_F1 \
          	--ui-axismap lt+X1=KEY_LEFT:KEY_RIGHT,lt+Y1=KEY_UP:KEY_DOWN \
          	--ui-axismap tl+x1=REL_X:10,tl+y1=REL_Y:10 \
          	--ui-buttonmap tr+b=BTN_LEFT,tr+a=BTN_RIGHT \
          	--ui-buttonmap guide=void
          
          then, how do I paste this and where exactly? i really got lost in the guide since Linux coding is a new thing for me. 
          I tried using Putty to paste these mappings with the "sudo nano `/etc/rc.local`" but then I get lost on what I'm looking at my screen. 
          is there any way to do this easier? I bet there isn't heh :( Just want dpads instead of analogs, the Start and Escape keys in my pad. help pls :(
          mediamogulM 1 Reply Last reply Reply Quote 0
          • mediamogulM
            mediamogul Global Moderator @mahcneto
            last edited by

            @mahcneto

            There were a few small formatting errors that I corrected below:

            sudo /opt/retropie/supplementary/xboxdrv/bin/xboxdrv \
            	--evdev /dev/input/by-id/3 \
            	--silent \
            	--axismap -Y1=Y1,-Y2=Y2 \
            	--buttonmap tl^toggle=tl \
            	--buttonmap tr^toggle=tr \
            	--detach-kernel-driver \
            	--force-feedback \
            	--deadzone-trigger 15% \
            	--deadzone 4000 \
            	--mimic-xpad \
            	--evdev-absmap ABS_X=x1,ABS_Y=y1,ABS_X=x2,ABS_Y=y2,ABS_*=lt,ABS_*=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_TL=tl,BTN_TR=tr,BTN_MODE=guide,BTN_TL2=back,BTN_TR2=start \
            	--ui-axismap X1=KEY_KP4:KEY_KP6,Y1=KEY_KP8:KEY_KP5 \
            	--ui-axismap X2=KEY_1:KEY_2,Y2=KEY_3:KEY_4,lt+X2=KEY_5:KEY_6,lt+Y2=KEY_7:KEY_8,rt+X2=KEY_9:KEY_0,rt+Y2=KEY_KPASTERISK:KEY_EQUAL \
            	--ui-buttonmap a=KEY_RIGHTCTRL,b=KEY_F2,x=KEY_EQUAL,y=KEY_KPASTERISK,lb=KEY_F9,rb=KEY_F5,du=KEY_KP8,dd=KEY_KP5,dl=KEY_KP4,dr=KEY_KP6,start=KEY_F4,back=KEY_F3,lt=KEY_HOME,rt=KEY_HOME,tl=KEY_HOME,tr=KEY_HOME \
            	--ui-buttonmap lt+a=KEY_ENTER,lt+b=KEY_ESC,lt+du=KEY_UP,lt+dd=KEY_DOWN,lt+dl=KEY_LEFT,lt+dr=KEY_RIGHT,lt+start=KEY_F1 \
            	--ui-axismap lt+X1=KEY_LEFT:KEY_RIGHT,lt+Y1=KEY_UP:KEY_DOWN \
            	--ui-axismap tl+x1=REL_X:10,tl+y1=REL_Y:10 \
            	--ui-buttonmap tr+b=BTN_LEFT,tr+a=BTN_RIGHT \
            	--ui-buttonmap guide=void \
            

            I suspect that evdev /dev/input/by-id/3 is also incorrect. When you run ls /dev/input/by-id/ from the command line, does your controller fully identify as "3"? If so, then you're fine, but I would think there is more to the name than that.

            then, how do I paste this and where exactly?

            Seeing as this is specific to Atari800, you'll want to use one of the two emulator-specific options noted in the guide that will run only alongside the emulator. Since you are just learning these things, I would recommend simply adding the command to /opt/retropie/configs/atari800/emulators.cfg, but just remember to make a backup when you're done, as this file gets overwritten after every update. Once added, it should look like:

            atari800 = "sudo /opt/retropie/supplementary/xboxdrv/bin/xboxdrv \
            	--evdev /dev/input/by-id/3 \
            	--silent \
            	--axismap -Y1=Y1,-Y2=Y2 \
            	--buttonmap tl^toggle=tl \
            	--buttonmap tr^toggle=tr \
            	--detach-kernel-driver \
            	--force-feedback \
            	--deadzone-trigger 15% \
            	--deadzone 4000 \
            	--mimic-xpad \
            	--evdev-absmap ABS_X=x1,ABS_Y=y1,ABS_X=x2,ABS_Y=y2,ABS_*=lt,ABS_*=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_TL=tl,BTN_TR=tr,BTN_MODE=guide,BTN_TL2=back,BTN_TR2=start \
            	--ui-axismap X1=KEY_KP4:KEY_KP6,Y1=KEY_KP8:KEY_KP5 \
            	--ui-axismap X2=KEY_1:KEY_2,Y2=KEY_3:KEY_4,lt+X2=KEY_5:KEY_6,lt+Y2=KEY_7:KEY_8,rt+X2=KEY_9:KEY_0,rt+Y2=KEY_KPASTERISK:KEY_EQUAL \
            	--ui-buttonmap a=KEY_RIGHTCTRL,b=KEY_F2,x=KEY_EQUAL,y=KEY_KPASTERISK,lb=KEY_F9,rb=KEY_F5,du=KEY_KP8,dd=KEY_KP5,dl=KEY_KP4,dr=KEY_KP6,start=KEY_F4,back=KEY_F3,lt=KEY_HOME,rt=KEY_HOME,tl=KEY_HOME,tr=KEY_HOME \
            	--ui-buttonmap lt+a=KEY_ENTER,lt+b=KEY_ESC,lt+du=KEY_UP,lt+dd=KEY_DOWN,lt+dl=KEY_LEFT,lt+dr=KEY_RIGHT,lt+start=KEY_F1 \
            	--ui-axismap lt+X1=KEY_LEFT:KEY_RIGHT,lt+Y1=KEY_UP:KEY_DOWN \
            	--ui-axismap tl+x1=REL_X:10,tl+y1=REL_Y:10 \
            	--ui-buttonmap tr+b=BTN_LEFT,tr+a=BTN_RIGHT \
            	--ui-buttonmap guide=void \
            	-- \
            	/opt/retropie/emulators/atari800/bin/atari800 %ROM%"
            default="atari800"
            
            

            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
              mahcneto
              last edited by mahcneto

              @mediamogul
              When I run "cat /proc/bus/input/devices" this is what I get for my PS3 pad:
              alt text

              Whan I run "ls /dev/input/by-id/" I get this:
              alt text

              So I'm a little confused on what shoudl I put in the --evdev /dev/input/by-id/* \ line :/

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

                @mahcneto

                You're looking for the joystick event, so in your case, it would be:

                --evdev /dev/input/by-id/usb-SZMY-POWER_CO._LTD._GAMEPAD_3_TURBO-event-joystick
                

                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
                  mahcneto
                  last edited by mahcneto

                  @mediamogul Ok! so i finally managed to put these lines in the atari800 emulators.cfg, now do I have to enable the xboxdrv to make the changes count?
                  EDIT: I did enable the xboxdrv but now all of my buttons are the joystick trigger and I'm still moving with the analog stick and not the Dpad. Tried the LT+Start to see if I get the emulator menu but doesn't work.

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

                    @mahcneto

                    There might be something wrong with the mapping that isn't immediately visible. Try running the command by itself from a terminal window to see if it throws up any errors:

                    sudo /opt/retropie/supplementary/xboxdrv/bin/xboxdrv \
                    	--evdev /dev/input/by-id/usb-SZMY-POWER_CO._LTD._GAMEPAD_3_TURBO-event-joystick \
                    	--silent \
                    	--axismap -Y1=Y1,-Y2=Y2 \
                    	--buttonmap tl^toggle=tl \
                    	--buttonmap tr^toggle=tr \
                    	--detach-kernel-driver \
                    	--force-feedback \
                    	--deadzone-trigger 15% \
                    	--deadzone 4000 \
                    	--mimic-xpad \
                    	--evdev-absmap ABS_X=x1,ABS_Y=y1,ABS_X=x2,ABS_Y=y2,ABS_*=lt,ABS_*=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_TL=tl,BTN_TR=tr,BTN_MODE=guide,BTN_TL2=back,BTN_TR2=start \
                    	--ui-axismap X1=KEY_KP4:KEY_KP6,Y1=KEY_KP8:KEY_KP5 \
                    	--ui-axismap X2=KEY_1:KEY_2,Y2=KEY_3:KEY_4,lt+X2=KEY_5:KEY_6,lt+Y2=KEY_7:KEY_8,rt+X2=KEY_9:KEY_0,rt+Y2=KEY_KPASTERISK:KEY_EQUAL \
                    	--ui-buttonmap a=KEY_RIGHTCTRL,b=KEY_F2,x=KEY_EQUAL,y=KEY_KPASTERISK,lb=KEY_F9,rb=KEY_F5,du=KEY_KP8,dd=KEY_KP5,dl=KEY_KP4,dr=KEY_KP6,start=KEY_F4,back=KEY_F3,lt=KEY_HOME,rt=KEY_HOME,tl=KEY_HOME,tr=KEY_HOME \
                    	--ui-buttonmap lt+a=KEY_ENTER,lt+b=KEY_ESC,lt+du=KEY_UP,lt+dd=KEY_DOWN,lt+dl=KEY_LEFT,lt+dr=KEY_RIGHT,lt+start=KEY_F1 \
                    	--ui-axismap lt+X1=KEY_LEFT:KEY_RIGHT,lt+Y1=KEY_UP:KEY_DOWN \
                    	--ui-axismap tl+x1=REL_X:10,tl+y1=REL_Y:10 \
                    	--ui-buttonmap tr+b=BTN_LEFT,tr+a=BTN_RIGHT \
                    	--ui-buttonmap guide=void
                    

                    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
                      mahcneto
                      last edited by mahcneto

                      @mediamogul just did it and it says:

                      -- [ ERROR ] ------------------------------------------------------
                      error: invalid argument '--evdev-absmap ABS_X=x1,ABS_Y=y1,ABS_X=x2,ABS_Y=y2,ABS_=lt,ABS_=rt,ABS_HAT0X=dpad_x,ABS_HAT0Y=dpad_y'
                      couldn't convert 'ABS_*' to enum, not a member of EV_ABS

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

                        @mahcneto

                        Ah, OK. Looks like you left in the place holder asterisks for 'lt' and 'rt' on the --evdev-absmap line. Just replace them with the event codes from your controller. After that, run the command again to see if any other errors pop up.

                        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
                          mahcneto
                          last edited by mahcneto

                          @mediamogul pasted it correcting the *'s, and I got this:

                          xboxdrv 0.8.8 - http://pingus.seul.org/~grumbel/xboxdrv/
                          Copyright © 2008-2011 Ingo Ruhnke grumbel@gmail.com
                          Licensed under GNU GPL version 3 or later http://gnu.org/licenses/gpl.html
                          This program comes with ABSOLUTELY NO WARRANTY.
                          This is free software, and you are welcome to redistribute it under certain
                          conditions; see the file COPYING for details.

                          Your Xbox/Xbox360 controller should now be available as:
                          /dev/input/js1
                          /dev/input/event4

                          Press Ctrl-C to quit

                          Then I pasted & saved the same imput mapping in the atari800 emulators.cfg

                          atari800 = "sudo /opt/retropie/supplementary/xboxdrv/bin/xboxdrv
                          --evdev /dev/input/by-id/3
                          --silent
                          --axismap -Y1=Y1,-Y2=Y2
                          --buttonmap tl^toggle=tl
                          --buttonmap tr^toggle=tr
                          --detach-kernel-driver
                          --force-feedback
                          --deadzone-trigger 15%
                          --deadzone 4000
                          --mimic-xpad
                          --evdev-absmap ABS_X=x1,ABS_Y=y1,ABS_X=x2,ABS_Y=y2,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_TL=tl,BTN_TR=tr,BTN_MODE=guide,BTN_TL2=back,BTN_TR2=start,BTN_SELECT=lt,BTN_START=rt
                          --ui-axismap X1=KEY_KP4:KEY_KP6,Y1=KEY_KP8:KEY_KP5
                          --ui-axismap X2=KEY_1:KEY_2,Y2=KEY_3:KEY_4,lt+X2=KEY_5:KEY_6,lt+Y2=KEY_7:KEY_8,rt+X2=KEY_9:KEY_0,rt+Y2=KEY_KPASTERISK:KEY_EQUAL
                          --ui-buttonmap a=KEY_RIGHTCTRL,b=KEY_F2,x=KEY_EQUAL,y=KEY_KPASTERISK,lb=KEY_F9,rb=KEY_F5,du=KEY_KP8,dd=KEY_KP5,dl=KEY_KP4,dr=KEY_KP6,start=KEY_F4,back=KEY_F3,lt =KEY_HOME,rt=KEY_HOME,tl=KEY_HOME,tr=KEY_HOME
                          --ui-buttonmap lt+a=KEY_ENTER,lt+b=KEY_ESC,lt+du=KEY_UP,lt+dd=KEY_DOWN,lt+dl=KEY_LEFT,lt+dr=KEY_RIGHT,lt+start=KEY_F1
                          --ui-axismap lt+X1=KEY_LEFT:KEY_RIGHT,lt+Y1=KEY_UP:KEY_DOWN
                          --ui-axismap tl+x1=REL_X:10,tl+y1=REL_Y:10
                          --ui-buttonmap tr+b=BTN_LEFT,tr+a=BTN_RIGHT
                          --ui-buttonmap guide=void
                          --
                          /opt/retropie/emulators/atari800/bin/atari800 %ROM%"
                          default="atari800"
                          atari800 = "/opt/retropie/emulators/atari800/bin/atari800 %ROM%"
                          default = "atari800"

                          After this I enabled the xboxdrv, performed a reboot and tested the Atari800 emu, and i'm still moving my characters with the analog stick, what am I missing?

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

                            @mahcneto

                            There looks to be a couple of issues here and there. Try this:

                            atari800 = "sudo /opt/retropie/supplementary/xboxdrv/bin/xboxdrv \
                            	--evdev /dev/input/by-id/usb-SZMY-POWER_CO._LTD._GAMEPAD_3_TURBO-event-joystick \
                            	--silent \
                            	--axismap -Y1=Y1,-Y2=Y2 \
                            	--buttonmap tl^toggle=tl \
                            	--buttonmap tr^toggle=tr \
                            	--detach-kernel-driver \
                            	--force-feedback \
                            	--deadzone-trigger 15% \
                            	--deadzone 4000 \
                            	--mimic-xpad \
                            	--evdev-absmap ABS_X=x1,ABS_Y=y1,ABS_X=x2,ABS_Y=y2,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_TL=tl,BTN_TR=tr,BTN_MODE=guide,BTN_TL2=back,BTN_TR2=start \
                            	--ui-axismap X1=KEY_KP4:KEY_KP6,Y1=KEY_KP8:KEY_KP5 \
                            	--ui-axismap X2=KEY_1:KEY_2,Y2=KEY_3:KEY_4,lt+X2=KEY_5:KEY_6,lt+Y2=KEY_7:KEY_8,rt+X2=KEY_9:KEY_0,rt+Y2=KEY_KPASTERISK:KEY_EQUAL \
                            	--ui-buttonmap a=KEY_RIGHTCTRL,b=KEY_F2,x=KEY_EQUAL,y=KEY_KPASTERISK,lb=KEY_F9,rb=KEY_F5,du=KEY_KP8,dd=KEY_KP5,dl=KEY_KP4,dr=KEY_KP6,start=KEY_F4,back=KEY_F3,lt=KEY_HOME,rt=KEY_HOME,tl=KEY_HOME,tr=KEY_HOME \
                            	--ui-buttonmap lt+a=KEY_ENTER,lt+b=KEY_ESC,lt+du=KEY_UP,lt+dd=KEY_DOWN,lt+dl=KEY_LEFT,lt+dr=KEY_RIGHT,lt+start=KEY_F1 \
                            	--ui-axismap lt+X1=KEY_LEFT:KEY_RIGHT,lt+Y1=KEY_UP:KEY_DOWN \
                            	--ui-axismap tl+x1=REL_X:10,tl+y1=REL_Y:10 \
                            	--ui-buttonmap tr+b=BTN_LEFT,tr+a=BTN_RIGHT \
                            	--ui-buttonmap guide=void \
                            	-- \
                            	/opt/retropie/emulators/atari800/bin/atari800 %ROM%"
                            default="atari800"
                            

                            Edit: Also, when pasting code into the forum, surrounding it in three backticks ``` on both sides helps to keep things manageable.

                            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
                              mahcneto
                              last edited by

                              Still doesn't work. Every single button works as the Atari Joystick trigger button, even start and select, dunno what to do :/

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

                                @mahcneto

                                I suppose it could be in how the command is formatted. Below is the same command on one line, without any separation.

                                atari800 = "sudo /opt/retropie/supplementary/xboxdrv/bin/xboxdrv --evdev /dev/input/by-id/usb-SZMY-POWER_CO._LTD._GAMEPAD_3_TURBO-event-joystick --silent --axismap -Y1=Y1,-Y2=Y2 --buttonmap tl^toggle=tl --buttonmap tr^toggle=tr --detach-kernel-driver --force-feedback --deadzone-trigger 15% --deadzone 4000 --mimic-xpad --evdev-absmap ABS_X=x1,ABS_Y=y1,ABS_X=x2,ABS_Y=y2,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_TL=tl,BTN_TR=tr,BTN_MODE=guide,BTN_TL2=back,BTN_TR2=start --ui-axismap X1=KEY_KP4:KEY_KP6,Y1=KEY_KP8:KEY_KP5 --ui-axismap X2=KEY_1:KEY_2,Y2=KEY_3:KEY_4,lt+X2=KEY_5:KEY_6,lt+Y2=KEY_7:KEY_8,rt+X2=KEY_9:KEY_0,rt+Y2=KEY_KPASTERISK:KEY_EQUAL --ui-buttonmap a=KEY_RIGHTCTRL,b=KEY_F2,x=KEY_EQUAL,y=KEY_KPASTERISK,lb=KEY_F9,rb=KEY_F5,du=KEY_KP8,dd=KEY_KP5,dl=KEY_KP4,dr=KEY_KP6,start=KEY_F4,back=KEY_F3,lt=KEY_HOME,rt=KEY_HOME,tl=KEY_HOME,tr=KEY_HOME --ui-buttonmap lt+a=KEY_ENTER,lt+b=KEY_ESC,lt+du=KEY_UP,lt+dd=KEY_DOWN,lt+dl=KEY_LEFT,lt+dr=KEY_RIGHT,lt+start=KEY_F1 --ui-axismap lt+X1=KEY_LEFT:KEY_RIGHT,lt+Y1=KEY_UP:KEY_DOWN --ui-axismap tl+x1=REL_X:10,tl+y1=REL_Y:10 --ui-buttonmap tr+b=BTN_LEFT,tr+a=BTN_RIGHT --ui-buttonmap guide=void -- /opt/retropie/emulators/atari800/bin/atari800 %ROM%"
                                default="atari800"
                                

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

                                1 Reply Last reply Reply Quote 0
                                • H
                                  Hubz
                                  last edited by

                                  I managed to get your config to work, what a godsend! Thank you! The only problem I have is my Wii U Pro Controller maps the RThumb (R3) and LThumb (L3) as btn instead of abs. Is there anyway to use your setup for Super Breakout etc.? After toggling I get no response from the thumbsticks and I'm guessing it is due to them being buttons instead of axis.

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

                                    @Hubz

                                    That's tough to say. It's such a specialty situation that anything I say would be guesswork. Did the controller require a driver or did it just pair with Bluetooth?

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

                                    1 Reply Last reply Reply Quote 0
                                    • H
                                      Hubz
                                      last edited by

                                      It paired with bluetooth, I may just have to use a different controller. Not the end of the world. Odd how it maps though!

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

                                        meant for another thread.

                                        1 Reply Last reply Reply Quote 0
                                        • G
                                          gmorker
                                          last edited by

                                          @mahcneto said in Mapping certain keys from Atari800 emu to the gamepad:

                                          emus, is there any way to map certain keys to the gamepad since this console uses just 1 button for playing? These ones mostly:

                                          This is a very old thread but I want to share somenthing that works well for me just in case someone else will find it useful.

                                          I purchased a $16 3-Key USB keypad from amazon https://www.amazon.com/dp/B08P1GY3GN/ref=cm_sw_em_r_mt_dp_H610W0ZBZ6DNXZSZESYK

                                          I easily (30 second effort) programed the keys to F2, F3, F4 and it works perfectly!

                                          WhatsApp Image 2021-04-21 at 6.32.52 PM (Large).jpeg
                                          buttonmapCapture.PNG

                                          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.