Homepage Forums Search Search Results for 'hotkey'

Viewing 35 results - 876 through 910 (of 1,077 total)
  • Author
    Search Results
  • #45191
    amo
    Guest

    similar problem for me: I can’t exit the gamegear emulator because it seems that the button mapping is wrong and so my hotkeys don’t work anymore.
    Where could be the problem?

    #44565
    woabash
    Participant

    I went to menu in /home/pi/RetroPie-Setup/retropie_setup.sh and registered retroarch controller and they both work inside all the emulators. Then when I added the exit emulation hotkeys stuff that started working so I’m not sure why the last code doesn’t work. Where else should I be looking?

    Thanx for the help!

    woabash
    Participant

    So I’m using usb snes controllers. Both of them work and I can quit the game with “select + start” but the save/load states don’t work? Anyone help me out?

    # Skeleton config file for RetroArch

    # Save all save files (*.srm) to this directory. This includes related files like .bsv, .rtc, .psrm, etc …
    # This will be overridden by explicit command line options.
    savefile_directory = /home/pi/RetroPie/

    # Save all save states (*.state) to this directory.
    # This will be overridden by explicit command line options.
    savestate_directory = /home/pi/RetroPie/

    # If set to a directory, Content which is temporarily extracted
    # will be extracted to this directory.
    # extraction_directory =

    # Automatically saves a savestate at the end of RetroArch’s lifetime.
    # The path is $SRAM_PATH.auto.
    # RetroArch will automatically load any savestate with this path on startup if savestate_auto_load is set.
    # savestate_auto_save = false
    # savestate_auto_load = true

    # Load libretro from a dynamic location for dynamically built RetroArch.
    # This option is mandatory.

    # Path to a libretro implementation.
    # libretro_path = “/path/to/libretro.so”

    # A directory for where to search for libretro core implementations.
    # libretro_directory =

    # Sets log level for libretro cores (GET_LOG_INTERFACE).
    # If a log level issued by a libretro core is below libretro_log_level, it is ignored.
    # DEBUG logs are always ignored unless verbose mode is activated (–verbose).
    # DEBUG = 0, INFO = 1, WARN = 2, ERROR = 3.
    # libretro_log_level = 0

    # Enable or disable verbosity level of frontend.
    # log_verbosity = false

    # Enable or disable RetroArch performance counters
    # perfcnt_enable = false

    # Path to core options config file.
    # This config file is used to expose core-specific options.
    # It will be written to by RetroArch.
    # A default path will be assigned if not set.
    core_options_path = /opt/retropie/configs/all/retroarch-core-options.cfg

    # Path to content load history file.
    # RetroArch keeps track of all content loaded in the menu and from CLI directly for convenient quick loading.
    # A default path will be assigned if not set.
    # game_history_path =

    # Number of entries that will be kept in content history file.
    # game_history_size = 100

    # Sets the “system” directory.
    # Implementations can query for this directory to load BIOSes, system-specific configs, etc.
    system_directory = /home/pi/RetroPie/roms/../BIOS
    # Sets start directory for menu content browser.
    # rgui_browser_directory =

    # Content directory. Interacts with RETRO_ENVIRONMENT_GET_CONTENT_DIRECTORY.
    # Usually set by developers who bundle libretro/RetroArch apps to point to assets.
    # content_directory =

    # Assets directory. This location is queried by default when menu interfaces try to look for
    # loadable assets, etc.
    # assets_directory =

    # Sets start directory for menu config browser.
    # rgui_config_directory =

    # Show startup screen in menu.
    # Is automatically set to false when seen for the first time.
    # This is only updated in config if config_save_on_exit is set to true, however.
    # rgui_show_start_screen = true

    # Flushes config to disk on exit. Useful for menu as settings can be modified.
    # Overwrites the config. #include’s and comments are not preserved.
    config_save_on_exit = false

    # Load up a specific config file based on the core being used.
    # core_specific_config = false

    #### Video

    # Video driver to use. “gl”, “xvideo”, “sdl”
    video_driver = “gl”

    # Which OpenGL context implementation to use.
    # Possible ones for desktop are: glx, x-egl, kms-egl, sdl-gl, wgl.
    # By default, tries to use first suitable driver.
    # video_gl_context =

    # Windowed xscale and yscale
    # (Real x res: base_size * xscale * aspect_ratio, real y res: base_size * yscale)
    # video_xscale = 3.0
    # video_yscale = 3.0

    # Fullscreen resolution. Resolution of 0 uses the resolution of the desktop.
    # video_fullscreen_x = 0
    # video_fullscreen_y = 0

    # Start in fullscreen. Can be changed at runtime.
    # video_fullscreen = false

    # If fullscreen, prefer using a windowed fullscreen mode.
    # video_windowed_fullscreen = true

    # Which monitor to prefer. 0 (default) means no particular monitor is preferred, 1 and up (1 being first monitor),
    # suggests RetroArch to use that particular monitor.
    # video_monitor_index = 0

    # Forcibly disable composition. Only works in Windows Vista/7 for now.
    # video_disable_composition = false

    # Video vsync.
    # video_vsync = true

    # Attempts to hard-synchronize CPU and GPU. Can reduce latency at cost of performance.
    # video_hard_sync = false

    # Sets how many frames CPU can run ahead of GPU when using video_hard_sync.
    # Maximum is 3.
    # video_hard_sync_frames = 0

    # Inserts a black frame inbetween frames.
    # Useful for 120 Hz monitors who want to play 60 Hz material with eliminated ghosting.
    # video_refresh_rate should still be configured as if it is a 60 Hz monitor (divide refresh rate by 2).
    # video_black_frame_insertion = false

    # Use threaded video driver. Using this might improve performance at possible cost of latency and more video stuttering.
    video_threaded = true

    # Use a shared context for HW rendered libretro cores.
    # Avoids having to assume GL state changes inbetween frames.
    # video_shared_context = false

    # Smoothens picture with bilinear filtering. Should be disabled if using pixel shaders.
    video_smooth = false

    # Forces rendering area to stay equal to content aspect ratio or as defined in video_aspect_ratio.
    # video_force_aspect = true

    # Only scales video in integer steps.
    # The base size depends on system-reported geometry and aspect ratio.
    # If video_force_aspect is not set, X/Y will be integer scaled independently.
    # video_scale_integer = false

    # A floating point value for video aspect ratio (width / height).
    # If this is not set, aspect ratio is assumed to be automatic.
    # Behavior then is defined by video_aspect_ratio_auto.
    video_aspect_ratio = 1.33

    # If this is true and video_aspect_ratio is not set,
    # aspect ratio is decided by libretro implementation.
    # If this is false, 1:1 PAR will always be assumed if video_aspect_ratio is not set.
    # video_aspect_ratio_auto = false

    # Forces cropping of overscanned frames.
    # Exact behavior of this option is implementation specific.
    # video_crop_overscan = true

    # Path to shader. Shader can be either Cg, CGP (Cg preset) or GLSL, GLSLP (GLSL preset)
    # video_shader = “/path/to/shader.{cg,cgp,glsl,glslp}”

    # Load video_shader on startup.
    # Other shaders can still be loaded later in runtime.
    # video_shader_enable = false

    # Defines a directory where shaders (Cg, CGP, GLSL) are kept for easy access.
    video_shader_dir = /opt/retropie/emulators/RetroArch/shader/

    # CPU-based video filter. Path to a dynamic library.
    # video_filter =

    # Path to a font used for rendering messages. This path must be defined to enable fonts.

    # Do note that the _full_ path of the font is necessary!
    # video_font_path =

    # Size of the font rendered.
    # video_font_size = 32

    # Enable usage of OSD messages.
    # video_font_enable = true

    # Offset for where messages will be placed on screen. Values are in range 0.0 to 1.0 for both x and y values.
    # [0.0, 0.0] maps to the lower left corner of the screen.
    # video_message_pos_x = 0.05
    # video_message_pos_y = 0.05

    # Color for message. The value is treated as a hexadecimal value.
    # It is a regular RGB hex number, i.e. red is “ff0000”.
    # video_message_color = ffffff

    # Video refresh rate of your monitor.
    # Used to calculate a suitable audio input rate.
    # video_refresh_rate = 59.95

    # Allows libretro cores to set rotation modes.
    # Setting this to false will honor, but ignore this request.
    # This is useful for vertically oriented content where one manually rotates the monitor.
    # video_allow_rotate = true

    # Forces a certain rotation of the screen.
    # The rotation is added to rotations which the libretro core sets (see video_allow_rotate).
    # The angle is <value> * 90 degrees counter-clockwise.
    # video_rotation = 0

    #### Audio

    # Enable audio.
    # audio_enable = true

    # Audio output samplerate.
    # audio_out_rate = 48000

    # Audio resampler backend. Which audio resampler to use.
    # Default will use “sinc”.
    # audio_resampler =

    # Audio driver backend. Depending on configuration possible candidates are: alsa, pulse, oss, jack, rsound, roar, openal, sdl, xaudio.
    # audio_driver =

    # Override the default audio device the audio_driver uses. This is driver dependant. E.g. ALSA wants a PCM device, OSS wants a path (e.g. /dev/dsp), Jack wants portnames (e.g. system:playback1,system:playback_2), and so on …
    # audio_device =

    # Audio DSP plugin that processes audio before it’s sent to the driver. Path to a dynamic library.
    # audio_dsp_plugin =

    # Will sync (block) on audio. Recommended.
    # audio_sync = true

    # Desired audio latency in milliseconds. Might not be honored if driver can’t provide given latency.
    # audio_latency = 64

    # Enable audio rate control.
    # audio_rate_control = true

    # Controls audio rate control delta. Defines how much input rate can be adjusted dynamically.
    # Input rate = in_rate * (1.0 +/- audio_rate_control_delta)
    # audio_rate_control_delta = 0.005

    # Audio volume. Volume is expressed in dB.
    # 0 dB is normal volume. No gain will be applied.
    # Gain can be controlled in runtime with input_volume_up/input_volume_down.
    # audio_volume = 0.0

    #### Overlay

    # Enable overlay.
    # input_overlay_enable = false

    # Path to input overlay
    # input_overlay =

    # Overlay opacity
    # input_overlay_opacity = 1.0

    # Overlay scale
    # input_overlay_scale = 1.0

    #### Input

    # Input driver. Depending on video driver, it might force a different input driver.
    # input_driver = sdl

    # Joypad driver. (Valid: linuxraw, sdl, dinput)
    # input_joypad_driver =

    # Keyboard layout for input driver if applicable (udev/evdev for now).
    # Syntax is either just layout (e.g. “no”), or a layout and variant separated with colon (“no:nodeadkeys”).
    # input_keyboard_layout =

    # Defines axis threshold. Possible values are [0.0, 1.0]
    # input_axis_threshold = 0.5

    # Enable input auto-detection. Will attempt to autoconfigure
    # joypads, Plug-and-Play style.
    input_autodetect_enable = true

    # Directory for joypad autoconfigs (PC).
    # If a joypad is plugged in, that joypad will be autoconfigured if a config file
    # corresponding to that joypad is present in joypad_autoconfig_dir.
    # Input binds which are made explicit (input_playerN_*_btn/axis) will take priority over autoconfigs.
    # Autoconfigs can be created with retroarch-joyconfig, manually, or with a frontend.
    # Requires input_autodetect_enable to be enabled.
    joypad_autoconfig_dir = /opt/retropie/emulators/RetroArch/configs/

    # Enable debug input key reporting on-screen.
    # input_debug_enable = false

    # Sets which libretro device is used for a player.
    # Devices are indentified with a number.
    # This is normally saved by the menu.
    # Device IDs are found in libretro.h.
    # These settings are overridden by explicit command-line arguments which refer to input devices.
    # None: 0
    # Joypad (RetroPad): 1
    # Mouse: 2
    # Keyboard: 3
    # Generic Lightgun: 4
    # Joypad w/ Analog (RetroPad + Analog sticks): 5
    # Multitap (SNES specific): 257
    # Super Scope (SNES specific): 260
    # Justifier (SNES specific): 516
    # Justifiers (SNES specific): 772

    # input_libretro_device_p1 =
    # input_libretro_device_p2 =
    # input_libretro_device_p3 =
    # input_libretro_device_p4 =
    # input_libretro_device_p5 =
    # input_libretro_device_p6 =
    # input_libretro_device_p7 =
    # input_libretro_device_p8 =

    # Keyboard input. Will recognize letters (“a” to “z”) and the following special keys (where “kp_”
    # is for keypad keys):
    #
    # left, right, up, down, enter, kp_enter, tab, insert, del, end, home,
    # rshift, shift, ctrl, alt, space, escape, add, subtract, kp_plus, kp_minus,
    # f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12,
    # num0, num1, num2, num3, num4, num5, num6, num7, num8, num9, pageup, pagedown,
    # keypad0, keypad1, keypad2, keypad3, keypad4, keypad5, keypad6, keypad7, keypad8, keypad9,
    # period, capslock, numlock, backspace, multiply, divide, print_screen, scroll_lock,
    # tilde, backquote, pause, quote, comma, minus, slash, semicolon, equals, leftbracket,
    # backslash, rightbracket, kp_period, kp_equals, rctrl, ralt
    #
    # 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 = x
    input_player1_b = z
    input_player1_y = a
    input_player1_x = s
    input_player1_start = enter
    input_player1_select = rshift
    input_player1_l = q
    input_player1_r = w
    input_player1_left = left
    input_player1_right = right
    input_player1_up = up
    input_player1_down = down
    # input_player1_l2 =
    # input_player1_r2 =
    # input_player1_l3 =
    # input_player1_r3 =

    # Two analog sticks (DualShock-esque).
    # Bound as usual, however, if a real analog axis is bound,
    # it can be read as a true analog.
    # Positive X axis is right, Positive Y axis is down.
    # input_player1_l_x_plus =
    # input_player1_l_x_minus =
    # input_player1_l_y_plus =
    # input_player1_l_y_minus =
    # input_player1_r_x_plus =
    # input_player1_r_x_minus =
    # input_player1_r_y_plus =
    # input_player1_r_y_minus =

    # If desired, it is possible to override which joypads are being used for player 1 through 8.
    # First joypad available is 0.
    # input_player1_joypad_index = 0
    # input_player2_joypad_index = 1
    # input_player3_joypad_index = 2
    # input_player4_joypad_index = 3
    # input_player5_joypad_index = 4
    # input_player6_joypad_index = 5
    # input_player7_joypad_index = 6
    # input_player8_joypad_index = 7

    # Joypad buttons.
    # Figure these out by using RetroArch-Phoenix or retroarch-joyconfig.
    # You can use joypad hats with hnxx, where n is the hat, and xx is a string representing direction.
    # E.g. “h0up”
    input_player1_joypad_index = 0
    input_player1_b_btn =
    input_player1_a_btn =
    input_player1_y_btn =
    input_player1_x_btn =
    input_player1_l_btn =
    input_player1_r_btn =
    input_player1_start_btn =
    input_player1_select_btn =
    input_player1_l_y_plus =
    input_player1_up_axis =
    input_player1_l_y_minus =
    input_player1_down_axis =
    input_player1_l_x_minus =
    input_player1_left_axis =
    input_player1_l_x_plus =
    input_player1_right_axis =

    # Axis for RetroArch D-Pad.
    # Needs to be either ‘+’ or ‘-‘ in the first character signaling either positive or negative direction of the axis, then the axis number.
    # Do note that every other input option has the corresponding _btn and _axis binds as well; they are omitted here for clarity.
    # input_player1_left_axis =
    # input_player1_right_axis =
    # input_player1_up_axis =
    # input_player1_down_axis =

    # Holding the turbo while pressing another button will let the button enter a turbo mode
    # where the button state is modulated with a periodic signal.
    # The modulation stops when the button itself (not turbo button) is released.
    # input_player1_turbo =

    # Describes the period and how long of that period a turbo-enabled button should behave.
    # Numbers are described in frames.
    # input_turbo_period = 6
    # input_turbo_duty_cycle = 3

    # This goes all the way to player 8 (*_player2_*, *_player3_*, etc), but omitted for clarity.
    # All input binds have corresponding binds for keyboard (none), joykeys (_btn) and joyaxes (_axis) as well.

    # Toggles fullscreen.
    # input_toggle_fullscreen = f
    # Saves state.
    # input_save_state = f2
    # Loads state.
    # input_load_state = f4

    # State slots. With slot set to 0, save state name is *.state (or whatever defined on commandline).
    # When slot is != 0, path will be $path%d, where %d is slot number.
    # input_state_slot_increase = f7
    # input_state_slot_decrease = f6

    # Toggles between fast-forwarding and normal speed.
    # input_toggle_fast_forward = space

    # Hold for fast-forward. Releasing button disables fast-forward.
    # input_hold_fast_forward = l

    # Key to exit RetroArch cleanly.
    # Killing it in any hard way (SIGKILL, etc) will terminate RetroArch without saving RAM, etc.
    # On Unix-likes, SIGINT/SIGTERM allows a clean deinitialization.
    input_exit_emulator = escape

    # Applies next and previous shader in directory.
    input_shader_next = m
    input_shader_prev = n

    # Hold button down to rewind. Rewinding must be enabled.
    input_rewind = r

    # Toggle between recording and not.
    # input_movie_record_toggle = o

    # Toggle between paused and non-paused state
    # input_pause_toggle = p

    # Frame advance when content is paused
    # input_frame_advance = k

    # Reset the content.
    # input_reset = h

    # Cheats.
    # input_cheat_index_plus = y
    # input_cheat_index_minus = t
    # input_cheat_toggle = u

    # Mute/unmute audio
    # input_audio_mute = f9

    # Take screenshot
    # input_screenshot = f8

    # Netplay flip players.
    # input_netplay_flip_players = i

    # Hold for slowmotion.
    # input_slowmotion = e

    # Enable other hotkeys.
    # If this hotkey is bound to either keyboard, joybutton or joyaxis,
    # all other hotkeys will be disabled unless this hotkey is also held at the same time.
    # This is useful for RETRO_KEYBOARD centric implementations
    # which query a large area of the keyboard, where it is not desirable
    # that hotkeys get in the way.

    # Alternatively, all hotkeys for keyboard could be disabled by the user.
    input_enable_hotkey = escape

    # Increases audio volume.
    # input_volume_up = kp_plus
    # Decreases audio volume.
    # input_volume_down = kp_minus

    # Toggles to next overlay. Wraps around.
    # input_overlay_next =

    # Toggles eject for disks. Used for multiple-disk content.
    # input_disk_eject_toggle =

    # Cycles through disk images. Use after ejecting.
    # Complete by toggling eject again.
    # input_disk_next =

    # Toggles menu.
    # input_menu_toggle = f1

    # Toggles mouse grab. When mouse is grabbed, RetroArch hides the mouse,
    # and keeps the mouse pointer inside the window to allow relative mouse input
    # to work better.
    # input_grab_mouse_toggle = f11

    #### Menu

    # Menu driver to use. “rgui”, “lakka”, etc.
    # menu_driver = “rgui”

    #### Camera

    # Override the default camera device the camera driver uses. This is driver dependant.
    # camera_device =

    # Override the default privacy permission for cores that want to access camera services. Is “false” by default.
    # camera_allow = false

    #### Location

    # Override the default privacy permission for cores that want to access location services. Is “false” by default.
    # location_allow = false

    #### Netplay

    # When being client over netplay, use keybinds for player 1.
    # netplay_client_swap_input = false

    # The nickname being used for playing online.
    # netplay_nickname =

    # The amount of delay frames to use for netplay. Increasing this value will increase
    # performance, but introduce more latency.
    # netplay_delay_frames = 0

    # Netplay mode for the current user.
    # false is Server, true is Client.
    # netplay_mode = false

    # Enable or disable spectator mode for the player during netplay.
    # netplay_spectator_mode_enable = false

    # The IP Address of the host to connect to.
    # netplay_ip_address =

    # The port of the host IP Address. Can be either a TCP or an UDP port.
    # netplay_ip_port = 55435

    #### Misc

    # Enable rewinding. This will take a performance hit when playing, so it is disabled by default.
    rewind_enable = false

    # Rewinding buffer size in megabytes. Bigger rewinding buffer means you can rewind longer.
    # The buffer should be approx. 20MB per minute of buffer time.
    rewind_buffer_size = 10

    # Rewind granularity. When rewinding defined number of frames, you can rewind several frames at a time, increasing the rewinding speed.
    rewind_granularity = 2

    # Pause gameplay when window focus is lost.
    # pause_nonactive = true

    # Autosaves the non-volatile SRAM at a regular interval. This is disabled by default unless set otherwise.
    # The interval is measured in seconds. A value of 0 disables autosave.
    # autosave_interval =

    # Path to XML cheat database (as used by bSNES).
    # cheat_database_path =

    # Path to XML cheat config, a file which keeps track of which
    # cheat settings are used for individual games.
    # If the file does not exist, it will be created.
    # cheat_settings_path =

    # Directory to dump screenshots to.
    # screenshot_directory =

    # Records video after CPU video filter.
    # video_post_filter_record = false

    # Records output of GPU shaded material if available.
    # video_gpu_record = false

    # Screenshots output of GPU shaded material if available.
    video_gpu_screenshot = true

    # Block SRAM from being overwritten when loading save states.
    # Might potentially lead to buggy games.
    # block_sram_overwrite = false

    # When saving a savestate, save state index is automatically increased before
    # it is saved.
    # Also, when loading content, the index will be set to the highest existing index.
    # There is no upper bound on the index.
    # savestate_auto_index = false

    # Slowmotion ratio. When slowmotion, content will slow down by factor.
    # slowmotion_ratio = 3.0

    # The maximum rate at which content will be run when using fast forward. (E.g. 5.0 for 60 fps content => 300 fps cap).
    # RetroArch will go to sleep to ensure that the maximum rate will not be exceeded.
    # Do not rely on this cap to be perfectly accurate.
    # A negative ratio equals no FPS cap.
    # fastforward_ratio = -1.0

    # Enable stdin/network command interface.
    # network_cmd_enable = false
    # network_cmd_port = 55355
    # stdin_cmd_enable = false

    input_enable_hotkey_btn = “8”
    input_exit_emulator_btn = “9”

    input_save_state_btn = “5”
    input_load_state_btn = “4”

    natedgreat3
    Participant

    Has anyone ever actually gotten 2 SNES controllers working properly together? I too seem to be having issues with this.

    I’m on 2.3 RetroPie, with a source-based update of anything that could be relevant (RetroArch, Emulation Station, Pocket SNES). My configuration files should be set up correctly:

    
    input_player1_joypad_index = 0
    input_player1_b_btn = 2
    input_player1_a_btn = 1
    input_player1_y_btn = 3
    input_player1_x_btn = 0
    input_player1_l_btn = 4
    input_player1_r_btn = 5
    input_player1_start_btn = 9
    input_player1_select_btn = 8
    input_player1_l_y_plus = -1
    input_player1_up_axis = -1
    input_player1_l_y_minus = +1
    input_player1_down_axis = +1
    input_player1_l_x_minus = -0
    input_player1_left_axis = -0
    input_player1_l_x_plus = +0
    input_player1_right_axis = +0
    input_enable_hotkey_btn = 8
    input_exit_emulator_btn = 9
    
    input_player2_joypad_index = 1
    input_player2_b_btn = 2
    input_player2_a_btn = 1
    input_player2_y_btn = 3
    input_player2_x_btn = 0
    input_player2_l_btn = 4
    input_player2_r_btn = 5
    input_player2_start_btn = 9
    input_player2_select_btn = 8
    input_player2_l_y_plus = -1
    input_player2_up_axis = -1
    input_player2_l_y_minus = +1
    input_player2_down_axis = +1
    input_player2_l_x_minus = -0
    input_player2_left_axis = -0
    input_player2_l_x_plus = +0
    input_player2_right_axis = +0
    input_enable_hotkey_btn = 8
    input_exit_emulator_btn = 9
    

    And yet a second controller remains unresponsive. I’m using these controllers: http://www.amazon.com/gp/product/B00FFL7WRS/ref=oh_aui_detailpage_o02_s00?ie=UTF8&psc=1

    I can fix it if I switch emulators to PiSNES, so I know the 2nd controller is capable of working. But PiSNES has its own problems (Right Bumper exits the game, glitchy Yoshi’s Island and Mario All Stars) so I’d rather keep it on the default emulator for now.

    I also read that back in 2013, there was a legitimate bug involving a controller index in the source code… but this issues seems to have been sorted out some time ago. At the very least, the current source code looks nothing like the suggested fix.

    I just want to play some Donkey Kong Country as a 2 person team! =P If anyone has actually gotten 2 controllers working fine, can you post what controllers you used, your configuration files, and how you got everything functioning correctly?

    djlynk
    Participant

    Hi,

    I have wired original controller ports from a PAL SNES to GPIO Adaptor which i purchased from here and configured both game pads according to instructions I have seen here.

    All is fine and I can move around within games etc and play, but I have noticed when I Press the B Button in Donkey Kong Country it registers as both Jump and Right at the same time. I have also noticed playing Mario in NES emulator holding down B it runs and moves right at the same time, pressing Left shoulder button seems to move left acting like left on the dpad this issue is happening on both controllers when playing Aero Fighters so when i press B it moves right and pressing left shoulder it moves left.

    So it seems there is something in common whilst pressing the B button in both scenarios.

    I was Wondering if anyone else was experiencing this issue and has some pointers that can help me rectify?

    As you can appreciate it is crucial when playing these older games that issues like this hinder play-ability.

    I have polling for both joyad and buttons set within SNESDEV + Gamecon driver is not installed + have run update Binaries just prior to writing this.

    Copy of my game pad section from retroarch.cfg below for reference

    input_player1_joypad_index = “0”
    input_player1_b_btn = “1”
    input_player1_y_btn = “3”
    input_player1_select_btn = “6”
    input_player1_start_btn = “7”
    input_player1_up_axis = “-1”
    input_player1_down_axis = “+1”
    input_player1_left_axis = “-0”
    input_player1_right_axis = “+0”
    input_player1_a_btn = “0”
    input_player1_x_btn = “2”
    input_player1_l_btn = “4”
    input_player1_r_btn = “5”

    input_player2_joypad_index = “1”
    input_player2_b_btn = “1”
    input_player2_y_btn = “3”
    input_player2_select_btn = “6”
    input_player2_start_btn = “7”
    input_player2_up_axis = “-1”
    input_player2_down_axis = “+1”
    input_player2_left_axis = “-0”
    input_player2_right_axis = “+0”
    input_player2_a_btn = “0”
    input_player2_x_btn = “2”
    input_player2_l_btn = “4”
    input_player2_r_btn = “5”

    input_enable_hotkey_btn = “6”
    input_exit_emulator_btn = “7”
    input_save_state_btn = “4”
    input_load_state_btn = “5”

    #35976
    amo
    Guest

    Oh I think I got it. Here’s what you need to do:

    You have to set up hotkeys byadding the following lines to the config file.

    input_enable_hotkey_btn = “8″
    input_exit_emulator_btn = “9″

    Now you can press and hold select and press start to exit an emulator with the controller. If you are in an emulator press and hold select and press F1 (keyboard). Now you can go in settings and input settings and remap the B and Y buttons. You will also need the remap the select button to the select button on the controller (should be button 8 I think). now go back and save the new config. It will be saved to another file than retroarch.cfg.
    Finally you need to exit the emulator and go to the command shell by pressing F4.
    Now go to the config folder:

    cd /opt/retropie/configs/all

    rename the retroarch.cfg to retroarch.cfg.bak2 (backup):

    mv retroarch.cfg retroach.cfg.bak2

    and rename the new config file to retroarch.cfg:

    mv ????.cfg retroarch.cfg

    (I forgot what the new config file was named… something with ???_libretro.cfg)

    I should work…. if not, try to change the mapping like above.

    theroamer
    Participant

    Looks like I fixed it. I guess the controller binds are different for bluetooth.

    Added the following to
    /opt/retropie/configs/nes/retroarch.cfg

    input_device = “Sony Computer Entertainment Wireless Controller”
    input_driver = “udev”
    input_enable_hotkey_btn = “0″
    input_b_btn = “14”
    input_y_btn = “15”
    input_select_btn = “0”
    input_start_btn = “3”
    input_up_btn = “4”
    input_down_btn = “6”
    input_left_btn = “7”
    input_right_btn = “5”
    input_a_btn = “13”
    input_exit_emulator_btn = “3”
    input_menu_toggle_btn = “12”

    all the buttons now work in nes, and I can exit games by hitting select+start or bring up the retroarch menu with select+triangle

    #33866
    jamcinty
    Participant

    I recall holding my hotkey which I programmed to be select and then pushing f1. This opens picodrive settings and you can select a six button controller.

    Anonymous
    Inactive

    (There is an older post concerning this, but it was never answered, so…)

    Purchased a couple of these adapters (http://www.amazon.com/gp/product/B002IXZ5DE/) to hook up 4 controllers to the Pi. Other than the fact that they require a powered USB hub, everything went smoothly and now I have retroarch.cfg configured to recognize 4 different controllers. Yay for that.

    The problem I am seeing now is that the NES and SNES emulators can’t see 4 controllers. They only see two.

    So…

    1. Do I have to purchase an authentic multitap to get this working?
    2. If not, how can I get the 4 controllers to work?

    My config files are below.

    My retroarch.cfg:
    [code]system_directory = /home/pi/RetroPie/roms/../BIOS
    config_save_on_exit = false
    video_aspect_ratio = 1.33
    video_smooth = false
    video_threaded = true
    input_enable_hotkey = escape
    input_exit_emulator = escape
    rewind_enable = false
    rewind_buffer_size = 10
    rewind_granularity = 2
    input_rewind = r
    video_gpu_screenshot = true
    input_shader_next = m
    input_shader_prev = n
    video_shader_dir = /opt/retropie/emulators/RetroArch/shader/
    input_player1_a = x
    input_player1_b = z
    input_player1_y = a
    input_player1_x = s
    input_player1_start = enter
    input_player1_select = rshift
    input_player1_l = q
    input_player1_r = w
    input_player1_left = left
    input_player1_right = right
    input_player1_up = up
    input_player1_down = down
    input_autodetect_enable = true
    joypad_autoconfig_dir = /opt/retropie/emulators/RetroArch/configs/

    input_player1_joypad_index = "0"
    input_player1_b_btn = "2"
    input_player1_y_btn = "3"
    input_player1_select_btn = "8"
    input_player1_start_btn = "9"
    input_player1_up_axis = "-1"
    input_player1_down_axis = "+1"
    input_player1_left_axis = "-0"
    input_player1_right_axis = "+0"
    input_player1_a_btn = "1"
    input_player1_x_btn = "0"
    input_player1_l_btn = "6"
    input_player1_r_btn = "7"

    input_enable_hotkey_btn = "4"
    input_save_state_btn = "6"
    input_load_state_btn = "7"
    input_exit_emulator_btn ="0"

    input_player2_joypad_index = "1"
    input_player2_b_btn = "2"
    input_player2_y_btn = "3"
    input_player2_select_btn = "8"
    input_player2_start_btn = "9"
    input_player2_up_axis = "-1"
    input_player2_down_axis = "+1"
    input_player2_left_axis = "-0"
    input_player2_right_axis = "+0"
    input_player2_a_btn = "1"
    input_player2_x_btn = "0"
    input_player2_l_btn = "6"
    input_player2_r_btn = "7"

    input_player3_joypad_index = "2"
    input_player3_b_btn = "2"
    input_player3_y_btn = "3"
    input_player3_select_btn = "8"
    input_player3_start_btn = "9"
    input_player3_up_axis = "-1"
    input_player3_down_axis = "+1"
    input_player3_left_axis = "-0"
    input_player3_right_axis = "+0"
    input_player3_a_btn = "1"
    input_player3_x_btn = "0"
    input_player3_l_btn = "6"
    input_player3_r_btn = "7"

    input_player4_joypad_index = "3"
    input_player4_b_btn = "2"
    input_player4_y_btn = "3"
    input_player4_select_btn = "8"
    input_player4_start_btn = "9"
    input_player4_up_axis = "-1"
    input_player4_down_axis = "+1"
    input_player4_left_axis = "-0"
    input_player4_right_axis = "+0"
    input_player4_a_btn = "1"
    input_player4_x_btn = "0"
    input_player4_l_btn = "6"
    input_player4_r_btn = "7"[/code]

    My es_systems.cfg:
    [code]<systemList>

    <system>
    <fullname>Apple II</fullname>
    <name>apple2</name>
    <path>~/RetroPie/roms/apple2</path>
    <extension>.txt</extension>
    <command>/opt/retropie/emulators/linapple-src_2a/Start.sh</command>
    <platform>apple2</platform>
    <theme>apple2</theme>
    </system>

    <system>
    <fullname>Atari 800</fullname>
    <name>atari800</name>
    <path>~/RetroPie/roms/atari800</path>
    <extension>.xex .XEX</extension>
    <command>/opt/retropie/supplementary/runcommand/runcommand.sh 1 "/opt/retropie/emulators/atari800-3.0.0/installdir/bin/atari800 %ROM%"</command>
    <platform>atari800</platform>
    <theme>atari800</theme>
    </system>

    <system>
    <fullname>Atari 2600</fullname>
    <name>atari2600</name>
    <path>~/RetroPie/roms/atari2600</path>
    <extension>.a26 .A26 .bin .BIN .rom .ROM .zip .ZIP .gz .GZ</extension>
    <!-- alternatively: <command>/opt/retropie/supplementary/runcommand/runcommand.sh 1 "stella %ROM%"</command> -->
    <command>/opt/retropie/supplementary/runcommand/runcommand.sh 1 "/opt/retropie/emulators/RetroArch/installdir/bin/retroarch -L /opt/retropie/emulatorcores/stella-libretro/stella_libretro.so --config /opt/retropie/configs/all/retroarch.cfg --appendconfig /opt/retropie/configs/atari2600/retroarch.cfg %ROM%"</command>
    <platform>atari2600</platform>
    <theme>atari2600</theme>
    </system>

    <system>
    <fullname>Atari ST/STE/Falcon</fullname>
    <name>atariStSteFalcon</name>
    <path>~/RetroPie/roms/atariStSteFalcon</path>
    <extension>.st .ST .img .IMG .rom .ROM</extension>
    <command>/opt/retropie/supplementary/runcommand/runcommand.sh 1 "hatari %ROM%"</command>
    <platform>atarist</platform>
    <theme>atarist</theme>
    </system>

    <system>
    <fullname>Apple Macintosh</fullname>
    <name>macintosh</name>
    <path>~/RetroPie/roms/macintosh</path>
    <extension>.txt</extension>
    <!-- alternatively: <command>sudo modprobe snd_pcm_oss && xinit /opt/retropie/emulators/basiliskii/installdir/bin/BasiliskII</command> -->
    <!-- ~/.basilisk_ii_prefs: Setup all and everything under X, enable fullscreen and disable GUI -->
    <command>xinit /opt/retropie/emulators/basiliskii/installdir/bin/BasiliskII</command>
    <theme>macintosh</theme>
    </system>

    <system>
    <fullname>C64</fullname>
    <name>c64</name>
    <path>~/RetroPie/roms/c64</path>
    <extension>.crt .CRT .d64 .D64 .g64 .G64 .t64 .T64 .tap .TAP .x64 .X64 .zip .ZIP</extension>
    <command>/opt/retropie/supplementary/runcommand/runcommand.sh 4 "/opt/retropie/emulators/vice-2.4/installdir/bin/x64 -sdlbitdepth 16 %ROM%"</command>
    <platform>c64</platform>
    <theme>c64</theme>
    </system>

    <system>
    <fullname>Amstrad CPC</fullname>
    <name>armstradcpc</name>
    <path>~/RetroPie/roms/cpc</path>
    <extension>.cpc .CPC .dsk .DSK</extension>
    <command>/opt/retropie/emulators/cpc4rpi-1.1/cpc4rpi %ROM%</command>
    <theme>armstradcpc</theme>
    </system>

    <system>
    <fullname>Final Burn Alpha</fullname>
    <name>fba</name>
    <path>~/RetroPie/roms/fba</path>
    <extension>.zip .ZIP .fba .FBA</extension>
    <command>/opt/retropie/supplementary/runcommand/runcommand.sh 1 "/opt/retropie/emulators/pifba/fba2x %ROM%" </command>
    <!-- alternatively: <command>/opt/retropie/supplementary/runcommand/runcommand.sh 1 "/opt/retropie/emulators/RetroArch/installdir/bin/retroarch -L /opt/retropie/emulatorcores/fba-libretro/svn-current/trunk/fb_alpha_libretro.so --config /opt/retropie/configs/all/retroarch.cfg --appendconfig /opt/retropie/configs/fba/retroarch.cfg %ROM%"</command> -->
    <platform>arcade</platform>
    <theme></theme>
    </system>

    <system>
    <fullname>Game Boy</fullname>
    <name>gb</name>
    <path>~/RetroPie/roms/gb</path>
    <extension>.gb .GB</extension>
    <!-- change from 1 to 2 recommended-->
    <command>/opt/retropie/supplementary/runcommand/runcommand.sh 2 "/opt/retropie/emulators/RetroArch/installdir/bin/retroarch -L /opt/retropie/emulatorcores/gambatte-libretro/libgambatte/gambatte_libretro.so --config /opt/retropie/configs/all/retroarch.cfg --appendconfig /opt/retropie/configs/gb/retroarch.cfg %ROM%"</command>
    <platform>gb</platform>
    <theme>gb</theme>
    </system>

    <system>
    <fullname>Game Boy Advance</fullname>
    <name>gba</name>
    <path>~/RetroPie/roms/gba</path>
    <extension>.gba .GBA</extension>
    <command>/opt/retropie/supplementary/runcommand/runcommand.sh 4 "/opt/retropie/emulators/gpsp/raspberrypi/gpsp %ROM%"</command>
    <platform>gba</platform>
    <theme>gba</theme>
    </system>

    <system>
    <fullname>Game Boy Color</fullname>
    <name>gbc</name>
    <path>~/RetroPie/roms/gbc</path>
    <extension>.gbc .GBC</extension>
    <!-- change from 1 to 2 recommended-->
    <command>/opt/retropie/supplementary/runcommand/runcommand.sh 2 "/opt/retropie/emulators/RetroArch/installdir/bin/retroarch -L /opt/retropie/emulatorcores/gambatte-libretro/libgambatte/gambatte_libretro.so --config /opt/retropie/configs/all/retroarch.cfg --appendconfig /opt/retropie/configs/gbc/retroarch.cfg %ROM%"</command>
    <platform>gbc</platform>
    <theme>gbc</theme>
    </system>

    <system>
    <fullname>Sega Game Gear</fullname>
    <name>gamegear</name>
    <path>~/RetroPie/roms/gamegear</path>
    <extension>.gg .GG</extension>
    <!-- <command>/opt/retropie/emulators/osmose-0.8.1+rpi20121122/osmose %ROM% -joy -tv -fs</command> -->
    <!--below is the code for using Genesis Plus instead of Osmose. Set to 4 by default, tried 3-too big, 2 and 5 - perfect but no sound, trying 6 -->
    <command>/opt/retropie/supplementary/runcommand/runcommand.sh 6 "/opt/retropie/emulators/RetroArch/installdir/bin/retroarch -L /opt/retropie/emulatorcores/genesis_plus_gx_libretro/genesis_plus_gx_libretro.so --config /opt/retropie/configs/all/retroarch.cfg --appendconfig /opt/retropie/configs/gamegear/retroarch.cfg %ROM%"</command>
    <!--above is the code for using Genesis Plus instead of Osmose. Let's cross our fingers...-->
    <platform>gamegear</platform>
    <theme>gamegear</theme>
    </system>

    <system>
    <fullname>Intellivision</fullname>
    <name>intellivision</name>
    <path>~/RetroPie/roms/intellivision</path>
    <extension>.int .INT .bin .BIN</extension>
    <command>/opt/retropie/emulators/jzintv-1.0-beta4/bin/jzintv -z1 -f1 -q %ROM%</command>
    <platform>intellivision</platform>
    <theme></theme>
    </system>

    <system>
    <fullname>MAME</fullname>
    <name>mame</name>
    <path>~/RetroPie/roms/mame</path>
    <extension>.zip .ZIP</extension>
    <command>/opt/retropie/supplementary/runcommand/runcommand.sh 4 "/opt/retropie/emulators/mame4all-pi/mame %BASENAME%"</command>
    <!-- alternatively: <command>/opt/retropie/emulators/RetroArch/installdir/bin/retroarch -L /opt/retropie/emulatorcores/imame4all-libretro/libretro.so --config /opt/retropie/configs/all/retroarch.cfg --appendconfig /opt/retropie/configs/mame/retroarch.cfg %ROM% </command> -->
    <platform>arcade</platform>
    <theme>mame</theme>
    </system>

    <system>
    <fullname>MSX</fullname>
    <name>msx</name>
    <path>~/RetroPie/roms/msx</path>
    <extension>.rom .ROM</extension>
    <command>/opt/retropie/supplementary/runcommand/runcommand.sh 4 "/opt/retropie/emulators/openmsx-0.10.0/derived/arm-linux-opt/bin/openmsx %BASENAME%"</command>
    <platform></platform>
    <theme>msx</theme>
    </system>

    <!-- <system> -->
    <!-- <fullname>PC (x86)</fullname> -->
    <!-- <name>pc</name> -->
    <!-- <path>~/RetroPie/roms/pc</path> -->
    <!-- <extension>.txt</extension> -->
    <!-- <command>/opt/retropie/emulators/rpix86/Start.sh</command> -->
    <!-- <platform>pc</platform> -->
    <!-- <theme>pc</theme> -->
    <!-- </system> -->

    <system>
    <fullname>NeoGeo</fullname>
    <name>neogeo</name>
    <path>~/RetroPie/roms/neogeo</path>
    <extension>.zip .ZIP .fba .FBA</extension>
    <command>/opt/retropie/supplementary/runcommand/runcommand.sh 1 "/opt/retropie/emulators/pifba/fba2x %ROM%" </command>
    <!-- alternatively: < ommand>/opt/retropie/emulators/gngeo-pi-0.85/installdir/bin/arm-linux-gngeo -i /opt/retropie/roms/neogeo -B /opt/retropie/emulators/gngeo-pi-0.85/neogeobios %ROM%</command> -->
    <platform>neogeo</platform>
    <theme>neogeo</theme>
    </system>

    <system>
    <fullname>Nintendo Entertainment System</fullname>
    <name>nes</name>
    <path>~/RetroPie/roms/nes</path>
    <extension>.nes .NES</extension>
    <command>/opt/retropie/supplementary/runcommand/runcommand.sh 4 "/opt/retropie/emulators/RetroArch/installdir/bin/retroarch -L /opt/retropie/emulatorcores/fceu-next/fceumm-code/fceumm_libretro.so --config /opt/retropie/configs/all/retroarch.cfg --appendconfig /opt/retropie/configs/nes/retroarch.cfg %ROM%"</command>
    <platform>nes</platform>
    <theme>nes</theme>
    </system>

    <system>
    <fullname>Nintendo 64</fullname>
    <name>n64</name>
    <path>~/RetroPie/roms/n64</path>
    <extension>.z64 .Z64 .n64 .N64 .v64 .V64</extension>
    <command>/opt/retropie/supplementary/runcommand/runcommand.sh 1 "cd /opt/retropie/emulators/mupen64plus-rpi/test/ && ./mupen64plus %ROM%"</command>
    <platform>n64</platform>
    <theme>n64</theme>
    </system>

    <system>
    <fullname>TurboGrafx 16 (PC Engine)</fullname>
    <name>pcengine</name>
    <path>~/RetroPie/roms/pcengine</path>
    <extension>.pce .PCE</extension>
    <command>/opt/retropie/supplementary/runcommand/runcommand.sh 1 "/opt/retropie/emulators/RetroArch/installdir/bin/retroarch -L /opt/retropie/emulatorcores/mednafen-pce-libretro/libretro.so --config /opt/retropie/configs/all/retroarch.cfg --appendconfig /opt/retropie/configs/pcengine/retroarch.cfg %ROM%"</command>
    <!-- alternatively: <command>/opt/retropie/supplementary/runcommand/runcommand.sh 1 "/opt/retropie/emulators/RetroArch/installdir/bin/retroarch -L /opt/retropie/emulatorcores/beetle-pce-fast-libretro/mednafen_pce_fast_libretro.so --config /opt/retropie/configs/all/retroarch.cfg --appendconfig /opt/retropie/configs/pcengine/retroarch.cfg %ROM%"</command> -->
    <platform>pcengine</platform>
    <theme>pcengine</theme>
    </system>

    <system>
    <fullname>Ports</fullname>
    <name>ports</name>
    <path>~/RetroPie/roms/ports</path>
    <extension>.sh .SH</extension>
    <command>%ROM%</command>
    <platformid>pc</platformid>
    <theme>ports</theme>
    </system>

    <system>
    <fullname>ScummVM</fullname>
    <name>scummvm</name>
    <path>~/RetroPie/roms/scummvm</path>
    <extension>.exe .EXE</extension>
    <command>scummvm</command>
    <platform>pc</platform>
    <theme>scummvm</theme>
    </system>

    <system>
    <fullname>Sega Master System / Mark III</fullname>
    <name>mastersystem</name>
    <path>~/RetroPie/roms/mastersystem</path>
    <extension>.sms .SMS</extension>
    <command>/opt/retropie/supplementary/runcommand/runcommand.sh 4 "/opt/retropie/emulators/RetroArch/installdir/bin/retroarch -L /opt/retropie/emulatorcores/picodrive/picodrive_libretro.so --config /opt/retropie/configs/all/retroarch.cfg --appendconfig /opt/retropie/configs/mastersystem/retroarch.cfg %ROM%"</command>
    <!-- alternatively: <command>/opt/retropie/emulators/osmose-0.8.1+rpi20121122/osmose %ROM% -joy -tv -fs</command> -->
    <platform>mastersystem</platform>
    <theme>mastersystem</theme>
    </system>

    <system>
    <fullname>Sega Mega Drive / Genesis</fullname>
    <name>megadrive</name>
    <path>~/RetroPie/roms/megadrive</path>
    <extension>.smd .SMD .bin .BIN .gen .GEN .md .MD .zip .ZIP</extension>
    <!-- <command>/opt/retropie/supplementary/runcommand/runcommand.sh 4 "/opt/retropie/emulators/RetroArch/installdir/bin/retroarch -L /opt/retropie/emulatorcores/picodrive/picodrive_libretro.so --config /opt/retropie/configs/all/retroarch.cfg --appendconfig /opt/retropie/configs/megadrive/retroarch.cfg %ROM%"</command> -->
    <command>/opt/retropie/supplementary/runcommand/runcommand.sh 1 "/opt/retropie/emulators/dgen-sdl/dgen -f -r /opt/retropie/configs/all/dgenrc %ROM%"</command> -->
    <!-- alternatively: <command>export LD_LIBRARY_<path>"/opt/retropie/supplementary/dispmanx/SDL12-kms-dispmanx/build/.libs"; /opt/retropie/emulators/dgen-sdl/dgen %ROM%</path></command> -->
    <platform>genesis,megadrive</platform>
    <theme>megadrive</theme>
    </system>

    <system>
    <fullname>Sega CD</fullname>
    <name>segacd</name>
    <path>~/RetroPie/roms/segacd</path>
    <extension>.smd .SMD .bin .BIN .md .MD .zip .ZIP .iso .ISO</extension>
    <command>/opt/retropie/supplementary/runcommand/runcommand.sh 1 "/opt/retropie/emulators/RetroArch/installdir/bin/retroarch -L /opt/retropie/emulatorcores/picodrive/picodrive_libretro.so --config /opt/retropie/configs/all/retroarch.cfg --appendconfig /opt/retropie/configs/segacd/retroarch.cfg %ROM%"</command>
    <!-- <command>/opt/retropie/supplementary/runcommand/runcommand.sh 1 "/opt/retropie/emulators/dgen-sdl/dgen -f -r /opt/retropie/configs/all/dgenrc %ROM%"</command> -->
    <!-- <command>export LD_LIBRARY_<path>"/opt/retropie/supplementary/dispmanx/SDL12-kms-dispmanx/build/.libs"; /opt/retropie/emulators/dgen-sdl/dgen %ROM%</path></command> -->
    <platform>segacd</platform>
    <theme>segacd</theme>
    </system>

    <system>
    <fullname>Sega 32X</fullname>
    <name>sega32x</name>
    <path>~/RetroPie/roms/sega32x</path>
    <extension>.32x .32X .smd .SMD .bin .BIN .md .MD .zip .ZIP</extension>
    <command>/opt/retropie/supplementary/runcommand/runcommand.sh 1 "/opt/retropie/emulators/RetroArch/installdir/bin/retroarch -L /opt/retropie/emulatorcores/picodrive/picodrive_libretro.so --config /opt/retropie/configs/all/retroarch.cfg --appendconfig /opt/retropie/configs/sega32x/retroarch.cfg %ROM%"</command>
    <!-- <command>/opt/retropie/supplementary/runcommand/runcommand.sh 1 "/opt/retropie/emulators/dgen-sdl/dgen -f -r /opt/retropie/configs/all/dgenrc %ROM%"</command> -->
    <!-- <command>export LD_LIBRARY_<path>"/opt/retropie/supplementary/dispmanx/SDL12-kms-dispmanx/build/.libs"; /opt/retropie/emulators/dgen-sdl/dgen %ROM%</path></command> -->
    <platform>sega32x</platform>
    <theme>sega32x</theme>
    </system>

    <system>
    <fullname>Sony Playstation 1</fullname>
    <name>psx</name>
    <path>~/RetroPie/roms/psx</path>
    <extension>.img .IMG .7z .7Z .pbp .PBP .bin .BIN .cue .CUE</extension>
    <command>/opt/retropie/supplementary/runcommand/runcommand.sh 1 "/opt/retropie/emulators/RetroArch/installdir/bin/retroarch -L /opt/retropie/emulatorcores/pcsx_rearmed/libretro.so --config /opt/retropie/configs/all/retroarch.cfg --appendconfig /opt/retropie/configs/psx/retroarch.cfg %ROM%"</command>
    <platform>psx</platform>
    <theme>psx</theme>
    </system>

    <system>
    <fullname>Super Nintendo</fullname>
    <name>snes</name>
    <path>~/RetroPie/roms/snes</path>
    <extension>.smc .sfc .fig .swc .SMC .SFC .FIG .SWC</extension>
    <command>/opt/retropie/supplementary/runcommand/runcommand.sh 4 "/opt/retropie/emulators/RetroArch/installdir/bin/retroarch -L /opt/retropie/emulatorcores/pocketsnes-libretro/libretro.so --config /opt/retropie/configs/all/retroarch.cfg --appendconfig /opt/retropie/configs/snes/retroarch.cfg %ROM%"</command>
    <!-- <command>/opt/retropie/emulators/snes9x-rpi/snes9x %ROM%</command> -->
    <!-- <command>/opt/retropie/emulators/pisnes/snes9x %ROM%</command> -->
    <platform>snes</platform>
    <theme>snes</theme>
    </system>

    <system>
    <fullname>ZX Spectrum</fullname>
    <name>zxspectrum</name>
    <path>~/RetroPie/roms/zxspectrum</path>
    <extension>.z80 .Z80</extension>
    <command>xinit fuse</command>
    <!-- alternatively: <command>/opt/retropie/emulators/fbzx-2.10.0/fbzx %ROM%</command> -->
    <platform>zxspectrum</platform>
    <theme>zxspectrum</theme>
    </system>

    <system>
    <fullname>Input Configuration</fullname>
    <name>esconfig</name>
    <path>~/RetroPie/roms/esconfig</path>
    <extension>.py .PY</extension>
    <command>%ROM%</command>
    <platform>ignore</platform>
    <theme>esconfig</theme>
    </system>

    </systemList>
    [/code]

    #32399

    In reply to: project division

    Mike
    Guest

    I’m using PS2 controllers with a usb adapter and I love RetroPie and Emulation station partly BECAUSE I only had to setup controls once and now they magically work for all emulators (hotkey buttons don’t work for a couple like gpsp and mame)

    mediumblock
    Participant

    Hey, thanks for the very quick reply

    I have been trying to follow the steps from the link you gave me which goes to this website https://www.petrockblock.com/forums/topic/updated-for-2-3-step-by-step-guide/

    I am on step 10 which tells me to put these following commands in

    cd /opt/retropie/configs/all/
    vi retroarch.cfg

    this works perfectly great, however, unfortunately I am very new to raspberry pi, so when I input the following two lines at the bottom

    input_enable_hotkey_btn = “8”
    input_exit_emulator_btn = “9”

    I run into two issues, the first issue is I am unable to make the ” symbol (when I hold shift and the button for ” it turns it into an @ sign), also I am unable to make the # symbol.

    second issue is that I have no idea how to save the file when I have input the lines (I know how to exit it without saving which is :q!)

    sorry for the nooby questions.

    Thanks.

    #31495
    peter
    Guest

    great I was of help to you guys. I’m a noob myself, just got my pi 4 days ago and been mucking around with it since then, every spare minute I have. I wrote my instruction out of my memory with a bit of googling for the commands/paths.

    as for your other questions, sorry but that’s something I don’t know about, but I think it is highly unlikely.

    one more thing you guys should know as well. you are able to save during the game and load if needed. all you need to do is add some more lines to retroarch.cfg, here is the exceprt from my file

    savefile_directory = /home/pi/RetroPie/
    savestate_directory = /home/pi/RetroPie/
    #Save State: L2 + L1
    input_save_state_btn = “4”
    #Load State: L2 + R1
    input_load_state_btn = “5”

    whenever your button defined in input_enable_hotkey_btn is being pressed followed by input_save_state_btn you make a save state, whenever your button defined in input_enable_hotkey_btn is being pressed followed by input_load_state_btn you load the last save state

    #31469
    peter
    Guest

    dube68, how many buttons do those joysticks have? Two? if this is the case there is probably no workaround to exit the emulator with the joystick. quitting with the keyboard goes by pressing ESC. quitting emulation with a joypad works like this: you press a defined button (usually one you normally dont use when you play or seldomly use, e.g. the “select” button) then press another button (another one you normally dont use when you you play, e.g. the “start” button) while the other one is still being pressed.

    I’d suggest to buy a pair of decent joypads instead of those joysticks.
    it should be okay if you configure only one of them if they’re both identiacl models, then configure one
    console:
    cd home/pi/RetroPie-Setup/
    ./retropie_setup.sh
    -> select 3. then chose “set up controller” or something (dont know the exact line out of my memory) and configure it. try to remember the numbers it shows for your start and select buttons during the configuration. you can repeat the configuration anytime if you fucked up.

    open the file
    /opt/retropie/configs/all/retroarch.cfg

    add the these lines on the very bottom
    # Quit Game: Select + Start
    input_enable_hotkey_btn = “enter_number_of_your_select_button_here”
    input_exit_emulator_btn = “enter_number_of_your_start_button_here”

    that should be it. I use joypads that look like these http://www.ebay.com/itm/USB-10-KEYS-SHOCK2-CONTROLLER-PC-GAME-PAD-New-/300569127352?pt=US_Video_Game_Controllers&hash=item45fb50e9b8
    and they have 12 buttons, so I decided to exit emulation by pressing L2 and R2 because none of those old consoles ever use such buttons

    #31459
    peter
    Guest

    erik, add those lines at the very bottom of your retroarch.cfg

    # Quit Game: Select + Start
    input_enable_hotkey_btn = “enter_number_of_your_select_button_here”
    input_exit_emulator_btn = “enter_number_of_your_start_button_here”

    Anonymous
    Inactive

    Thanks. After a bit of tinkering I did find that the retroarch.cfg was the issue. Is there software I can use to figure out what my button mappings should be?

    EDIT:

    Got it! Posting in case anyone finds this while searching. Check this extremely useful post:

    xbox controller config

    That will allow you to go through and map everything button by button, and it will append the correct mappings to the bottom of your retroarch.cfg file.

    Once you have that, include the following two lines in your cfg so you are able to exit your emulators. Obviously use whatever button mappings that you need based on what was appended to your config file.

    input_enable_hotkey_btn = "8"
    input_exit_emulator_btn = "9"

    It would be really nice if the devs would automate this process into the same process used to map the buttons for EmulationStation .. but for now I guess we have to do it manually.

    #30321
    erik
    Guest

    I seem to be having a lot of the same problems you were having. I finally found the location of the retroarch.cfg file. When I open it though, it looks nothing like any of the examples I’ve seen online. Here a sample, it’s a long file. Any ideas what I’m doing wrong???? My controller works fine, I just want to add the emulation exit.

    this is what my retroarch.cfg contains:

    ## Skeleton config file for RetroArch

    # Save all save files (*.srm) to this directory. This includes related files like .bsv, .rtc, .psrm, etc …
    # This will be overridden by explicit command line options.
    # savefile_directory =

    # Save all save states (*.state) to this directory.
    # This will be overridden by explicit command line options.
    # savestate_directory =

    # If set to a directory, Content which is temporarily extracted
    # will be extracted to this directory.
    # extraction_directory =

    # Automatically saves a savestate at the end of RetroArch’s lifetime.
    # The path is $SRAM_PATH.auto.
    # RetroArch will automatically load any savestate with this path on startup if savestate_auto_load is set.
    # savestate_auto_save = false
    # savestate_auto_load = true

    # Load libretro from a dynamic location for dynamically built RetroArch.
    # This option is mandatory.

    # Path to a libretro implementation.
    # libretro_path = “/path/to/libretro.so”

    # A directory for where to search for libretro core implementations.
    # libretro_directory =

    # Sets log level for libretro cores (GET_LOG_INTERFACE).
    # If a log level issued by a libretro core is below libretro_log_level, it is ignored.
    # DEBUG logs are always ignored unless verbose mode is activated (–verbose).
    # DEBUG = 0, INFO = 1, WARN = 2, ERROR = 3.
    # libretro_log_level = 0

    # Enable or disable verbosity level of frontend.
    # log_verbosity = false

    # Enable or disable RetroArch performance counters
    # perfcnt_enable = false

    # Path to core options config file.
    # This config file is used to expose core-specific options.
    # It will be written to by RetroArch.
    # A default path will be assigned if not set.
    core_options_path = /opt/retropie/configs/all/retroarch-core-options.cfg

    # Path to content load history file.
    # RetroArch keeps track of all content loaded in the menu and from CLI directly for convenient quick loading.
    # A default path will be assigned if not set.
    # game_history_path =

    # Number of entries that will be kept in content history file.
    # game_history_size = 100

    # Sets the “system” directory.
    # Implementations can query for this directory to load BIOSes, system-specific configs, etc.
    system_directory = /home/pi/RetroPie/roms/../BIOS

    # Sets start directory for menu content browser.
    # rgui_browser_directory =

    # Content directory. Interacts with RETRO_ENVIRONMENT_GET_CONTENT_DIRECTORY.
    # Usually set by developers who bundle libretro/RetroArch apps to point to assets.
    # content_directory =

    # Assets directory. This location is queried by default when menu interfaces try to look for
    # loadable assets, etc.
    # assets_directory =

    # Sets start directory for menu config browser.
    # rgui_config_directory =

    # Show startup screen in menu.
    # Is automatically set to false when seen for the first time.
    # This is only updated in config if config_save_on_exit is set to true, however.
    # rgui_show_start_screen = true

    # Flushes config to disk on exit. Useful for menu as settings can be modified.
    # Overwrites the config. #include’s and comments are not preserved.
    config_save_on_exit = false

    # Load up a specific config file based on the core being used.
    # core_specific_config = false

    #### Video

    # Video driver to use. “gl”, “xvideo”, “sdl”
    # video_driver = “gl”

    # Which OpenGL context implementation to use.
    # Possible ones for desktop are: glx, x-egl, kms-egl, sdl-gl, wgl.
    # By default, tries to use first suitable driver.
    # video_gl_context =

    # Windowed xscale and yscale
    # (Real x res: base_size * xscale * aspect_ratio, real y res: base_size * yscale)
    # video_xscale = 3.0
    # video_yscale = 3.0

    # Fullscreen resolution. Resolution of 0 uses the resolution of the desktop.
    # video_fullscreen_x = 0
    # video_fullscreen_y = 0

    # Start in fullscreen. Can be changed at runtime.
    # video_fullscreen = false

    # If fullscreen, prefer using a windowed fullscreen mode.
    # video_windowed_fullscreen = true

    # Which monitor to prefer. 0 (default) means no particular monitor is preferred, 1 and up (1 being first monitor),
    # suggests RetroArch to use that particular monitor.
    # video_monitor_index = 0

    # Forcibly disable composition. Only works in Windows Vista/7 for now.
    # video_disable_composition = false

    # Video vsync.
    # video_vsync = true

    # Attempts to hard-synchronize CPU and GPU. Can reduce latency at cost of performance.
    # video_hard_sync = false

    # Sets how many frames CPU can run ahead of GPU when using video_hard_sync.
    # Maximum is 3.
    # video_hard_sync_frames = 0

    # Inserts a black frame inbetween frames.
    # Useful for 120 Hz monitors who want to play 60 Hz material with eliminated ghosting.
    # video_refresh_rate should still be configured as if it is a 60 Hz monitor (divide refresh rate by 2).
    # video_black_frame_insertion = false

    # Use threaded video driver. Using this might improve performance at possible cost of latency and more video stuttering.
    video_threaded = true

    # Use a shared context for HW rendered libretro cores.
    # Avoids having to assume GL state changes inbetween frames.
    # video_shared_context = false

    # Smoothens picture with bilinear filtering. Should be disabled if using pixel shaders.
    video_smooth = false

    # Forces rendering area to stay equal to content aspect ratio or as defined in video_aspect_ratio.
    # video_force_aspect = true

    # Only scales video in integer steps.
    # The base size depends on system-reported geometry and aspect ratio.
    # If video_force_aspect is not set, X/Y will be integer scaled independently.
    # video_scale_integer = false

    # A floating point value for video aspect ratio (width / height).
    # If this is not set, aspect ratio is assumed to be automatic.
    # Behavior then is defined by video_aspect_ratio_auto.
    video_aspect_ratio = 1.33

    # If this is true and video_aspect_ratio is not set,
    # aspect ratio is decided by libretro implementation.
    # If this is false, 1:1 PAR will always be assumed if video_aspect_ratio is not set.
    # video_aspect_ratio_auto = false

    # Forces cropping of overscanned frames.
    # Exact behavior of this option is implementation specific.
    # video_crop_overscan = true

    # Path to shader. Shader can be either Cg, CGP (Cg preset) or GLSL, GLSLP (GLSL preset)
    # video_shader = “/path/to/shader.{cg,cgp,glsl,glslp}”

    # Load video_shader on startup.
    # Other shaders can still be loaded later in runtime.
    # video_shader_enable = false

    # Defines a directory where shaders (Cg, CGP, GLSL) are kept for easy access.
    video_shader_dir = /opt/retropie/emulators/RetroArch/shader/

    # CPU-based video filter. Path to a dynamic library.
    # video_filter =

    # Path to a font used for rendering messages. This path must be defined to enable fonts.
    # Do note that the _full_ path of the font is necessary!
    # video_font_path =

    # Size of the font rendered.
    # video_font_size = 32

    # Enable usage of OSD messages.
    # video_font_enable = true

    # Offset for where messages will be placed on screen. Values are in range 0.0 to 1.0 for both x and y values.
    # [0.0, 0.0] maps to the lower left corner of the screen.
    # video_message_pos_x = 0.05
    # video_message_pos_y = 0.05

    # Color for message. The value is treated as a hexadecimal value.
    # It is a regular RGB hex number, i.e. red is “ff0000”.
    # video_message_color = ffffff

    # Video refresh rate of your monitor.
    # Used to calculate a suitable audio input rate.
    # video_refresh_rate = 59.95

    # Allows libretro cores to set rotation modes.
    # Setting this to false will honor, but ignore this request.
    # This is useful for vertically oriented content where one manually rotates the monitor.
    # video_allow_rotate = true

    # Forces a certain rotation of the screen.
    # The rotation is added to rotations which the libretro core sets (see video_allow_rotate).
    # The angle is <value> * 90 degrees counter-clockwise.
    # video_rotation = 0

    #### Audio

    # Enable audio.
    # audio_enable = true

    # Audio output samplerate.
    # audio_out_rate = 48000

    # Audio resampler backend. Which audio resampler to use.
    # Default will use “sinc”.
    # audio_resampler =

    # Audio driver backend. Depending on configuration possible candidates are: alsa, pulse, oss, jack, rsound, roar, openal, sdl, xaudio.
    # audio_driver =

    # Override the default audio device the audio_driver uses. This is driver dependant. E.g. ALSA wants a PCM device, OSS wants a path (e.g. /dev/dsp), Jack wants portnames (e.g. system:playback1,system:playback_2), and so on …
    # audio_device =

    # Audio DSP plugin that processes audio before it’s sent to the driver. Path to a dynamic library.
    # audio_dsp_plugin =

    # Will sync (block) on audio. Recommended.
    # audio_sync = true

    # Desired audio latency in milliseconds. Might not be honored if driver can’t provide given latency.
    # audio_latency = 64

    # Enable audio rate control.
    # audio_rate_control = true

    # Controls audio rate control delta. Defines how much input rate can be adjusted dynamically.
    # Input rate = in_rate * (1.0 +/- audio_rate_control_delta)
    # audio_rate_control_delta = 0.005

    # Audio volume. Volume is expressed in dB.
    # 0 dB is normal volume. No gain will be applied.
    # Gain can be controlled in runtime with input_volume_up/input_volume_down.
    # audio_volume = 0.0

    #### Overlay

    # Enable overlay.
    # input_overlay_enable = false

    # Path to input overlay
    # input_overlay =

    # Overlay opacity
    # input_overlay_opacity = 1.0

    # Overlay scale
    # input_overlay_scale = 1.0

    #### Input

    # Input driver. Depending on video driver, it might force a different input driver.
    # input_driver = sdl

    # Joypad driver. (Valid: linuxraw, sdl, dinput)
    # input_joypad_driver =

    # Keyboard layout for input driver if applicable (udev/evdev for now).
    # Syntax is either just layout (e.g. “no”), or a layout and variant separated with colon (“no:nodeadkeys”).
    # input_keyboard_layout =

    # Defines axis threshold. Possible values are [0.0, 1.0]
    # input_axis_threshold = 0.5

    # Enable input auto-detection. Will attempt to autoconfigure
    # joypads, Plug-and-Play style.
    input_autodetect_enable = true

    # Directory for joypad autoconfigs (PC).
    # If a joypad is plugged in, that joypad will be autoconfigured if a config file
    # corresponding to that joypad is present in joypad_autoconfig_dir.
    # Input binds which are made explicit (input_playerN_*_btn/axis) will take priority over autoconfigs.
    # Autoconfigs can be created with retroarch-joyconfig, manually, or with a frontend.
    # Requires input_autodetect_enable to be enabled.
    joypad_autoconfig_dir = /opt/retropie/emulators/RetroArch/configs/

    # Enable debug input key reporting on-screen.
    # input_debug_enable = false

    # Sets which libretro device is used for a player.
    # Devices are indentified with a number.
    # This is normally saved by the menu.
    # Device IDs are found in libretro.h.
    # These settings are overridden by explicit command-line arguments which refer to input devices.
    # None: 0
    # Joypad (RetroPad): 1
    # Mouse: 2
    # Keyboard: 3
    # Generic Lightgun: 4
    # Joypad w/ Analog (RetroPad + Analog sticks): 5
    # Multitap (SNES specific): 257
    # Super Scope (SNES specific): 260
    # Justifier (SNES specific): 516
    # Justifiers (SNES specific): 772

    # input_libretro_device_p1 =
    # input_libretro_device_p2 =
    # input_libretro_device_p3 =
    # input_libretro_device_p4 =
    # input_libretro_device_p5 =
    # input_libretro_device_p6 =
    # input_libretro_device_p7 =
    # input_libretro_device_p8 =

    # Keyboard input. Will recognize letters (“a” to “z”) and the following special keys (where “kp_”
    # is for keypad keys):
    #
    # left, right, up, down, enter, kp_enter, tab, insert, del, end, home,
    # rshift, shift, ctrl, alt, space, escape, add, subtract, kp_plus, kp_minus,
    # f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12,
    # num0, num1, num2, num3, num4, num5, num6, num7, num8, num9, pageup, pagedown,
    # keypad0, keypad1, keypad2, keypad3, keypad4, keypad5, keypad6, keypad7, keypad8, keypad9,
    # period, capslock, numlock, backspace, multiply, divide, print_screen, scroll_lock,
    # tilde, backquote, pause, quote, comma, minus, slash, semicolon, equals, leftbracket,
    # backslash, rightbracket, kp_period, kp_equals, rctrl, ralt
    #
    # 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 = x
    input_player1_b = z
    input_player1_y = a
    input_player1_x = s
    input_player1_start = enter
    input_player1_select = rshift
    input_player1_l = q
    input_player1_r = w
    input_player1_left = left
    input_player1_right = right
    input_player1_up = up
    input_player1_down = down
    # input_player1_l2 =
    # input_player1_r2 =
    # input_player1_l3 =
    # input_player1_r3 =

    # Two analog sticks (DualShock-esque).
    # Bound as usual, however, if a real analog axis is bound,
    # it can be read as a true analog.
    # Positive X axis is right, Positive Y axis is down.
    # input_player1_l_x_plus =
    # input_player1_l_x_minus =
    # input_player1_l_y_plus =
    # input_player1_l_y_minus =
    # input_player1_r_x_plus =
    # input_player1_r_x_minus =
    # input_player1_r_y_plus =
    # input_player1_r_y_minus =

    # If desired, it is possible to override which joypads are being used for player 1 through 8.
    # First joypad available is 0.
    # input_player1_joypad_index = 0
    # input_player2_joypad_index = 1
    # input_player3_joypad_index = 2
    # input_player4_joypad_index = 3
    # input_player5_joypad_index = 4
    # input_player6_joypad_index = 5
    # input_player7_joypad_index = 6
    # input_player8_joypad_index = 7

    # Joypad buttons.
    # Figure these out by using RetroArch-Phoenix or retroarch-joyconfig.
    # You can use joypad hats with hnxx, where n is the hat, and xx is a string representing direction.
    # E.g. “h0up”
    # input_player1_a_btn =
    # input_player1_b_btn =
    # input_player1_y_btn =
    # input_player1_x_btn =
    # input_player1_start_btn =
    # input_player1_select_btn =
    # input_player1_l_btn =
    # input_player1_r_btn =
    # input_player1_left_btn =
    # input_player1_right_btn =
    # input_player1_up_btn =
    # input_player1_down_btn =
    # input_player1_l2_btn =
    # input_player1_r2_btn =
    # input_player1_l3_btn =
    # input_player1_r3_btn =

    # Axis for RetroArch D-Pad.
    # Needs to be either ‘+’ or ‘-‘ in the first character signaling either positive or negative direction of the axis, then the axis number.
    # Do note that every other input option has the corresponding _btn and _axis binds as well; they are omitted here for clarity.
    # input_player1_left_axis =
    # input_player1_right_axis =
    # input_player1_up_axis =
    # input_player1_down_axis =

    # Holding the turbo while pressing another button will let the button enter a turbo mode
    # where the button state is modulated with a periodic signal.
    # The modulation stops when the button itself (not turbo button) is released.
    # input_player1_turbo =

    # Describes the period and how long of that period a turbo-enabled button should behave.
    # Numbers are described in frames.
    # input_turbo_period = 6
    # input_turbo_duty_cycle = 3

    # This goes all the way to player 8 (*_player2_*, *_player3_*, etc), but omitted for clarity.
    # All input binds have corresponding binds for keyboard (none), joykeys (_btn) and joyaxes (_axis) as well.

    # Toggles fullscreen.
    # input_toggle_fullscreen = f

    # Saves state.
    # input_save_state = f2
    # Loads state.
    # input_load_state = f4

    # State slots. With slot set to 0, save state name is *.state (or whatever defined on commandline).
    # When slot is != 0, path will be $path%d, where %d is slot number.
    # input_state_slot_increase = f7
    # input_state_slot_decrease = f6

    # Toggles between fast-forwarding and normal speed.
    # input_toggle_fast_forward = space

    # Hold for fast-forward. Releasing button disables fast-forward.
    # input_hold_fast_forward = l

    # Key to exit RetroArch cleanly.
    # Killing it in any hard way (SIGKILL, etc) will terminate RetroArch without saving RAM, etc.
    # On Unix-likes, SIGINT/SIGTERM allows a clean deinitialization.
    input_exit_emulator = escape

    # Applies next and previous shader in directory.
    input_shader_next = m
    input_shader_prev = n

    # Hold button down to rewind. Rewinding must be enabled.
    input_rewind = r

    # Toggle between recording and not.
    # input_movie_record_toggle = o

    # Toggle between paused and non-paused state
    # input_pause_toggle = p

    # Frame advance when content is paused
    # input_frame_advance = k

    # Reset the content.
    # input_reset = h

    # Cheats.
    # input_cheat_index_plus = y
    # input_cheat_index_minus = t
    # input_cheat_toggle = u

    # Mute/unmute audio
    # input_audio_mute = f9

    # Take screenshot
    # input_screenshot = f8

    # Netplay flip players.
    # input_netplay_flip_players = i

    # Hold for slowmotion.
    # input_slowmotion = e

    # Enable other hotkeys.
    # If this hotkey is bound to either keyboard, joybutton or joyaxis,
    # all other hotkeys will be disabled unless this hotkey is also held at the same time.
    # This is useful for RETRO_KEYBOARD centric implementations
    # which query a large area of the keyboard, where it is not desirable
    # that hotkeys get in the way.

    # Alternatively, all hotkeys for keyboard could be disabled by the user.
    input_enable_hotkey = escape

    # Increases audio volume.
    # input_volume_up = kp_plus
    # Decreases audio volume.
    # input_volume_down = kp_minus

    # Toggles to next overlay. Wraps around.
    # input_overlay_next =

    # Toggles eject for disks. Used for multiple-disk content.
    # input_disk_eject_toggle =

    # Cycles through disk images. Use after ejecting.
    # Complete by toggling eject again.
    # input_disk_next =

    # Toggles menu.
    # input_menu_toggle = f1

    # Toggles mouse grab. When mouse is grabbed, RetroArch hides the mouse,
    # and keeps the mouse pointer inside the window to allow relative mouse input
    # to work better.
    # input_grab_mouse_toggle = f11

    #### Menu

    # Menu driver to use. “rgui”, “lakka”, etc.
    # menu_driver = “rgui”

    #### Camera

    # Override the default camera device the camera driver uses. This is driver dependant.
    # camera_device =

    # Override the default privacy permission for cores that want to access camera services. Is “false” by default.
    # camera_allow = false

    #### Location

    # Override the default privacy permission for cores that want to access location services. Is “false” by default.
    # location_allow = false

    #### Netplay

    # When being client over netplay, use keybinds for player 1.
    # netplay_client_swap_input = false

    # The nickname being used for playing online.
    # netplay_nickname =

    # The amount of delay frames to use for netplay. Increasing this value will increase
    # performance, but introduce more latency.
    # netplay_delay_frames = 0

    # Netplay mode for the current user.
    # false is Server, true is Client.
    # netplay_mode = false

    # Enable or disable spectator mode for the player during netplay.
    # netplay_spectator_mode_enable = false

    # The IP Address of the host to connect to.
    # netplay_ip_address =

    # The port of the host IP Address. Can be either a TCP or an UDP port.
    # netplay_ip_port = 55435

    #### Misc

    # Enable rewinding. This will take a performance hit when playing, so it is disabled by default.
    rewind_enable = false

    # Rewinding buffer size in megabytes. Bigger rewinding buffer means you can rewind longer.
    # The buffer should be approx. 20MB per minute of buffer time.
    rewind_buffer_size = 10

    # Rewind granularity. When rewinding defined number of frames, you can rewind several frames at a time, increasing the rewinding speed.
    rewind_granularity = 2

    # Pause gameplay when window focus is lost.
    # pause_nonactive = true

    # Autosaves the non-volatile SRAM at a regular interval. This is disabled by default unless set otherwise.
    # The interval is measured in seconds. A value of 0 disables autosave.
    # autosave_interval =

    # Path to XML cheat database (as used by bSNES).
    # cheat_database_path =

    # Path to XML cheat config, a file which keeps track of which
    # cheat settings are used for individual games.
    # If the file does not exist, it will be created.
    # cheat_settings_path =

    # Directory to dump screenshots to.
    # screenshot_directory =

    # Records video after CPU video filter.
    # video_post_filter_record = false

    # Records output of GPU shaded material if available.
    # video_gpu_record = false

    # Screenshots output of GPU shaded material if available.
    video_gpu_screenshot = true

    # Block SRAM from being overwritten when loading save states.
    # Might potentially lead to buggy games.
    # block_sram_overwrite = false

    # When saving a savestate, save state index is automatically increased before
    # it is saved.
    # Also, when loading content, the index will be set to the highest existing index.
    # There is no upper bound on the index.
    # savestate_auto_index = false

    # Slowmotion ratio. When slowmotion, content will slow down by factor.
    # slowmotion_ratio = 3.0

    # The maximum rate at which content will be run when using fast forward. (E.g. 5.0 for 60 fps content => 300 fps cap).
    # RetroArch will go to sleep to ensure that the maximum rate will not be exceeded.
    # Do not rely on this cap to be perfectly accurate.
    # A negative ratio equals no FPS cap.
    # fastforward_ratio = -1.0

    # Enable stdin/network command interface.
    # network_cmd_enable = false
    # network_cmd_port = 55355
    # stdin_cmd_enable = false

    #29988
    stereotyp
    Guest

    this is the used config:
    input_device = “Xbox Gamepad (userspace driver)”
    input_driver = “udev”
    input_b_btn = “0”
    input_y_btn = “2”
    input_select_btn = “8”
    input_start_btn = “9”
    input_up_axis = “-5”
    input_down_axis = “+5”
    input_left_axis = “-4”
    input_right_axis = “+4”
    input_a_btn = “1”
    input_x_btn = “3”
    input_l_btn = “4”
    input_r_btn = “5”
    input_l2_btn = “6”
    input_r2_btn = “7”
    input_l3_btn = “11”
    input_r3_btn = “12”
    input_l_x_plus_axis = “+0”
    input_l_x_minus_axis = “-0”
    input_l_y_plus_axis = “+1”
    input_l_y_minus_axis = “-1”
    input_r_x_plus_axis = “+2”
    input_r_x_minus_axis = “-2”
    input_r_y_plus_axis = “+3”
    input_r_y_minus_axis = “-3”

    input_enable_hotkey_btn = “8”
    input_exit_emulator_btn = “4”
    input_save_state_btn = “3”
    input_load_state_btn = “1”

    Steve
    Guest

    Hi everyone, so I have my USB NES and SNES controllers setup and working properly. I wanted to be able to exit the emulator with select + start so I added this to my retroarch.cfg:

    input_enable_hotkey_btn = 6
    input_exit_emulator_btn = 7

    …and that works perfectly with my SNES controller. Pressing select and start will exit the emulator as expected. It doesn’t work for my NES controller though. Looking at the config file for that controller select is 8 and start is 9. Is there any way I can setup my .cfg files so that the select+start to exit emulation works correctly for both of my controllers?

    Thanks in advance for any help.

    #29479
    chrisdem
    Guest

    I need to do this stuff but I need move explanation

    I tried adding input_enable_hotkey_btn =
    input_menu_toggle_btn = to the very top of my retroarch.cfg file, now what

    Borys
    Guest

    for xbox360 controller
    input_enable_hotkey_btn = 6
    input_exit_emulator_btn = 7

    #27039

    In reply to: Exit emulator problem

    kkspike
    Participant

    Where did you put the input_enable_hotkey_btn and the input_exit_emulator settings? In the SNES-to-gamepad.cfg or the retroarch.cfg file?

    #26970
    Mike
    Guest

    to whoever was asking about the usb PS2 controller adapter that you plug 2 PS2 controllers into, I HIGHLY recommend going that route. PS2 controllers are great, assign the digital pads as your input and press the analog button on the controller to switch to analog stick input.

    I think you can plug and unplug the controllers while in use, I’m not sure though, I usually just keep them both plugged in.

    here’s how I set them up for retropie in the retroarch.cfg file with save and load state goodness, hold in select and press R1 for save, select and L1 for Load state, and select and start to exit emulator.

    input_player1_joypad_index = “0”
    input_player1_b_btn = “2”
    input_player1_y_btn = “3”
    input_player1_select_btn = “8”
    input_player1_start_btn = “9”
    input_player1_up_axis = “-1”
    input_player1_down_axis = “+1”
    input_player1_left_axis = “-0”
    input_player1_right_axis = “+0”
    input_player1_a_btn = “1”
    input_player1_x_btn = “0”
    input_player1_l_btn = “6”
    input_player1_r_btn = “7”
    input_player1_l2_btn = “4”
    input_player1_r2_btn = “5”

    input_player2_joypad_index = “1”
    input_player2_b_btn = “2”
    input_player2_y_btn = “3”
    input_player2_select_btn = “8”
    input_player2_start_btn = “9”
    input_player2_up_axis = “-1”
    input_player2_down_axis = “+1”
    input_player2_left_axis = “-0”
    input_player2_right_axis = “+0”
    input_player2_a_btn = “1”
    input_player2_x_btn = “0”
    input_player2_l_btn = “6”
    input_player2_r_btn = “7”
    input_player2_l2_btn = “4”
    input_player2_r2_btn = “5”

    input_enable_hotkey_btn = “8”
    input_exit_emulator_btn = “9”
    input_save_state_btn = “7”
    input_load_state_btn = “6”

    #26352
    Xboxclassic
    Guest

    nilsbyte wrote

    “If it should stay, why do you want to replace it? :-) Just sayin’ ”

    It was retropieGM63 that requested this change not I.

    So now it seems that this request has been fulfilled.

    The answers to retropieGM63 is quite simply yes it can all be changed.

    As for disable “quit emulationstation” to menu “quit”.
    that is a W.I.P module.
    I think an .Sh linked to hotkey should be sufficient.
    then on top of that the actual pop menu needs to be hidden/removed.

    Keep up the great work guys.
    with emulationstation the sales of the RPI`s have increased dramatically.

    Anonymous
    Inactive

    Ive been trying like hell to get neogeo roms to run in mame and FBA Im kinda at my wits end. I have retropie 2.2 and mame runs any other kind of rom fine except the neogeo roms. Yes, I have the neogeo bios files and they are placed, unzipped, in the mame roms directory. I have a few games such as metal slug, zenblade, etc in there to test with. They all give the same error.

    neo-geo.rom WRONG CRC

    I know that these files are good because they play flawlessly with the NEOGEO emulator on my motorola android phone (NEO.emu). I transferred them directly over to the pi via ftp.

    None of the above roms will work in FBA either. While I do not get a CRC error with the bios rom, I just get a blank screen which seems frozen and will not exit back to ES using the controller hotkey. So I have to bounce the pi.

    Any advice is much appreciated.

    #25901
    lunarkingdom
    Participant

    And both controllers now work! My final question is:

    when I open the config file like this:

    sudo nano /opt/retropie/configs/all/retroarch.cfg

    for some reason shift and ” does not make this character I am trying to add your hotkeys and can type everything but the ” ” around the hot key, am I missing something or is it detecting my wireless keyboard incorrectly?

    EDIT: Fixed, I noticed when I hit shift and ” it produced @ so I tried shift and 2 and got ” ;-)

    #25365
    Marco
    Guest

    Hi Metzger,

    To access the core options you need to enable it on the retroarch.cfg file, under the retropie 2.3 image this can be found here:

    /opt/retropie/configs/all/retroarch.cfg

    The lines you need to change are: (Thanks Trimmtrab)

    input_enable_hotkey_btn =
    input_menu_toggle_btn =

    The “input_menu_toggle_btn =” is your button joypad number

    You will also find there a commented line

    # Toggles Menu
    # input_menu_toggle = f1

    Uncomment this one too.

    Please remember:
    These are the paths for the 2.3 image, the old image has different paths

    For this to work make sure you are using the latest image 2.3
    https://www.petrockblock.com/retropie/retropie-downloads/

    Please let us know if this has helped you.

    #25327
    murderousmincepie
    Participant

    Okay so ignore the previous RetroArch.cfg post this is not the configuration file I am using. By using this config I seem to have almost got this working…kind of. Whenever I press the A button on my controller it results in the game saving and exiting immediatly.

    P.S: Is there any way to detect what buttons are being pressed on the contoller without going in to the xbox controller setup?

    Here is the NEW config file:

    system_directory = /home/pi/RetroPie/roms/../BIOS
    config_save_on_exit = false
    video_aspect_ratio = 1.33
    video_smooth = false
    video_threaded = true
    # input_enable_hotkey6
    # input_exit_emulator7
    rewind_enable = false
    rewind_buffer_size = 10
    rewind_granularity = 2
    input_rewind = r
    video_gpu_screenshot = true
    input_shader_next = m
    input_shader_prev = n
    video_shader_dir = /opt/retropie/emulators/RetroArch/shader/
    input_player1_a = x
    input_player1_b = z
    input_player1_y = a
    input_player1_x = s
    input_player1_start = enter
    input_player1_select = rshift
    input_player1_l = q
    input_player1_r = w
    input_player1_left = left
    input_player1_right = right
    input_player1_up = up
    input_player1_down = down
    input_autodetect_enable = true
    joypad_autoconfig_dir = /opt/retropie/emulators/RetroArch/configs/
    input_player1_joypad_index = “0”
    input_player1_b_btn = “1”
    input_player1_y_btn = “3”
    input_player1_select_btn = “6”
    input_player1_start_btn = “7”
    input_player1_up_btn = “13”
    input_player1_down_btn = “14”
    input_player1_left_btn = “11”
    input_player1_right_btn = “12”
    input_player1_a_btn = “0”
    input_player1_x_btn = “2”
    input_player1_l_btn = “4”
    input_player1_r_btn = “5”
    input_player1_l2_axis = “+2”
    input_player1_r2_axis = “+5”
    input_player1_l3_btn = “9”
    input_player1_r3_btn = “10”
    input_player1_l_x_plus_axis = “+0”
    input_player1_l_x_minus_axis = “-0”
    input_player1_l_y_plus_axis = “+1”
    input_player1_l_y_minus_axis = “-1”
    input_player1_r_x_plus_axis = “+3”
    input_player1_r_x_minus_axis = “-3”
    input_player1_r_y_plus_axis = “-4”
    input_player1_r_y_minus_axis = “-4”
    input_player1_joypad_index = “0”
    input_player1_b_btn = “1”
    input_player1_y_btn = “3”
    input_player1_select_btn = “6”
    input_player1_start_btn = “7”
    input_player1_up_axis = “-1”
    input_player1_down_axis = “+1”
    input_player1_left_axis = “-0”
    input_player1_right_axis = “+0”
    input_player1_a_btn = “0”
    input_player1_x_btn = “2”
    input_player1_l_btn = “4”
    input_player1_r_btn = “5”
    input_player1_l2_axis = “+2”
    input_player1_r2_axis = “+5”
    input_player1_l3_btn = “9”
    input_player1_r3_btn = “10”
    input_player1_l_x_plus_btn = “12”
    input_player1_l_x_minus_btn = “11”
    input_player1_l_y_plus_btn = “14”
    input_player1_l_y_minus_btn = “13”
    input_player1_r_x_plus_axis = “+3”
    input_player1_r_x_minus_axis = “-3”
    input_player1_r_y_plus_axis = “+4”
    input_player1_r_y_minus_axis = “-4”
    input_enable_hotkey_btn = “8″
    input_exit_emulator_btn = “1″
    input_save_state_btn = “2″
    input_load_state_btn = “3″

    #25321
    murderousmincepie
    Participant

    Nevertheless I will also post my config here:

    system_directory = /home/pi/RetroPie/roms/../BIOS
    config_save_on_exit = false
    video_aspect_ratio = 1.33
    video_smooth = false
    video_threaded = true
    input_enable_hotkey = escape
    input_exit_emulator = escape
    rewind_enable = false
    rewind_buffer_size = 10
    rewind_granularity = 2
    input_rewind = r
    video_gpu_screenshot = true
    input_shader_next = m
    input_shader_prev = n
    video_shader_dir = /opt/retropie/emulators/RetroArch/shader/
    input_player1_a = x
    input_player1_b = z
    input_player1_y = a
    input_player1_x = s
    input_player1_start = enter
    input_player1_select = rshift
    input_player1_l = q
    input_player1_r = w
    input_player1_left = left
    input_player1_right = right
    input_player1_up = up
    input_player1_down = down
    input_autodetect_enable = true
    joypad_autoconfig_dir = /opt/retropie/emulators/RetroArch/configs/
    input_player1_joypad_index = “0”
    input_player1_b_btn = “1”
    input_player1_y_btn = “3”
    input_player1_select_btn = “6”
    input_player1_start_btn = “7”
    input_player1_up_btn = “13”
    input_player1_down_btn = “14”
    input_player1_left_btn = “11”
    input_player1_right_btn = “12”
    input_player1_a_btn = “0”
    input_player1_x_btn = “2”
    input_player1_l_btn = “4”
    input_player1_r_btn = “5”
    input_player1_l2_axis = “+2”
    input_player1_r2_axis = “+5”
    input_player1_l3_btn = “9”
    input_player1_r3_btn = “10”
    input_player1_l_x_plus_axis = “+0”
    input_player1_l_x_minus_axis = “-0”
    input_player1_l_y_plus_axis = “+1”
    input_player1_l_y_minus_axis = “-1”
    input_player1_r_x_plus_axis = “+3”
    input_player1_r_x_minus_axis = “-3”
    input_player1_r_y_plus_axis = “-4”
    input_player1_r_y_minus_axis = “-4”
    input_player1_joypad_index = “0”
    input_player1_b_btn = “1”
    input_player1_y_btn = “3”
    input_player1_select_btn = “6”
    input_player1_start_btn = “7”
    input_player1_up_axis = “-1”
    input_player1_down_axis = “+1”
    input_player1_left_axis = “-0”
    input_player1_right_axis = “+0”
    input_player1_a_btn = “0”
    input_player1_x_btn = “2”
    input_player1_l_btn = “4”
    input_player1_r_btn = “5”
    input_player1_l2_axis = “+2”
    input_player1_r2_axis = “+5”
    input_player1_l3_btn = “9”
    input_player1_r3_btn = “10”
    input_player1_l_x_plus_btn = “12”
    input_player1_l_x_minus_btn = “11”
    input_player1_l_y_plus_btn = “14”
    input_player1_l_y_minus_btn = “13”
    input_player1_r_x_plus_axis = “+3”
    input_player1_r_x_minus_axis = “-3”
    input_player1_r_y_plus_axis = “+4”
    input_player1_r_y_minus_axis = “-4”

    #25255
    murderousmincepie
    Participant

    Well there is something blindingly obvious in the retroarch.cfg file now that I’ve read through it again literally right at the top there are two lines saying:

    input_enable_hotkey = escape
    input_exit_emulator = escape

    If this is why I am having this issue then the sound of face-palming shall become a symphony heard from all the corners of the universe. I will try editing this line to see if this fixes it which it hopefully will.

    Xboxclassic
    Guest

    Quantico Wrote

    “Edit /opt/retropie/configs/all/retropie.cfg

    I can exit from Osmose with SELECT+START, after adding these lines in retropie.cfg

    input_enable_hotkey_btn = “8″
    input_exit_emulator_btn = “9″

    this works fine for RetroPie V2.1 But seems to have issues in RetroPie V2.2 +
    Which is why I use
    genesis_plus_gx_liberetto.so Core.
    And after doing this I have to admit Superior Graphics,Sound,Speed and Responsiveness over Osmoses.

    Quantico
    Guest

    Edit /opt/retropie/configs/all/retropie.cfg

    I can exit from Osmose with SELECT+START, after adding these lines in retropie.cfg

    input_enable_hotkey_btn = “8”
    input_exit_emulator_btn = “9”

    #24140
    Thomas
    Guest

    the name of my retrolink snes usb gamepad is “USB Gamepad ”

    /opt/retropie/emulators/RetroArch/configs

    input_device = “USB Gamepad ”
    input_driver = “udev”
    input_b_btn = “2”
    input_y_btn = “3”
    input_select_btn = “8”
    input_start_btn = “9”
    input_up_axis = “-1”
    input_down_axis = “+1”
    input_left_axis = “-0”
    input_right_axis = “+0”
    input_a_btn = “1”
    input_x_btn = “0”
    input_l_btn = “6”
    input_r_btn = “7”

    input_enable_hotkey_btn = “8”
    input_exit_emulator_btn = “9”
    input_menu_toggle_btn = “0”
    input_load_state_btn = “6”
    input_save_state_btn = “7”
    input_state_slot_increase_axis = “+0”
    input_state_slot_decrease_axis = “-0”
    input_reset_btn = “2”

    /home/pi/.emulationstation

    <?xml version=”1.0″?>
    <inputList>
    <inputConfig type=”joystick” deviceName=”USB HID v1.10 Joystick [USB Gamepad ]”>
    <input name=”a” type=”button” id=”1″ value=”1″ />
    <input name=”b” type=”button” id=”2″ value=”1″ />
    <input name=”down” type=”axis” id=”1″ value=”1″ />
    <input name=”left” type=”axis” id=”0″ value=”-1″ />
    <input name=”pagedown” type=”button” id=”5″ value=”1″ />
    <input name=”pageup” type=”button” id=”4″ value=”1″ />
    <input name=”right” type=”axis” id=”0″ value=”1″ />
    <input name=”select” type=”button” id=”8″ value=”1″ />
    <input name=”start” type=”button” id=”9″ value=”1″ />
    <input name=”up” type=”axis” id=”1″ value=”-1″ />
    </inputConfig>
    <inputConfig type=”joystick” deviceName=”USB Gamepad “>
    <input name=”a” type=”button” id=”1″ value=”1″ />
    <input name=”b” type=”button” id=”2″ value=”1″ />
    <input name=”down” type=”axis” id=”1″ value=”1″ />
    <input name=”left” type=”axis” id=”0″ value=”-1″ />
    <input name=”pagedown” type=”button” id=”5″ value=”1″ />
    <input name=”pageup” type=”button” id=”4″ value=”1″ />
    <input name=”right” type=”axis” id=”0″ value=”1″ />
    <input name=”select” type=”button” id=”8″ value=”1″ />
    <input name=”start” type=”button” id=”9″ value=”1″ />
    <input name=”up” type=”axis” id=”1″ value=”-1″ />
    </inputConfig>
    </inputList>

    does not work…

    but

    <inputConfig type=”joystick” deviceName=”Sony PLAYSTATION(R)3 Controller” deviceGUID=”030000004c0500006802000011010000″>
    <input name=”a” type=”button” id=”13″ value=”1″ />
    <input name=”b” type=”button” id=”14″ value=”1″ />
    <input name=”down” type=”button” id=”6″ value=”1″ />
    <input name=”left” type=”button” id=”7″ value=”1″ />
    <input name=”pagedown” type=”button” id=”11″ value=”1″ />
    <input name=”pageup” type=”button” id=”10″ value=”1″ />
    <input name=”right” type=”button” id=”5″ value=”1″ />
    <input name=”select” type=”button” id=”0″ value=”1″ />
    <input name=”start” type=”button” id=”3″ value=”1″ />
    <input name=”up” type=”button” id=”4″ value=”1″ />
    </inputConfig>

    this works with the ps3 usb controller…

    but i need the snes controller to work…

    hilfe…

    kkspike
    Participant

    Hi, so here is my situation:

    -Bought and soldered the GPIO SNES adaptor for Retropie
    -Installed from scratch the latest version of the Retropie SD image
    -Installed SNESdev from the setup program
    -Tested both controllers with jtest (the js0 and js1 joypads were inverted, I -switched them on the GPIO adapter and it works nicely, now)
    -Launched emulationstation and was able to configure both controllers just fin4
    -Launched a ROM and was able to play (both player 1 and player 2)
    -Now on to my problem:
    -While in a ROM (SNES or NES), I can use the ESC key to quit the emulator and be brought back to emulationstation.
    -While in a ROM (SNES or NES), I can use the button on the GPIO adapter to quit the emulator and be brought back to emulationstation.
    -I want to configure a button combo on my joystick that will do the same thing as ESC or (3x) button on GPIO.

    Where do I have to put the following lines?
    input_enable_hotkey_btn = “6”
    input_exit_emulator = “4”

    I have tried in /opt/retropie/emulators/RetroArch/configs/SNES-to-GamepadDevice.cfg but it did not work. There are so many .cfg files involved that I must admit I’m kind of lost.

    Everything else is working great (still have to tweak overclocking to resolve some sound issues in some games, but it’s ok)

    Thanks for the help!

    reaver63
    Participant

    After a lot of rage, and searching on the internet, i’m pretty close!
    All the controls were buggy (for example the button B was moving left & down my character)

    So here is the script, if somebody got the same problem one day

    But i got a really last small problem
    On all my games, some controls are reversed

    For example: the B button is for shoot in megaman X, in a normal case, it would be the X button, same for the dash, i’m dashing with X, in a normal case, it’s B

    Does somebody can help me to change theses controls or give me a link with a mapping plan for the controller?

    input_player1_joypad_index = "0"
    input_player1_a_btn = "0"
    input_player1_b_btn = "1"
    input_player1_x_btn = "2"
    input_player1_y_btn = "3"
    input_player1_l_btn = "4"
    input_player1_r_btn = "5"
    input_player1_l2_btn = "6"
    input_player1_r2_btn = "7"
    input_player1_l3_btn = "11"
    input_player1_r3_btn = "12"
    input_player1_start_btn = "9"
    input_player1_select_btn = "8"
    input_player1_left_btn = "h0left"
    input_player1_up_btn = "h0up"
    input_player1_right_btn = "h0right"
    input_player1_down_btn = "h0down"
    input_player1_l_x_plus_axis = "+0"
    input_player1_l_y_plus_axis = "+1"
    input_player1_l_x_minus_axis = "-0"
    input_player1_l_y_minus_axis = "-1"
    input_player1_r_x_plus_axis = "+2"
    input_player1_r_y_plus_axis = "+3"
    input_player1_r_x_minus_axis = "-2"
    input_player1_r_y_minus_axis = "-3"
    
    input_enable_hotkey_btn = "11"
    input_exit_emulator = "3"
    
    input_enable_hotkey_btn = "11"
    input_save_state = "0"
    
    input_enable_hotkey_btn = "11"
    input_load_state = "2"

    By the way, thank you really much for the help.

    octubrq
    Participant

    I added the following lines in retroarch.cfg
    input_enable_hotkey_btn = “8”
    input_volume_up_axis = “-1”
    input_volume_down_axis = “+1”

    but only works in console emulators . dont works in mame and pba? any solution for this emulators ? thanks

Viewing 35 results - 876 through 910 (of 1,077 total)