Skip to content

Latest commit

 

History

History
94 lines (63 loc) · 1.97 KB

File metadata and controls

94 lines (63 loc) · 1.97 KB

Remapper

CI License: GPL-3.0

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

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

# 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:

remapper --help

Configuration

User configuration is stored in:

  • ~/.config/remapper/config.json

Example fixtures are available in tests/fixtures/.

Development

# Typecheck and compile
cargo check

# Run tests
cargo test

GitHub Actions runs CI on pushes and pull requests.

Project Docs

License

Licensed under GPL-3.0. See LICENSE.