mirror of
https://gitlab.com/qemu-project/qemu
synced 2024-11-05 20:35:44 +00:00
ui/cocoa: pass horizontal scroll information to the device code
Signed-off-by: Dmitry Petrov <dpetroff@gmail.com> Message-Id: <20220108153947.171861-3-dpetroff@gmail.com> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
This commit is contained in:
parent
64ebbb7d62
commit
d70a5de441
1 changed files with 12 additions and 6 deletions
18
ui/cocoa.m
18
ui/cocoa.m
|
@ -970,21 +970,27 @@ - (bool) handleEventLocked:(NSEvent *)event
|
|||
*/
|
||||
|
||||
/*
|
||||
* When deltaY is zero, it means that this scrolling event was
|
||||
* either horizontal, or so fine that it only appears in
|
||||
* scrollingDeltaY. So we drop the event.
|
||||
* We shouldn't have got a scroll event when deltaY and delta Y
|
||||
* are zero, hence no harm in dropping the event
|
||||
*/
|
||||
if ([event deltaY] != 0) {
|
||||
if ([event deltaY] != 0 || [event deltaX] != 0) {
|
||||
/* Determine if this is a scroll up or scroll down event */
|
||||
buttons = ([event deltaY] > 0) ?
|
||||
if ([event deltaY] != 0) {
|
||||
buttons = ([event deltaY] > 0) ?
|
||||
INPUT_BUTTON_WHEEL_UP : INPUT_BUTTON_WHEEL_DOWN;
|
||||
} else if ([event deltaX] != 0) {
|
||||
buttons = ([event deltaX] > 0) ?
|
||||
INPUT_BUTTON_WHEEL_LEFT : INPUT_BUTTON_WHEEL_RIGHT;
|
||||
}
|
||||
|
||||
qemu_input_queue_btn(dcl.con, buttons, true);
|
||||
qemu_input_event_sync();
|
||||
qemu_input_queue_btn(dcl.con, buttons, false);
|
||||
qemu_input_event_sync();
|
||||
}
|
||||
|
||||
/*
|
||||
* Since deltaY also reports scroll wheel events we prevent mouse
|
||||
* Since deltaX/deltaY also report scroll wheel events we prevent mouse
|
||||
* movement code from executing.
|
||||
*/
|
||||
mouse_event = false;
|
||||
|
|
Loading…
Reference in a new issue