Remap any key for left-handed gaming. Low latency, native Rust engine.
- WASD → IJKL (or arrows, numpad) for left-hand movement
- Map any key to any other:
I→W,Q→U,Caps→Ctrl,Win→Disabled— or combos likeI→Ctrl+S - Mouse side buttons as sources:
MOUSE_X1→R, capturable with a click - Profiles you can create, rename, duplicate, reorder and delete (Lucide icons, tabbed editor)
- Games list per profile: auto-switches and works only in your games (empty = manual)
- Game recommendations: browse installed Steam/Epic games with covers, or capture the app in focus
- Pause individual mappings without deleting them
- Add-mapping validation: duplicate sources and self-maps are blocked inline
- Live key tester: see what the game receives before saving
- Accent Color themes: 10 presets + custom picker, per-profile override, high-contrast mode (Settings → Appearance)
- Share profiles with compact codes (
⋯ → Share), review before importing, automatic backups - Interface sounds: distinct chimes for activate vs pause (Settings → General)
- Gaming focus: Sticky/Filter key popups stay silent while active
- Tray menu: switch profiles and pause/resume without opening the window
- Launch options: autostart, start minimized, start active
- Update checker with in-app download + guided tour included
- Tabbed Settings: General, Appearance, Input, Profiles, About
- Works in any game (low-level hook)
- Very low latency native Rust engine (verify live in Settings → About)
- Clean dark UI
| Add mapping | Delete mapping |
|---|---|
![]() |
![]() |
| General | Appearance |
|---|---|
![]() |
![]() |
| Input | Profiles |
|---|---|
![]() |
![]() |
Download the latest installer from Releases (Lefty_*_x64-setup.exe).
Run as Administrator for games that run elevated.
| Profile | Mapping |
|---|---|
| Left-handed IJKL | I→W, J→A, K→S, L→D + mirrored cluster |
| Arrow Keys | ↑→W, ←→A, ↓→S, →→D + cluster |
| Numpad 8456 | 8→W, 4→A, 5→S, 6→D + digits |
| OKL; Mirror | O→W, K→A, L→S, ;→D + mirror |
Create your own with + (rename, icon, accent and games from tabs, reorder from ⋯).
- Pick a profile on the left
- Add or Capture a mapping (
I→W) - Activate
- Play (activate before launching the game)
- Pause to restore,
F6to toggle, close to tray - Share via
⋯ → Shareon any profile, import by pasting the code in Settings → Profiles
| Method | Latency |
|---|---|
| Registry | 0ms (reboot, not dynamic) |
| Lefty | low latency* |
| AutoHotkey | 5-15ms |
*Verify it yourself live in the app: Settings → About → Engine latency.
Lefty/
├── engine_native/ # Rust engine (hook + SendInput + telemetry)
├── tauri-app/ # Tauri v2 + React UI
├── assets/ # banner + screenshots
└── dist/ # local test binaries (gitignored, see Releases)
- Not working in game: Run as Admin. Some anti-cheats block hooks → use Interception.
- Stuck key: Pause and resume.
- High delay: Close other hooks (AutoHotkey).
Questions, layouts to share, bug reports:
- Remapping architecture inspired by Microsoft PowerToys Keyboard Manager (low-level hook +
SendInputdesign, Task Scheduler autostart pattern) — reimplemented from scratch in Rust with a zero-GC hot path, batched injection and live latency telemetry for lower, measurable latency.
MIT — Made for left-handed gamers.








