mirror of https://github.com/nirenjan/libx52.git
Prior to this change, the mouse speed was controlled by an opaque numeric value, that controlled both the speed and the delay between updates. This caused a lot of choppy behavior with lower speeds, and the really low speeds had as little as 1% speed difference between them in the practical pixels/second speed, while there was effectively a 50% jump in the speed between speed settings 11 and 12, due to the hyperbolic relationship between steps. Post that, it was an even 25% increase in sensitivity for every step. This change modifies it so that the old Speed option is deprecated, it is now replaced by the Sensitivity option, which is a direct percentage scale from 10% to 500%. In addition, there is a CurveFactor option to let it have fine control when there is little deflection, and move faster when further away from the center. This also adds an IsometricMode option which computes the speed as a function of the cartesian distance from the center (`sqrt(dx^2 + dy^2)`). The default behavior uses the existing linear speed which controls the speed of the X and Y axes independently, but now uses the sensitivity and curve factors to get better behavior. Also, the mouse events are consistently reported every 10ms. This should make it a lot smoother. Finally, this change also adds a Deadzone factor, which allows the user to ignore small changes near the center of the joystick that can cause mouse drift. This deadzone uses the total distance, so if just the X or Y axis has moved, it will still allow suppressing any play in the thumb stick. Issue: #44 |
||
|---|---|---|
| .. | ||
| tests | ||
| Makefile.am | ||
| daemon.dox | ||
| meson.build | ||
| protocol.dox | ||
| test_daemon_comm.py | ||
| x52ctl.c | ||
| x52d.conf | ||
| x52d.service.in | ||
| x52d_client.c | ||
| x52d_client.h | ||
| x52d_clock.c | ||
| x52d_clock.h | ||
| x52d_comm_client.c | ||
| x52d_comm_internal.c | ||
| x52d_command.c | ||
| x52d_command.h | ||
| x52d_config.c | ||
| x52d_config.def | ||
| x52d_config.h | ||
| x52d_config_dump.c | ||
| x52d_config_parser.c | ||
| x52d_const.h | ||
| x52d_device.c | ||
| x52d_device.h | ||
| x52d_io.c | ||
| x52d_io.h | ||
| x52d_led.c | ||
| x52d_main.c | ||
| x52d_mouse.c | ||
| x52d_mouse.h | ||
| x52d_mouse_handler.c | ||
| x52d_mouse_test.c | ||
| x52d_notify.c | ||
| x52d_notify.h | ||
| x52dcomm-internal.h | ||
| x52dcomm.h | ||