A crossplatform mapper from gamepad inputs to keyboard and mouse actions, with special care for good gyro controls. Useful to play games and control a computer from the couch.
- Translation of gamepad buttons, sticks, 3D movement and more into keyboard and mouse actions
- Control the mouse in 3D and 2D apps by physically moving the controller (The gyro is a mouse). Only on compatible hardware including PS4/5, Switch and Steam controllers.
- Advanced input mapping including tap, hold, double click, layers and more
- Multiple stick modes including Flick Stick, mouse ring, scroll wheel and more
- Crossplatform support of Windows, Linux and macOS.
- Planned: configuration in a GUI in addition of the text files
- Planned: 3D render of the controller with its orientation in a window
- Download the latest release at https://github.com/Yamakaky/gyromouse/releases ;
- Create a
default.txt
file in the same directory asgyromouse
. Possible content is described below. You can start with one of the examples at https://github.com/Yamakaky/gyromouse/tree/master/mappings ; - Run
gyromouse
, either by double click (Windows) or in a terminal (Linux, macOS). This will run the input mapper using the configuration indefault.txt
.
No special setup are needed. When launching, you may need to allow the app in Defender Smartscreen or in your antivirus.
gyromouse
needs access rights to the controller device in /dev
to access every features, the gyroscope in particular. If you don't see Starting calibration, don't move the controller...
in the console when pluging in the controller, try doing one of the following:
- Install udev rules from steam, for example
usr/lib/udev/rules.d/70-steam-input.rules
from the Steam package in Archlinux, if a similar file is not installed by your distro; - Put your user in the
input
group and reboot (usermod -a -G input <myuser>
); - Give yourself access to the raw hid devices
chmod 666 /dev/hidraw*
(temporary, lasts until next reboot)); - Run
gyromouse
as root usingsudo
(last resort, not recommended).
TODO
gyromouse
uses the same configuration format as JoyShockMapper. See here for every command parsed by gyromouse
, and https://github.com/Yamakaky/gyromouse/issues for missing or partial features. Some of them are unimplemented and show a warning when used. Implemented features:
- Digital inputs
- Most controller inputs
- Most simple keys (letters, enter, space...)
- Tap, hold, simultaneous, double and chorded press
- Modifiers
- Advanced triggers
- Sticks
- AIM, FLICK, FLICK_ONLY, ROTATE_ONLY, NO_MOUSE
- MOUSE_RING, MOUSE_AREA, SCROLL_WHEEL
- Ring only for NO_MOUSE
- Gyro
- Most settings
- Local, world and player space
- Basic sensor fusion only
- Calibration on connection only