JoyShockMapper
github.com
What it is
JoyShockMapper maps game controller input to keyboard, mouse, or virtual controller events for PC games. It supports gyro controls and flick stick for aiming and turning. Buttons can map to keyboard or mouse inputs with tap-and-hold, chorded, and simultaneous-press options; stick modes can control the mouse or trigger keys, including scroll-wheel and flick-stick modes. The project describes support for DualSense, DualShock 4, paired JoyCons, and Nintendo Switch Pro Controller. It loads commands from text configuration files, and its download includes example gyro configurations. JoyShockMapper is free, with a Windows release and Linux builds available from source. Development primarily targets Windows, and Linux builds may not always work. Linux use requires read and write access to /dev/uinput and the relevant /dev/hidraw device; focused-window detection works only on X11. Virtual Xbox or DS4 output requires separate ViGEm bus software. The releases page lists v3.6.1 as the latest release.
Spec sheet
- What it does
- JoyShockMapper converts controller input into keyboard, mouse, and virtual-controller events for PC games.Read 15 Oct 2026 · github.com
- Purpose
- JoyShockMapper maps game controller input to keyboard, mouse, or virtual controller events for playing PC games.Read 30 Sep 2026 · github.com
- Support
- The project directs users with problems to its troubleshooting and known-issues documentation, the GyroGaming subreddit, and an affiliated Discord server.Read 30 Sep 2026 · github.com
- License
- The repository is released under the MIT License with an as-is warranty disclaimer.Read 15 Oct 2026 · github.com
- Additional software
- Using virtual controller output requires installing the latest ViGEm bus release linked by the project.Read 30 Sep 2026 · github.com
- Analog triggers
- Analog triggers can have separate soft-pull and full-pull bindings; digital-trigger controllers cannot use this feature.Read 15 Oct 2026 · github.com
- Binding modifiers
- The command system includes tap-and-hold, simultaneous, chorded, diagonal, double-press, and gyro-button bindings.Read 15 Oct 2026 · github.com
- Bluetooth limitation
- The documentation says some Bluetooth adapters introduce lag with JoyCons or Pro Controllers, especially when multiple devices are connected.Read 15 Oct 2026 · github.com
- Button mapping
- Controller buttons can be mapped to keyboard or mouse inputs, with options including tap and hold, chorded press, and simultaneous press.Read 30 Sep 2026 · github.com
- Changelog development
- The changelog lists a 3.6.2 entry covering SDL3 migration, reconnect scripts, adaptive-trigger fixes, Linux FIFO command listening, and diagonal-handling improvements.Read 15 Oct 2026 · raw.githubusercontent.com
- Configuration
- It can load commands from text configuration files, and its download includes example gyro configuration files.Read 30 Sep 2026 · github.com
- Configuration model
- Users configure the program through text files and console commands, with sample files in the GyroConfigs directory.Read 15 Oct 2026 · github.com
- Controllers
- The project describes support for DualSense, DualShock 4, JoyCons used in pairs, and Nintendo Switch Pro Controller.Read 30 Sep 2026 · github.com
- Developer language and build
- The application is C++ and uses CMake, with platform-specific source directories.Read 15 Oct 2026 · github.com
- Developer reference
- The repository describes older versions as reference implementations for reading controller input with JoyShockLibrary.Read 15 Oct 2026 · github.com
- Digital bindings
- Buttons and stick directions can be mapped to keyboard keys, mouse buttons, scrolling, volume, and media controls.Read 15 Oct 2026 · github.com
- Documentation depth
- The README contains command references, calibration procedures, configuration-file behavior, troubleshooting, and known issues.Read 15 Oct 2026 · github.com
- Flick stick
- The right stick supports a flick-stick mode for rapid horizontal camera turns.Read 15 Oct 2026 · github.com
- Flick-stick origin
- Wikipedia credits Julian Smart with designing flick stick in 2018 and says JoyShockMapper first implemented it publicly in early 2019.Read 15 Oct 2026 · en.wikipedia.org
- Gyro aiming
- Gyroscope movement can control the mouse for precision aiming.Read 15 Oct 2026 · github.com
- Gyro and flick stick
- It supports gyro controls and flick stick for aiming and turning in PC games.Read 30 Sep 2026 · github.com
- Independent directory description
- SaaSHub describes the project as customizable, advanced, actively developed, and compatible with multiple controllers.Read 15 Oct 2026 · saashub.com
- Independent project listing
- LibHunt lists JoyShockMapper as a C++ project for DualShock 4, JoyCon, and Pro Controller gyro aiming and flick stick.Read 15 Oct 2026 · libhunt.com
- Latest release
- Release v3.6.1 dated February 20 lists fixes for simultaneous-press crashes, command-action crashes, overlapping presses, and scroll-wheel stick mode.Read 15 Oct 2026 · github.com
- Limit: anti-cheat incompatibility
- A Reddit report says Valorant's anti-cheat blocks JoyShockMapper virtual mouse input, preventing use there.Read 15 Oct 2026 · reddit.com
- Limit: missing flick-speed option
- Reddit feedback cites the lack of a slower-or-faster rotation control while holding flick stick.Read 15 Oct 2026 · reddit.com
- Limit: no graphical interface
- Reddit users repeatedly identify the lack of a GUI as a usability drawback because configurations are written in text files.Read 15 Oct 2026 · reddit.com
- Limit: setup complexity
- Users report that learning commands and calibration requires reading the GitHub documentation and can be difficult initially.Read 15 Oct 2026 · reddit.com
- Linux device permissions
- Linux operation needs read/write access to /dev/uinput and the relevant /dev/hidraw device.Read 15 Oct 2026 · github.com
- Linux display support
- The Linux application works on X11 and Wayland, but focused-window detection works only on X11.Read 15 Oct 2026 · github.com
- Linux limitation
- The maintainers warn that Linux builds may occasionally fail because development is Windows-led and Linux maintainer coverage is limited.Read 15 Oct 2026 · github.com
- Linux requirements
- Linux builds require Clang, GTK3, libappindicator3, libevdev, libusb, SDL2, and hidapi development packages.Read 15 Oct 2026 · github.com
- Maintainer transition
- The README credits Nicolas Lessard as the version-3 development lead and says the project is now his.Read 15 Oct 2026 · github.com
- Maker background
- Jibb Smart's site says JoyShockMapper is an open-source remapper originally created by him and now led by Electronicks.Read 15 Oct 2026 · karboom.net
- Modeshifts
- Configurations can change dynamically according to pressed buttons through modeshifts.Read 15 Oct 2026 · github.com
- Platform support
- JoyShockMapper is primarily developed for Windows and can be built for Linux, though the project notes Linux builds may not always work because of rapid development and limited Linux maintainers.Read 30 Sep 2026 · github.com
- Praise: broad game coverage
- A Reddit user described it as system-wide and usable with games launched outside Steam, including automatic configuration loading.Read 15 Oct 2026 · reddit.com
- Praise: gyro precision
- A Reddit user reported markedly higher precision and comfortable tracking of small moving targets compared with their Steam Input setup.Read 15 Oct 2026 · reddit.com
- Praise: stability and customization
- A Reddit user praised stable gyro behavior, low apparent latency, and configurable minimum and maximum sensitivity thresholds.Read 15 Oct 2026 · reddit.com
- Release
- The releases page lists JoyShockMapper v3.6.1 as the latest release.Read 30 Sep 2026 · github.com
- SDK/library
- JoyShockLibrary is a separate C++ library for reading DualSense, DualShock 4, JoyCon, and Pro Controller input.Read 15 Oct 2026 · github.com
- SDL integration
- Current controller support uses SDL2, with releases updating the bundled SDL version.Read 15 Oct 2026 · github.com
- Stick modes
- Sticks can control the mouse or trigger key presses in modes including flick stick and scroll wheel.Read 30 Sep 2026 · github.com
- Supported controllers
- The project documents support for DualSense, DualShock 4, paired JoyCons, and Nintendo Switch Pro Controllers.Read 15 Oct 2026 · github.com
- Touchpad support
- The documentation includes PlayStation touch and touch-stick inputs.Read 15 Oct 2026 · github.com
- Virtual controllers
- JoyShockMapper can create virtual Xbox and DS4 controllers through Nefarius ViGEmBus.Read 15 Oct 2026 · github.com
Plans and prices
Strong points and limits
Strong points
- Supports gyro controls and flick stick.
- Maps buttons to keyboard or mouse inputs.
- Supports four listed controller types.
- Free Windows release; Linux can be built from source.
Limits
- Linux builds may not always work.
- Linux requires access to /dev/uinput and /dev/hidraw.
- Focused-window detection works only on X11.
- Virtual controller output requires separate ViGEm bus software.
Who it suits
JoyShockMapper suits PC players who want to map supported controllers to keyboard, mouse, or virtual-controller inputs. Linux users need to be comfortable with the listed device permissions and X11 limitation.
Verdict
JoyShockMapper offers detailed input mapping, including gyro and virtual-controller output. Its Windows focus and Linux requirements are important platform considerations.
Where Specifiction places it
- Controller Mapping Software#3 of 298.5
- Game Controller Mapper Software#5 of 278.5