XBAB Ctrl

Resolution

Counts/dots per inch. Click the top right icon to set X and Y separately. For DPI > 6000, the cursor may jitter even without physical motion. See the “Stationary jitter filter” setting to prevent this.

Lift off distance

Approximate distance above which the sensor stops tracking. Actual threshold depends on mouse feet thickness and surface.

Sensor features

When enabled, rotates the sensor's output by the specified angle in degrees (positive clockwise, negative counterclockwise).

Enables the Motion Sync register on the sensor, which is a feature that eliminates aliasing effects related to mismatch of sensor framerate and USB polling rate. SPI timing is not affected by this setting; SPI transactions are always synchronized to USB frames with sub-microsecond jitter. (See patents.justia.com/patent/11385069)

Enable to snap nearly horizontal/vertical motion to perfectly horizontal/vertical.

When enabled, after the sensor detects 0.25 seconds of inactivity, it expands the deadzone to stop the cursor from jittering. Best disabled unless you use high DPI (> 6000) and are bothered by stationary cursor jitter.

When enabled, the sensor behaves as normal, except when it detects a low contrast surface, such as transparent glass. In this case, the sensor will switch into a different mode that allows tracking on such surfaces, albeit with reduced performance. This mode is irrelevant for essentially any mousepad, including glass mousepads. Best disabled unless you need to use the mouse on a transparent sheet of glass.

Advanced

Sensor operation mode

These are operation modes of the PAW3950. There is no public knowledge of the full consequences of the register differences between these modes. Notes:

  • “XA25 custom” is a 20k fps mode that contains custom settings.
  • “Corded low” is a 13k fps mode. It is a common default setting for 8k PAW3950 mice.
  • “Corded high” is a 20k fps mode. Most PAW3950 mice that advertise 20k fps enable 20k fps by setting this mode instead of Corded low.
  • “High perf.”, “Low power”, and “Office” are dynamic framerate modes. The last two are included purely for testing purposes and are not recommended.

All modes follow PixArt datasheet settings except that DPI downshift is always disabled and set-down smoothing time is minimized.

This setting allows forcing or changing the framerate in any mode. Note that the 8k setting does NOT synchronize frames with USB polling: the framerate might fluctuate to 7.9k or 8.1k randomly. The Max setting can exceed 20k slightly, depending on the surface.

See xbabtech.com/blog/smoothing/. When disabled, smoothing is off at all DPI. When enabled, smoothing is selectively applied and increased with DPI. The first setting corresponds to default behavior of PAW3950. The third setting corresponds to “Ripple Control” enabled.

Enables debug LEDs in the mouse. Internal LED turns green upon any sensor motion. Internal LED flashes red if PC (host controller) fails to poll the mouse. Even a single missed poll results in 0.25 seconds of red.

Max report rate

High-speed USB must be enabled for report rates greater than 1000 Hz.

The selected setting is an upper limit for motion report rate. Button clicks are always sent immediately, so a click during motion can briefly exceed the limit.

Buttons

Left and right buttons use SPDT switches. Default operation mode is SR latch (actuate on NO close, release on NC close). NC release is an alternative mode that actuates upon release/opening of the NC contact. This occurs 1-2 ms earlier, yielding lower latency, but at the cost of possible “ghost” clicks, where light pressure on the button causes actuation without a physical click.

Slam click filter

Filters accidental clicks that result from lifting and setting down the mouse. Light adds 25 ms of click latency for 25 ms after touchdown, and none while the sensor is lifted. Full is the most robust: 12 ms filtering while the sensor is lifted, rising to 25 ms for clicks just before or after touchdown. No latency is added in regular usage where the mouse is on a surface.

Wheel

Drops an isolated scroll up. Scrolling passes through once a second scroll up follows within the specified timeout.

Drops an isolated scroll down. Scrolling passes through once a second scroll down follows within the specified timeout.