Fixed a mouse.c issue with some compilers.

This commit is contained in:
Hrvoje Cavrak 2024-03-24 22:05:05 +01:00
parent 09935f5f87
commit 1cf90ae31d
1 changed files with 5 additions and 6 deletions

View File

@ -132,17 +132,16 @@ void switch_screen(
} }
void switch_desktop(device_t *state, output_t *output, int new_index, int direction) { void switch_desktop(device_t *state, output_t *output, int new_index, int direction) {
switch (output->os) { /* Fix for MACOS: Send relative mouse movement here, one or two pixels in the
case MACOS: direction of movement, BEFORE absolute report sets X to 0 */
/* Send relative mouse movement here as well, one or two pixels in the direction of
movement, BEFORE absolute report sets X to 0 */
mouse_report_t move_relative_one mouse_report_t move_relative_one
= {.x = (direction == LEFT) ? 16384 - 2 : 16384 + 2, .mode = RELATIVE}; = {.x = (direction == LEFT) ? 16384 - 2 : 16384 + 2, .mode = RELATIVE};
switch (output->os) {
case MACOS:
/* Once doesn't seem reliable enough, do it twice */ /* Once doesn't seem reliable enough, do it twice */
output_mouse_report(&move_relative_one, state); output_mouse_report(&move_relative_one, state);
output_mouse_report(&move_relative_one, state); output_mouse_report(&move_relative_one, state);
break; break;
case WINDOWS: case WINDOWS: