mirror of https://gitee.com/openkylin/qemu.git
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
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
|
* We shouldn't have got a scroll event when deltaY and delta Y
|
||||||
* either horizontal, or so fine that it only appears in
|
* are zero, hence no harm in dropping the event
|
||||||
* scrollingDeltaY. So we drop the event.
|
|
||||||
*/
|
*/
|
||||||
if ([event deltaY] != 0) {
|
if ([event deltaY] != 0 || [event deltaX] != 0) {
|
||||||
/* Determine if this is a scroll up or scroll down event */
|
/* 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;
|
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_queue_btn(dcl.con, buttons, true);
|
||||||
qemu_input_event_sync();
|
qemu_input_event_sync();
|
||||||
qemu_input_queue_btn(dcl.con, buttons, false);
|
qemu_input_queue_btn(dcl.con, buttons, false);
|
||||||
qemu_input_event_sync();
|
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.
|
* movement code from executing.
|
||||||
*/
|
*/
|
||||||
mouse_event = false;
|
mouse_event = false;
|
||||||
|
|
Loading…
Reference in New Issue