Dwell-click
For anyone who can move a pointer but can’t reliably press a button. Rest the cursor in one place and, after a short pause, Rebind clicks for you. Moving away before the timer finishes cancels the click.- dwell_time — how long the cursor must rest before a click. Start at one second. Lower it as you build confidence; raise it if clicks fire too eagerly.
- tolerance — how much wobble is allowed while you hold position, in pixels. Larger forgives unsteady movement; smaller makes the dwell stricter.
- click_type — switch between left, right, and double click without changing any code.
- sound — a short beep confirms each click so you don’t have to watch closely.
Click assist
Three modes for people who can reach a button but struggle to hold it or time a double click. Hold Assist turns one press into a timed hold that releases itself. Toggle Click latches a single click down until you click again — useful for dragging without holding. Double Click fires two clicks from one press.- mode — Hold Assist for tasks that need a sustained press, Toggle Click for drag-and-drop without holding, Double Click for interfaces that expect rapid double clicks.
- hold_time — how long Hold Assist keeps the button down before releasing it. Match it to the longest hold you typically need.
- double_delay — the gap between the two clicks in Double Click. If the application misses the second click, increase this a little.
- The script releases the button cleanly on focus loss and on stop, so a latched toggle never gets stuck down.
Tremor smoothing
For users with hand tremor or repetitive-strain motion. Movements below a threshold are dropped, and larger movements are smoothed with an exponential filter, so the cursor follows your intent instead of the jitter. Filtering movement usesmouse_block=true, which requires a Rebind device.
- threshold — the smallest movement Rebind will pass through, in pixels. Raise it to ignore more involuntary jitter; lower it if intentional small movements feel suppressed.
- smoothing — how much each movement is averaged with the previous one. Higher gives a steadier cursor at the cost of a little latency; find the point where the pointer feels calm but still responsive.
- The filtering happens on the device, before the movement reaches the OS.
Sticky keys
For one-handed use or limited grip strength, holding two keys at once is hard. This turns a modifier into a tap-to-lock toggle: tap once and it stays held, tap again to release. A notification tells you whether it’s active, and it releases automatically on focus change so you never get stuck in a held state.- target — choose any modifier to make sticky:
LShift,LCtrl,LAlt,LWin, or their right-hand variants. Run a separate copy of the script for each modifier you want to latch. - To lock several modifiers at once (for a combination like Ctrl+Shift), enable one sticky script per key; each latches independently and they combine naturally.
- The script swallows the modifier’s own release event, so a single tap fully toggles the lock without the OS seeing an immediate key-up.
One-handed layout
Remaps keys so a single hand can reach everything it needs. The example mirrors the right side of the keyboard onto the left, brings Enter and Backspace under the home position, and frees a thumb key for Space — all configurable. Use it as a starting point and remap to whatever suits your hand.- base — keys remapped all the time. Add an entry as
["FromKey"] = "ToKey"for each key you want to relocate under your hand. - layer — a second set of remaps that only apply while layer_key is held, doubling how many keys one hand can reach. Hold the layer key with a thumb or spare finger to flip into the mirrored set.
- layer_key — the hold key that activates the layer.
CapsLockis a common choice because it sits at the home row and is rarely needed otherwise. - Use the SDK reference to discover the exact key names Rebind reports, then fill in the tables to match your hand.
Key-repeat control
For users whose presses linger or who trigger unintended repeats, default keyboard auto-repeat can flood an application with extra characters. Two independent controls fix this. Debounce ignores a second press of the same key within a set window, filtering accidental double-taps. Repeat suppression blocks a held key from auto-repeating after the first character, so a long press produces one keystroke.- debounce / debounce_ms — turn on to ignore a repeated press of the same key that lands within the window. Widen debounce_ms if accidental double-presses still slip through; narrow it if deliberate fast presses get dropped.
- no_repeat — when on, holding a key sends one character instead of a stream. Leave it off for keys where you do want auto-repeat, such as arrow keys.
- The script passes accepted presses through unchanged (
return true), so every keystroke it lets through is ordinary USB input — only unwanted repeats and bounces are filtered.