Skip to content

rennerdo30/remapper

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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.

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •