Skip to content

Commit

Permalink
[X11] Support for mouse buttons 4 and 5
Browse files Browse the repository at this point in the history
  • Loading branch information
zoltanvb committed Jun 19, 2024
1 parent e3bb6b7 commit c1a35bf
Showing 1 changed file with 13 additions and 2 deletions.
15 changes: 13 additions & 2 deletions input/drivers/x11_input.c
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,8 @@ typedef struct x11_input
bool mouse_l;
bool mouse_r;
bool mouse_m;
bool mouse_b4;
bool mouse_b5;
} x11_input_t;

/* Public global variable */
Expand Down Expand Up @@ -86,12 +88,10 @@ static bool x_mouse_button_pressed(
return x11->mouse_r;
case RETRO_DEVICE_ID_MOUSE_MIDDLE:
return x11->mouse_m;
#if 0
case RETRO_DEVICE_ID_MOUSE_BUTTON_4:
return x11->mouse_b4;
case RETRO_DEVICE_ID_MOUSE_BUTTON_5:
return x11->mouse_b5;
#endif
case RETRO_DEVICE_ID_MOUSE_WHEELUP:
case RETRO_DEVICE_ID_MOUSE_WHEELDOWN:
case RETRO_DEVICE_ID_MOUSE_HORIZ_WHEELUP:
Expand Down Expand Up @@ -269,6 +269,11 @@ static int16_t x_input_state(
return x_mouse_state_wheel(id);
case RETRO_DEVICE_ID_MOUSE_MIDDLE:
return x11->mouse_m;
case RETRO_DEVICE_ID_MOUSE_BUTTON_4:
return x11->mouse_b4;
case RETRO_DEVICE_ID_MOUSE_BUTTON_5:
return x11->mouse_b5;

}
break;
case RETRO_DEVICE_POINTER:
Expand Down Expand Up @@ -458,6 +463,8 @@ static void x_input_poll(void *data)
x11->mouse_l = 0;
x11->mouse_m = 0;
x11->mouse_r = 0;
x11->mouse_b4 = 0;
x11->mouse_b5 = 0;
return;
}

Expand All @@ -473,6 +480,8 @@ static void x_input_poll(void *data)
x11->mouse_l = 0;
x11->mouse_m = 0;
x11->mouse_r = 0;
x11->mouse_b4 = 0;
x11->mouse_b5 = 0;
return;
}

Expand All @@ -489,6 +498,8 @@ static void x_input_poll(void *data)
x11->mouse_l = mask & Button1Mask;
x11->mouse_m = mask & Button2Mask;
x11->mouse_r = mask & Button3Mask;
x11->mouse_b4 = mask & Button4Mask;
x11->mouse_b5 = mask & Button5Mask;

/* > Mouse pointer */
if (!x11->mouse_grabbed)
Expand Down

0 comments on commit c1a35bf

Please sign in to comment.