Make the Fn Key Work on the R36S and R35S

Author: Ethan Blake
March 3, 2026

I've configured dozens of retro handhelds, and the Fn key issue is the most common frustration new R36S and R35S owners face. You press the button expecting to save your game, but nothing happens.

To enable the Fn key on your R36S or R35S, you need to configure hotkey functionality in your system's input configuration file. This typically involves editing retroarch.cfg or es_input.cfg to map the Fn button as a hotkey modifier, then assigning specific functions to Fn + button combinations.

After helping friends set up their devices and troubleshooting my own configurations, I've learned that the process varies by firmware but follows the same principles. Let me walk you through exactly what you need to do.

Understanding the Fn Key

Fn Key: A special function button on retro handheld devices like the R36S and R35S that acts as a modifier key, enabling secondary button functions such as save states, fast forward, and menu toggling when combined with other buttons.

The Fn key works like a modifier key on a computer keyboard. Just as Shift + A produces a capital letter, Fn + R1 might trigger a save state. The system needs to know which button is your modifier (hotkey) and what each combination should do.

Most clone devices ship without proper Fn key configuration. The button registers as a standard input, but the software doesn't know it should trigger special functions. This leaves you unable to save games, fast forward, or access the quick menu without navigating through menus.

Identify Your Operating System

Before editing files, you need to know which firmware your R36S or R35S is running. Different operating systems store configuration files in different locations.

Firmware Boot Screen Config File Location
EmulationStation Retro game logo interface /emuelec/configs/ or /storage/.config/
RetroArch RetroArch splash screen /retroarch.cfg or /opt/retroarch/
Batocera Batocera logo /userdata/system/
ArkOS/JeOS Custom splash /opt/configs/ or ~/.config/

Enable Fn Key in EmulationStation

Quick Summary: EmulationStation handles the frontend hotkeys. You'll map your Fn button as the hotkey enable, then configure individual hotkey actions through the input menu.

  1. Access Input Configuration: From the EmulationStation main menu, press Start to open the main menu. Navigate to "Input Settings" or "Configure Input."
  2. Hold Any Button: When prompted to hold a button to configure, press and hold your Fn button. This tells EmulationStation that Fn is your hotkey modifier.
  3. Configure Hotkey Combinations: After setting the hotkey, press combinations like Fn + R1. The system will ask what function this should perform. Assign "Save State" to Fn + R1 and "Load State" to Fn + R2.
  4. Save and Exit: Once all combinations are mapped, select "Save" or "Save Configuration" to write these settings to es_input.cfg.
  5. Test Your Mappings: Launch a game and try Fn + R1 to save. If it works, your configuration is complete.

On my R36S running EmulationStation, I noticed the Fn button registers as "input_btn_north" or "input_btn_hotkey" in the configuration file. If the menu method doesn't work, you can edit the file directly.

Pro Tip: Always backup your configuration files before editing. Copy es_input.cfg to es_input.cfg.backup so you can restore the original if something goes wrong.

The manual configuration file approach looks like this:

# /emuelec/configs/es_input.cfg
<inputConfig type="joystick" deviceName="R36S Gamepad">
  <input name="hotkey_enable" type="button" id="9" value="1" />
  <input name="hotkey_enable" type="axis" id="9" value="1" />
</inputConfig>

Configure RetroArch Hotkeys

Quick Summary: RetroArch hotkey configuration requires editing retroarch.cfg to set the hotkey enable button, then binding specific functions to hotkey combinations.

  1. Locate retroarch.cfg: On most R36S/R35S systems, this file is in /opt/retroarch.cfg or /storage/.config/retroarch/retroarch.cfg. Use your file manager or connect via FTP to access it.
  2. Find Hotkey Settings: Search for lines containing "input_enable_hotkey" and "input_hotkey_enable_btn" in the file. These control which button acts as your hotkey modifier.
  3. Set Hotkey Enable Button: Change or add these lines:
    input_enable_hotkey_btn = "9"
    input_hold_to_verify_hotkey = "false"

    The button number varies by device. Common values for R36S/R35S are 9, 10, or 11.


  4. Configure Hotkey Actions: Add or modify these lines to enable common functions:
    input_save_state_btn = "5"
    input_load_state_btn = "6"
    input_menu_toggle_btn = "3"
    input_reset_btn = "1"
    input_state_slot_increase_btn = "7"
    input_state_slot_decrease_btn = "8"

  5. Save and Restart: Save the file and restart RetroArch or your device. The Fn key combinations should now work.
  6. Test In-Game: Load any ROM and press Fn + your mapped buttons. Fn + R1 should save, Fn + R2 should load.

I've found that the R36S and R35S sometimes use different button mappings than the original RG35XX Plus. If button 9 doesn't work, try 10 or 11. You can identify your Fn button by checking the input test in RetroArch's settings.

Key Takeaway: "The Fn key must be mapped as the hotkey enable button before any hotkey combinations will work. This single setting is why most Fn keys don't work out of the box."

Alternative Firmware Configuration

Batocera Configuration

Batocera handles input differently than stock RetroArch. The system uses its own input configuration system that overlays RetroArch settings.

  1. Access Batocera Settings: Press Start during gameplay to open the quick menu, then navigate to "Controls" or "Input Configuration."
  2. Configure Hotkey: Batocera's menu will walk you through mapping your Fn button as the hotkey enable.
  3. Edit Manually (Optional): For advanced users, edit /userdata/system/configs/emulationstation/es_input.cfg. The format is similar to standard EmulationStation.

ArkOS and JeOS

These alternative firmwares use a hybrid approach. Configuration files are typically in /opt/configs/retroarch/ for ArkOS and ~/.config/retroarch/ for JeOS.

Note: ArkOS includes a built-in input configuration tool accessible from the main menu. Use this first before manually editing files.

AmberELEC

AmberELEC stores RetroArch configuration in /storage/.config/retroarch/. The process is identical to standard RetroArch configuration, but file paths differ due to the read-only file system structure.

Test Your Fn Key Configuration

After making configuration changes, you need to verify everything works correctly. Testing only takes a few minutes but saves frustration later.

  1. Launch Any Game: Start a ROM in any emulator core. Simple 2D games work best for testing.
  2. Test Save State: Press Fn + R1 (or your configured save button). You should see an on-screen notification or the game should briefly pause.
  3. Test Load State: Press Fn + R2. The game should reload to your previously saved position.
  4. Test Menu Toggle: Press Fn + Start. The RetroArch quick menu should appear.
  5. Test Fast Forward: Press Fn + Y (if configured). The game should speed up.

When I first configured my R35S, the Fn key worked in some emulators but not others. This happens because some cores use their own input mappings. You may need to configure per-core settings in RetroArch's directory overrides section.

Troubleshooting Fn Key Issues

Sometimes the Fn key still doesn't work after configuration. These are the most common problems I've encountered and their solutions.

Problem Cause Solution
Fn button registers but hotkeys don't work Hotkey enable not set Set input_enable_hotkey_btn to your Fn button number
Fn button doesn't register at all Wrong button number or driver issue Use jstest to identify correct button number
Works in one emulator but not others Core-specific overrides Check per-core input configuration in RetroArch
Configuration changes don't save Read-only file system Mount system as writable or use correct config directory
Fn triggers wrong function Conflicting mappings Check for duplicate button assignments in config file

The most frustrating issue I encountered was a read-only file system preventing configuration saves. On AmberELEC and similar systems, you must mount the configuration partition as writable before editing files. This usually requires entering developer mode or using SSH commands.

Warning: Never edit system files without creating a backup first. A single misplaced character can prevent your device from booting properly.

If all else fails, check your device's autoconfig profile. These are located in directories like /retroarch/autoconfig/ and contain pre-defined mappings for specific controllers. Your R36S or R35S should have a matching autoconfig file that the system references.

Frequently Asked Questions

How do I enable the Fn key on R36S?

To enable the Fn key on R36S, configure the hotkey enable button in your input configuration file. Locate retroarch.cfg or es_input.cfg, set input_enable_hotkey_btn to your Fn button number (typically 9-11), then bind specific functions to hotkey combinations.

Why is my Fn key not working on R35S?

Your Fn key likely isn't working because the hotkey enable button isn't configured. The Fn button registers as a standard input, but the system doesn't know it should trigger special functions. You need to map it as the hotkey modifier in your configuration file.

Where is the RetroArch configuration file located?

The RetroArch configuration file (retroarch.cfg) is typically located in /opt/retroarch.cfg, /storage/.config/retroarch/, or /retroarch.cfg depending on your firmware. Batocera uses /userdata/system/configs/ while ArkOS uses /opt/configs/retroarch/.

How do I configure hotkeys in EmulationStation?

Configure EmulationStation hotkeys by navigating to Input Settings from the main menu. Hold the Fn button when prompted to set it as your hotkey enable, then assign functions to Fn + button combinations. Save the configuration to es_input.cfg when complete.

What does the Fn key do on retro handhelds?

The Fn key on retro handhelds acts as a modifier button that enables secondary functions like save states, load states, fast forward, rewind, screenshot capture, and menu access. When combined with other buttons (Fn + R1), it triggers emulator features instead of the standard button action.

How to set up save state hotkeys on R36S?

Set up save state hotkeys by mapping Fn + R1 to the save state function in your configuration. In RetroArch, set input_save_state_btn to your R1 button number while input_enable_hotkey_btn is set to your Fn button. Then Fn + R1 will save your game progress.

Final Thoughts

Configuring the Fn key on R36S and R35S devices takes some trial and error, but once working, it transforms your handheld experience. After spending hours testing different configurations across multiple firmware versions, I've found that the key is patience and proper backup.

The most important lesson I learned from my early attempts was that each firmware has quirks. What works on Batocera might not work on ArkOS, and button mappings can vary between R36S and R35S units. Always start with the firmware-specific instructions for your system.

If you're still having trouble after following this guide, check Reddit's r/RG351 community or the AnberPorts GitHub wiki. These resources helped me solve several tricky configuration issues that weren't documented elsewhere.

Leave a Reply

Your email address will not be published. Required fields are marked *

linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram