• 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

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.
  • W
    weirdocollector
    last edited by weirdocollector 17 Sept 2016, 09:49

    Hi !

    I'd also be interested in the joymap scripts you're describing.

    Could you share them ?

    Thanks a lot!

    1 Reply Last reply Reply Quote 0
    • M
      mediamogul Global Moderator
      last edited by mediamogul 17 Sept 2016, 15:40

      @edmaul69 I'd love to take a look at those scripts myself.

      I have also since posted the key-mapping section to my guide as well. For Atari800/5200, I run a single controller map that makes use of the basic joystick functions, the 12-button keypad, the emulator software controls and recently I added a toggle button mapping that switches the left analog stick to mouse movement for finer analog controls for paddles and the like. It also comes in handy when playing Atari800 track ball and mouse-enabled games. I'm away from my setup at the moment, but I'll post my map here as well for reference a bit later.

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

      E 1 Reply Last reply 17 Sept 2016, 17:10 Reply Quote 2
      • E
        edmaul69 @mediamogul
        last edited by 17 Sept 2016, 17:10

        @mediamogul how do i post a .map file?

        M 2 Replies Last reply 17 Sept 2016, 17:47 Reply Quote 0
        • M
          mediamogul Global Moderator @edmaul69
          last edited by 17 Sept 2016, 17:47

          @edmaul69

          Depending on it's contents, code blocking it into a post might work.

          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
            last edited by mediamogul 17 Sept 2016, 17:48

            I've marked the controller specific information with asterisks that can be properly filled in by following the first steps of my guide. I used a Logitech Rumblepad 2, which has the layout and all the buttons of a PS2/3 controller. The only button this particular layout doesn't have is the 'Guide' button, but you'll notice I voided it out at the bottom.

            sudo /opt/retropie/supplementary/xboxdrv/bin/xboxdrv \
            	--evdev /dev/input/by-id/* \
            	--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_*=x1,ABS_*=y1,ABS_*=x2,ABS_*=y2,ABS_*=lt,ABS_*=rt,ABS_*=dpad_x,ABS_*=dpad_y \
            	--evdev-keymap BTN_*=a,BTN_*=b,BTN_*=x,BTN_*=y,BTN_*=lb,BTN_*=rb,BTN_*=tl,BTN_*=tr,BTN_*=guide,BTN_*=back,BTN_*=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
            

            Without changing any of the settings in the Atari800 emulator itself, this will control all functions for player one, including the emulator's user interface. I'll dissect a bit of it's functionality below:

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

            The above line controls the main joystick functions along with one or two emulator functions. For example, a=KEY_RIGHTCTR maps button 'A' to the default 'Fire' button for player one and lb=KEY_F9,rb=KEY_F5 maps the ability to quit and reset the emulator using the top right and left shoulder buttons. I personally like to choose whether I use the thumbstick or the DPad on a game-by-game basis, so I mapped player one directional controls to both using du=KEY_KP8,dd=KEY_KP5,dl=KEY_KP4,dr=KEY_KP6 as well as the separate line --ui-axismap X1=KEY_KP4:KEY_KP6,Y1=KEY_KP8:KEY_KP5 for the joystick.

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

            The above line maps all 12 of the 5200 joystick keypad buttons (Similar to the ColecoVision and Intellivision) to the right joystick. The X-axis (left and right) is mapped to 1 and 2, while the Y-axis (up and down) is mapped to 3 and 4. With the addition of lt+ 5,6,7 and 8 are accessible the same way when the left trigger button is pressed. Finally, by using rt+, 9,0,*,# are made available when the right trigger is pressed.

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

            The above two lines control the emulator's user interface when then left trigger is pressed. For example, when playing a game, pressing the start button will start a game just like a controller would do normally. However, when the start button is pressed while holding down the left trigger, the emulators main menu is invoked. The same goes for pressing the left trigger to control the menu's functions for up,down,left. Also notice that lt+a=KEY_ENTER,lt+b=KEY_ESC will map the 'A' and 'B' buttons to make selections and move backwards through the menus.

            To make the mouse available strictly as an option, I added it as a toggle. In doing this, I made use of the normally worthless 'tl` and 'tr' buttons that are activated by pressing down the left and right thumbsticks. When the left thumbstick is pressed down, it then controls mouse activity, making games like 'Super Breakout' a lot more fun to play. Also, by activating the left and right mouse buttons on a separate toggle on the right thumbstick button, you can choose whether or not your 'A' and 'B' buttons are mapped to the 5200 controller or the mouse buttons independently. This of course is a great help when you want to use the left thumbstick as a mouse for paddle control, but you want to retain the normal 'Fire' button of the controller. When playing a mouse-based game, you can press both toggles and get full mouse control. The following three lines map this functionality:

            --buttonmap tl^toggle=tl
            --buttonmap tr^toggle=tr
            --ui-axismap tl+x1=REL_X:10,tl+y1=REL_Y:10
            --ui-buttonmap tr+b=BTN_LEFT,tr+a=BTN_RIGHT
            

            In closing, I'll also post my mapping for Player 2. It has all the same functionality, but uses the default player 2 key bindings for the 5200 controller and keypad:

            sudo /opt/retropie/supplementary/xboxdrv/bin/xboxdrv \
            	--evdev /dev/input/by-id/* \
            	--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_*=x1,ABS_*=y1,ABS_*=x2,ABS_*=y2,ABS_*=lt,ABS_*=rt,ABS_*=dpad_x,ABS_*=dpad_y \
            	--evdev-keymap BTN_*=a,BTN_*=b,BTN_*=x,BTN_*=y,BTN_*=lb,BTN_*=rb,BTN_*=tl,BTN_*=tr,BTN_*=guide,BTN_*=back,BTN_*=start
            	--ui-axismap X1=KEY_A:KEY_D,Y1=KEY_W:KEY_S \
            	--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_LEFTCTRL,b=KEY_F2,x=KEY_EQUAL,y=KEY_KPASTERISK,lb=KEY_F9,rb=KEY_F5,du=KEY_W,dd=KEY_S,dl=KEY_A,dr=KEY_D,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 2
            • M
              mediamogul Global Moderator @edmaul69
              last edited by 20 Sept 2016, 18:45

              @edmaul69

              There is no rush, but a bit of time has gone by, so I thought I'd see if you ever found an acceptable way of posting that .map file. Also, I thought I'd ask how easy it is to launch and deactivate the mappings with joymap.

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

              E 1 Reply Last reply 20 Sept 2016, 19:56 Reply Quote 0
              • E
                edmaul69 @mediamogul
                last edited by edmaul69 20 Sept 2016, 19:56

                @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"
                
                M 1 Reply Last reply 20 Sept 2016, 21:11 Reply Quote 1
                • M
                  mediamogul Global Moderator @edmaul69
                  last edited by 20 Sept 2016, 21:11

                  @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 11 Oct 2016, 05:43 10 Nov 2016, 05:42

                    @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 :(
                    M 1 Reply Last reply 10 Nov 2016, 14:44 Reply Quote 0
                    • M
                      mediamogul Global Moderator @mahcneto
                      last edited by 10 Nov 2016, 14:44

                      @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 11 Nov 2016, 03:33 11 Nov 2016, 03:32

                        @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 :/

                        M 1 Reply Last reply 11 Nov 2016, 03:43 Reply Quote 0
                        • M
                          mediamogul Global Moderator @mahcneto
                          last edited by 11 Nov 2016, 03:43

                          @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 11 Nov 2016, 04:14 11 Nov 2016, 04:03

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

                            M 1 Reply Last reply 11 Nov 2016, 05:59 Reply Quote 0
                            • M
                              mediamogul Global Moderator @mahcneto
                              last edited by 11 Nov 2016, 05:59

                              @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 11 Dec 2016, 04:45 12 Nov 2016, 04:44

                                @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

                                M 1 Reply Last reply 12 Nov 2016, 08:29 Reply Quote 0
                                • M
                                  mediamogul Global Moderator @mahcneto
                                  last edited by mediamogul 11 Dec 2016, 08:56 12 Nov 2016, 08:29

                                  @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 11 Dec 2016, 16:37 12 Nov 2016, 16:36

                                    @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?

                                    M 1 Reply Last reply 12 Nov 2016, 18:11 Reply Quote 0
                                    • M
                                      mediamogul Global Moderator @mahcneto
                                      last edited by mediamogul 11 Dec 2016, 18:15 12 Nov 2016, 18:11

                                      @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 12 Nov 2016, 18:43

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

                                        M 1 Reply Last reply 12 Nov 2016, 19:51 Reply Quote 0
                                        • M
                                          mediamogul Global Moderator @mahcneto
                                          last edited by 12 Nov 2016, 19:51

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