Skip to content

TouchpadNX 0.3.2

Experimental Nintendo Switch homebrew. TouchpadNX turns a configurable region of the Switch touchscreen into right-stick input for games running on the console.

English · Русский

Warning

TouchpadNX is an experimental Atmosphère HID MITM sysmodule. It changes the controller data seen by games and has only received partial hardware testing. Read the compatibility notes and known limitations before installing it.

Why this exists

I wanted Steam Deck-style touchpad aiming in a controller-and-tablet setup, but my Honor MagicPad and the controllers that can hold it are too large. I do not own a Steam Controller. After a friend bought a handheld PC, I wondered whether the same basic idea could work on my Switch OLED: the Joy-Cons are compact, and the touchscreen is in a comfortable position for finger movement.

TouchpadNX translates touchscreen gestures into the selected controller's right-stick HID state. It does not register a second virtual controller. In theory, it can work with any game that uses the right stick, although each game's own deadzone, sensitivity, acceleration and camera limits still affect the result.

Demo

TouchpadNX running on a Switch OLED

Recorded on a Switch OLED in S.T.A.L.K.E.R.: Shadow of Chornobyl. The green rectangle is the configured touchpad zone; the in-game camera follows the finger movement. Download the higher-quality MP4.

Features

  • Trackpad mode: finger velocity produces a temporary right-stick deflection; stopping or lifting centers the stick.
  • Virtual Stick mode: the initial touch becomes the center of a mobile-style joystick.
  • Configurable zone position, width and height.
  • Separate X/Y sensitivity, acceleration, smoothing and movement threshold.
  • Adjustable multiplier while holding ZL for aiming.
  • Adjustable Virtual Stick radius and optional Y-axis inversion.
  • Short tap mapped to R3.
  • Physical right-stick priority.
  • Handheld and Player 1 controller targets.
  • Optional suppression of captured touch events from the game.
  • Rounded on-screen zone indicator with 0–100% opacity and eight colors.
  • Per-game and default profiles.
  • English and Russian interface with a built-in guide; English is the default.
  • Hold L + R + Minus for 0.8 seconds to toggle the touchpad.

Compatibility

Console HOS Atmosphère Game Result
Switch OLED 22.5.0 1.11.2 S.T.A.L.K.E.R.: Shadow of Chornobyl Boot, HID connection, Trackpad, Virtual Stick and HUD confirmed across earlier builds. TouchpadNX 0.3.2 language/profile filesystem fix still needs a device retest.
Standard Switch Not tested Not tested Not tested Testers wanted
Switch Lite Not tested Not tested Not tested Testers wanted

Please report additional results through the hardware test issue template. Include the console model, HOS and Atmosphère versions, game, controller target, other installed overlays or input sysmodules, and the exact result.

Requirements

  • A Nintendo Switch capable of running Atmosphère homebrew.
  • Atmosphère.
  • An .ovl-compatible overlay loader. Ultrahand Overlay 2.5.3 with nx-ovlloader 2.0.2 is the currently tested setup.
  • Touchscreen access, so gameplay use is intended for handheld mode.

Installation

  1. Download TouchpadNX-0.3.2-experimental.zip from the Releases page.

  2. Open the archive and copy the contents of its sdcard folder to the root of the Switch microSD card. Merge folders and replace the older TouchpadNX files if prompted.

  3. Confirm that these paths exist:

    atmosphere/contents/00FF54504E580001/exefs.nsp
    atmosphere/contents/00FF54504E580001/mitm.lst
    atmosphere/contents/00FF54504E580001/flags/boot2.flag
    switch/.overlays/TouchpadNX.ovl
    switch/TouchpadNX/TouchpadNX-Diagnostic.nro
    
  4. Reboot the console into Atmosphère.

  5. Start a game, open Ultrahand/Tesla and select TouchpadNX.

  6. Check that Connection says Game connected, enable Touchpad, select a mode and configure the zone.

  7. To change the interface language, select Language. When Saved · press B appears, press B and reopen TouchpadNX.

exefs.nsp is an Atmosphère sysmodule file in this package. Do not install it as a game through DBI or another title installer.

Known limitations

  • Only the OLED model and the setup in the compatibility table have been tested so far.
  • The revised Trackpad smoothing still needs broader tuning and physical latency measurements.
  • Coexistence with other HID interception sysmodules, input remappers and overlays has not been tested.
  • The visible zone uses the current overlay slot. Opening Ultrahand closes the zone; launch it again from TouchpadNX after leaving the menu.
  • HOME transitions, sleep/wake, controller reassignment, gyro, vibration and detached Joy-Con configurations need more device testing.
  • The selected game still applies its own right-stick response curve and turn-speed limit. TouchpadNX is not direct mouse input.
  • Multi-finger actions and double-tap bindings are not implemented.
  • Touch gestures are global. With touch consumption enabled, another simultaneous gesture can be suppressed conservatively.

Troubleshooting and removal

If TouchpadNX reports Module unavailable, reboot into Atmosphère and verify the sysmodule paths above.

If the console stops booting normally after installation, power it off, connect the microSD to a computer, and move atmosphere/contents/00FF54504E580001 out of atmosphere/contents. This disables only TouchpadNX. To remove the remaining files, delete switch/.overlays/TouchpadNX.ovl, switch/TouchpadNX/ and config/TouchpadNX/.

Game save data is not modified.

Building and verification

The repository contains the sysmodule, overlay, standalone touchscreen diagnostic, host tests and reproducible packaging scripts. Pinned upstream revisions and toolchain package hashes are recorded in dependencies.lock.json.

See development notes, hardware test checklist, third-party notices and contribution guide.

The current host suites pass 59 gesture-engine checks and 5,497 ring-history assertions. Successful host tests and ARM64 linking do not replace real-device testing.

AI disclosure

TouchpadNX was developed with substantial assistance from OpenAI Codex. The project idea, intended behavior, hardware testing, failure reports and iteration decisions came from the project owner, while much of the implementation and documentation was produced with AI assistance. This is disclosed so reviewers and users can make an informed decision. Independent source review and hardware testing are especially welcome.

License

TouchpadNX is licensed under GPL-2.0-only. See LICENSE and THIRD_PARTY.md.

About

Use part of the Nintendo Switch touchscreen as configurable right-stick input.

Topics

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages