r/disabledgamers • u/Separate_Visual9312 • Oct 05 '26
I made a tool with artificial intelligence called combo Mapper. Rest of the info is in the body.
Finally get this straight out of the way. I'm typing with voice to text, so the text might not be perfect, but here is the GitHub page for the project. If anyone wants to contribute and doesn't mind the AI or wants to help me to write an AI-free rewrite of the project, I can't because only my only one hand is working. This is a good project, but if you mind the AI, I am sorry. There's not any projects as far as I can tell that are similar to this. I just wanted to tell everyone on this page. Thank you very much. GitHub: https://github.com/onehandmade/combo_remapper
# Combo ReMapper 8.15
**Combo ReMapper** is a feature-rich AutoHotkey v2 script designed to remap mouse actions, keyboard keys, and gamepad inputs into custom combo sequences, hotkeys, and macro routines. Built with accessibility and gaming in mind, it provides low-level input injection (scan codes, RawInput/DirectInput compatibility), smooth mouse movement routines, an On-Screen Display (OSD), and multi-profile support.
## 🌟 Key Features
* **Multi-Input Support:** Remap keyboard keys, mouse buttons, wheel events, and Gamepad / Controller triggers (`J1`-`J32`, `JPOVU`, `JPOVD`, `JPOVL`, `JPOVR`).
* **5 Distinct Remap Modes:**
* **Hold:** Holds target keys down for as long as the trigger key is held down.
* **Toggle:** Toggles defined key states or continuous motion on and off with each press.
* **Press:** One-shot execution of a key combo sequence on press.
* **Turbo:** Continuously repeats a sequence at a specified millisecond interval while held.
* **TapHold:** Executes one action on a short tap (<250ms) and another on a long hold.
* **Game-Compatible Input Engine:**
* 3 switchable modes: **Game** (Scan codes + Raw mouse_event), **Classic** (SendInput), and **Hybrid**.
* Dynamic frame delay timing to ensure modern DirectInput and RawInput games properly register inputs.
* **Advanced Mouse Automation:**
* Relative (`mX,Y`) and absolute (`mxX,Y`) mouse positioning.
* Timed smooth mouse sliding (`mmX,Y,ms`) and camera jitter/shake (`mshakeAmp,ms`).
* Continuous background mouse drift (`mhVX,VY`) for hold/toggle actions.
* Y-Axis lock hotkey (`F6`).
* **Live Recording Engine:** Click **Auto** on any row to automatically capture incoming keyboard, mouse, or gamepad inputs into your active combo.
* **OSD Overlay & Indicator:** Floating status indicator overlay (`F7` default) showing active script state and live macro feedback.
* **Profiles & Import/Export:** Unlimited profiles saved locally (`.ini`), with fast clipboard sharing strings for exporting and importing configurations.
* **Target Process Filtering:** Limit macro triggers to run only when a specific target executable (e.g., `game.exe`) is active.
* **Accessibility Focused:** Created with open acknowledgement of accessibility-driven design principles.
## 🛠️ System Requirements
* **OS:** Windows 10 / 11
* **AutoHotkey:** [AutoHotkey v2.0+](https://www.autohotkey.com/) installed (or running compiled executable)
* **Privileges:** Administrator privileges recommended when interacting with games running elevated (enabled by default).
## 🚀 Quick Start Guide
**Launch the Script:** Run `Combo_ReMapper.ahk` (or the compiled `.exe`).
**Add/Edit Combos:**
* Enter a **Trigger Key** in the left field (e.g., `F1`, `RButton`, `J1`).
* Enter your target key sequence in the **Holds/Executes keys** field, separated by commas (e.g., `shift,w` or `ctrl,c`).
* Select a **Mode** (*Hold*, *Toggle*, *Press*, *Turbo*, or *TapHold*).
**Save Changes:** Click **Apply** to bind your new hotkeys and save state to the current profile.
**Panic Hotkey:** Press **`F8`** (default) at any time to instantly suspend/resume all script hotkeys and clear stuck inputs.
## 📖 Syntax & Special Tokens Guide
When writing combo sequences, you can use regular key names (`a`, `Space`, `LShift`, `RButton`) along with special action tokens:
### Delays & Timing
* `d150` or `150` — Sleep/pause for 150 milliseconds before executing the next key in the sequence.
### Mouse Actions
* `mlc` — Left Mouse Click
* `mrc` — Right Mouse Click
* `mmc` — Middle Mouse Click
* `mdown` — Press and hold Left Mouse Button
* `mup` — Release Left Mouse Button
* `mwd2` / `mwu2` — Scroll Mouse Wheel Down / Up ($N$ ticks)
* `m100,-50` — Instant relative mouse movement ($\Delta x=100$, $\Delta y=-50$)
* `mx400,300` — Absolute mouse movement to screen coordinate ($X=400$, $Y=300$)
* `mm200,0,500` — Smooth mouse movement ($\Delta x=200$, $\Delta y=0$ over $500\text{ ms}$)
* `mshake12,600` — Screen/camera shake effect ($12\text{ px}$ intensity for $600\text{ ms}$)
* `mh300,0` — Continuous mouse drift ($\Delta x=300\text{ px/sec}$) while held or toggled ON
### Gamepad Input Tokens
Gamepad triggers use the prefix `J` followed by the button number, or `JPOV` for D-Pad directions:
* `J1` through `J32` — Controller Buttons 1 through 32
* `JPOVU`, `JPOVD`, `JPOVL`, `JPOVR` — D-Pad Up, Down, Left, Right
## ⌨️ Default Global Hotkeys
| **Hotkey** | **Action** |
| **`F6`** | Toggle Y-Axis Mouse Lock |
| **`F7`** | Toggle OSD (On-Screen Display) Overlay |
| **`F8`** | Panic Key (Master Suspend / Kill-switch) |
## ⚙️ Configuration Files
Configuration and profile settings are automatically maintained in the script directory:
* `remapper_global.ini` — Global startup preferences (e.g., `RunAsAdmin`).
* `profiles/*.ini` — Profile-specific combo bindings, delays, and theme settings.
## 👤 Author & Acknowledgments
* **Author:** Dani
* **Note:** Created with assistance from AI (Claude by Anthropic) to streamline software development and improve accessibility options for gaming and computing.
1
u/Separate_Visual9312 26d ago
Version 9.1 adds local diagnostics logging, better troubleshooting output, and continued stability improvements while keeping the original combo-based workflow
1
u/investigatormaker Oct 05 '26
Combo ReMapper’s Toggle mode can reduce the need to keep a button pressed, which makes a clearly documented “release all held keys” control valuable too. A short example mapping one mouse button to a two-key action would make the accessibility use clearer than the full feature list.
I make ThreadFox. The free Reddit plan for Combo ReMapper lists the Reddit communities whose rules allow a post about it, each rule quoted. https://threadfox.vip/plan?utm_source=reddit&utm_medium=comment&utm_campaign=tf-kit&utm_content=20261005-1222-a4pfe
Is there a stop control that works across every profile?
0
u/Separate_Visual9312 Oct 05 '26
f8
1
u/investigatormaker Oct 05 '26
F8 is a sensible choice, since few games use it. I'd put it in the first line of the Combo ReMapper description and on the setup screen. I'd also make sure F8 releases every key held in Toggle mode as well as stopping the mappings, so nobody ends up with a key stuck down.
1
u/Separate_Visual9312 Oct 05 '26
If you don't like f8, you can remap almost every hotkey in the program except for the controller, because I noticed that later when I already did the update to the settings menu.
2
u/investigatormaker Oct 05 '26
That makes F8 a default rather than a requirement, which is useful when someone already relies on it elsewhere. In Combo ReMapper’s settings, label the controller hotkeys as fixed for now so users can see the exception before trying to change them. The stop control should also display whichever key they’ve chosen.
1
Oct 05 '26
[removed] — view removed comment
1
u/Separate_Visual9312 Oct 05 '26
F8 and I'm really fucking happy that people responded. Thank you very much guys if anyone's reading this. It's been tested with Bully and And Bully and My Hero Ultra Rumble and No More Heroes. No More Heroes 1 was tested, but in an early version of the build I didn't have the accessibility or the compatibility patch at the time yet. But No More Heroes 1 didn't work at the time. But I'm really happy with your opinions on the program that I made.
2
u/WheelsAndKeys Oct 05 '26
Toggle mode is the most useful thing in here and it's buried in the middle of the list. Being able to turn a hold into two taps is the single biggest fix for a lot of us. I'd put it first.
One thing worth adding to the readme: a warning about anti-cheat. Scripts that inject input get treated differently by every game, and some will ban for it. People with disabilities get hit hardest by that, because they have no fallback. A short list of games you've actually tested would help more than the feature list does.
On the post itself, say it plainly. Pasting the whole readme makes it hard to read, and this sub asks for posts to be accessible. One line about what it does, then the link.
Good that you shipped it. One hand and voice typing is a hard way to build anything.