fix(win32 gui): add middle mouse support and fix right mouse button mapping

This commit is contained in:
CJ van den Berg 2025-01-25 17:39:07 +01:00
parent 434025da33
commit 8b69cfddd3
Signed by: neurocyte
GPG key ID: 8EB1E1BB660E3FB9

View file

@ -638,6 +638,8 @@ fn sendMouse(
move,
left_down,
left_up,
middle_down,
middle_up,
right_down,
right_up,
},
@ -676,13 +678,14 @@ fn sendMouse(
"B",
switch (b) {
.move => unreachable,
.left_down, .right_down => input.event.press,
.left_up, .right_up => input.event.release,
.left_down, .middle_down, .right_down => input.event.press,
.left_up, .middle_up, .right_up => input.event.release,
},
switch (b) {
.move => unreachable,
.left_down, .left_up => @intFromEnum(input.mouse.BUTTON1),
.right_down, .right_up => @intFromEnum(input.mouse.BUTTON2),
.middle_down, .middle_up => @intFromEnum(input.mouse.BUTTON2),
.right_down, .right_up => @intFromEnum(input.mouse.BUTTON3),
},
cell.cell.x,
cell.cell.y,
@ -1036,6 +1039,14 @@ fn WndProc(
sendMouse(hwnd, .left_up, wparam, lparam);
return 0;
},
win32.WM_MBUTTONDOWN => {
sendMouse(hwnd, .middle_down, wparam, lparam);
return 0;
},
win32.WM_MBUTTONUP => {
sendMouse(hwnd, .middle_up, wparam, lparam);
return 0;
},
win32.WM_RBUTTONDOWN => {
sendMouse(hwnd, .right_down, wparam, lparam);
return 0;