https://github.com/rennerdo30/remapper
tool to remap an evdev event to a different one
https://github.com/rennerdo30/remapper
button ds4drv dualshock dualshock4 evdev gamepad gaming keyboard linux mapping mouse python remapping sc-controller steam xbox
Last synced: about 1 month ago
JSON representation
tool to remap an evdev event to a different one
- Host: GitHub
- URL: https://github.com/rennerdo30/remapper
- Owner: rennerdo30
- License: gpl-3.0
- Created: 2020-07-13T14:03:28.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2020-07-29T08:25:36.000Z (almost 6 years ago)
- Last Synced: 2025-01-10T07:51:06.586Z (over 1 year ago)
- Topics: button, ds4drv, dualshock, dualshock4, evdev, gamepad, gaming, keyboard, linux, mapping, mouse, python, remapping, sc-controller, steam, xbox
- Language: Python
- Homepage:
- Size: 185 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Remapper
[](https://github.com/rennerdo30/remapper/actions/workflows/main.yml)
[](LICENSE)
Cross-platform input remapping tool written in Rust.
Remapper lets you map input events from physical devices (keyboard, mouse, gamepad) to virtual output devices, with support for simple remaps, macros, combos, and tap/hold behavior.
## Features
- Simple 1:1 remapping
- Macro sequences
- Tap/hold conditional mappings
- Combo/chord mappings
- CLI workflow for creating and running profiles
- GUI built with `iced`
- JSON configuration with migration support
## Installation
### Build from source
```bash
git clone https://github.com/rennerdo30/remapper.git
cd remapper
cargo build --release
```
The binary will be at `target/release/remapper`.
### Linux runtime requirements
- `libudev`
- access to `/dev/input/*`
- access to `/dev/uinput`
Optional udev rules are provided in `udev/99-remapper.rules`.
## Quick Start
```bash
# List available devices
remapper list devices
# Create a profile interactively
remapper create
# Run all enabled profiles
remapper run
# Launch GUI
remapper gui
```
See all commands:
```bash
remapper --help
```
## Configuration
User configuration is stored in:
- `~/.config/remapper/config.json`
Example fixtures are available in `tests/fixtures/`.
## Development
```bash
# Typecheck and compile
cargo check
# Run tests
cargo test
```
GitHub Actions runs CI on pushes and pull requests.
## Project Docs
- Contributing guide: [CONTRIBUTING.md](CONTRIBUTING.md)
- Code of conduct: [CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md)
- Security policy: [SECURITY.md](SECURITY.md)
- Support: [SUPPORT.md](SUPPORT.md)
- Changelog: [CHANGELOG.md](CHANGELOG.md)
- Architecture: [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md)
- Releasing: [docs/RELEASING.md](docs/RELEASING.md)
## License
Licensed under GPL-3.0. See [LICENSE](LICENSE).