marketplace/mouse

Pointer Lab

Invert, rotate, and tune each pointer axis with adjustable movement curves. Requires Rebind Link.

@rebindv0.1.0free

More install options
$rebind install @rebind/pointer-lab

Gallery

Pointer Lab preview

Readme

Invert either mouse axis, rotate movement, and adjust horizontal and vertical sensitivity independently. An optional speed curve changes gain between slow and fast movement. All controls share one settings panel.

Setup

Requires Rebind Engine 3.5.0 or newer on Windows or macOS, with an authenticated Rebind Link and the mouse forwarded through hardware capture. Software mode and Linux are not supported. See platform setup.

Open main.luau in Rebind and use its Options panel. Start the script from the editor toolbar, or run rebind run library/pointer-lab from the repository root. Defaults preserve movement direction and use 1x sensitivity with the curve off. Settings save automatically and apply while running, without a restart.

Press F8 to bypass or re-enable the transforms. The Apply transforms (F8) switch shows the same state. F8 is reserved while this script runs; other keys, mouse buttons, and scrolling are not changed by Pointer Lab.

Tune movement

  1. Set Invert horizontal input or Invert vertical input if needed.
  2. Adjust Rotation (clockwise). With inversion off, +90° turns right into down; -90° turns right into up. Inversion happens before rotation.
  3. Set Horizontal sensitivity and Vertical sensitivity from 0.1x to 4x. These scale the output axes after rotation, so horizontal always means the final left/right movement.
  4. Turn on Use a movement curve to reveal its controls. Choose Linear for an even ramp, Smooth for eased ends, or Quadratic for a slower initial change. Slow movement gain and Fast movement gain multiply both sensitivities. Set fast gain above slow gain for acceleration, or below it for deceleration. Equal gains give constant scaling.

Transition speed is where the curve reaches fast gain and stops increasing or decreasing. It is measured in raw mouse counts per millisecond, not screen pixels. A higher-DPI mouse reaches it with less physical movement. Start with the curve off, tune the two sensitivities, then enable and adjust the curve.

Use the panel's Reset to defaults to restore the original settings.

Stop and recovery

Turn Apply transforms (F8) off to pass original movement through. Stop the script in the editor, or press Ctrl+C in its rebind run terminal. To stop all scripts and release held input, press Left Ctrl + Left Alt + K.

Pointer Lab discards pending movement when bypassed or stopped. It never holds keys or buttons. Run only one movement-transform script at a time: a blocked movement event does not reach lower-priority scripts.

Timing and verification

Movement is combined until the next script tick, requested at 1,000 ticks per second. Curves use net displacement divided by actual elapsed tick time. This adds tick scheduling delay and is not a USB polling-rate or latency guarantee. Direction reversals inside one tick can cancel. Fractional output is retained between ticks so sensitivity below 1x does not discard small movements. Operating-system pointer settings still affect the emitted HID movement.

Source is prepared for hardware testing. Physical capture, cursor feel, and Link output have not been verified on Windows or macOS. Listing artwork is an original illustration, not a screenshot or evidence of execution.

Reviews

No reviews yet. Write a review in the app.

Source

Version 0.1.0 (current)

README.md

# Pointer Lab

Invert either mouse axis, rotate movement, and adjust horizontal and vertical
sensitivity independently. An optional speed curve changes gain between slow
and fast movement. All controls share one settings panel.

## Setup

Requires Rebind Engine 3.5.0 or newer on Windows or macOS, with an authenticated
Rebind Link and the mouse forwarded through hardware capture. Software mode
and Linux are not supported. See [platform setup](https://docs.rebind.gg/concepts/platforms).

Open `main.luau` in Rebind and use its **Options** panel. Start the script from
the editor toolbar, or run `rebind run library/pointer-lab` from the repository
root. Defaults preserve movement direction and use 1x sensitivity with the
curve off. Settings save automatically and apply while running, without a
restart.

Press **F8** to bypass or re-enable the transforms. The **Apply transforms (F8)**
switch shows the same state. F8 is reserved while this script runs; other keys,
mouse buttons, and scrolling are not changed by Pointer Lab.

## Tune movement

1. Set **Invert horizontal input** or **Invert vertical input** if needed.
2. Adjust **Rotation (clockwise)**. With inversion off, +90° turns right into
   down; -90° turns right into up. Inversion happens before rotation.
3. Set **Horizontal sensitivity** and **Vertical sensitivity** from 0.1x to 4x.
   These scale the output axes after rotation, so horizontal always means the
   final left/right movement.
4. Turn on **Use a movement curve** to reveal its controls. Choose **Linear**
   for an even ramp, **Smooth** for eased ends, or **Quadratic** for a slower
   initial change.
   **Slow movement gain** and **Fast movement gain** multiply both sensitivities.
   Set fast gain above slow gain for acceleration, or below it for deceleration.
   Equal gains give constant scaling.

**Transition speed** is where the curve reaches fast gain and stops increasing
or decreasing. It is measured in raw mouse counts per millisecond, not screen
pixels. A higher-DPI mouse reaches it with less physical movement. Start with
the curve off, tune the two sensitivities, then enable and adjust the curve.

Use the panel's **Reset to defaults** to restore the original settings.

## Stop and recovery

Turn **Apply transforms (F8)** off to pass original movement through. Stop the
script in the editor, or press Ctrl+C in its `rebind run` terminal. To stop all
scripts and release held input, press **Left Ctrl + Left Alt + K**.

Pointer Lab discards pending movement when bypassed or stopped. It never holds
keys or buttons. Run only one movement-transform script at a time: a blocked
movement event does not reach lower-priority scripts.

## Timing and verification

Movement is combined until the next script tick, requested at 1,000 ticks per
second. Curves use net displacement divided by actual elapsed tick time. This
adds tick scheduling delay and is not a USB polling-rate or latency guarantee.
Direction reversals inside one tick can cancel. Fractional output is retained
between ticks so sensitivity below 1x does not discard small movements.
Operating-system pointer settings still affect the emitted HID movement.

Source is prepared for hardware testing. Physical capture, cursor feel, and
Link output have not been verified on Windows or macOS. Listing artwork is an
original illustration, not a screenshot or evidence of execution.

1 file without text previews