All of lore.kernel.org
 help / color / mirror / Atom feed
From: Gerd Hoffmann <kraxel@redhat.com>
To: qemu-devel@nongnu.org
Cc: "Peter Maydell" <peter.maydell@linaro.org>,
	"Aleksandar Rikalo" <aleksandar.rikalo@syrmia.com>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	"Dmitry Petrov" <dpetroff@gmail.com>,
	"Christian Schoenebeck" <qemu_oss@crudebyte.com>,
	"Philippe Mathieu-Daudé" <f4bug@amsat.org>,
	"Markus Armbruster" <armbru@redhat.com>,
	"Hervé Poussineau" <hpoussin@reactos.org>,
	"Gerd Hoffmann" <kraxel@redhat.com>,
	"Paolo Bonzini" <pbonzini@redhat.com>,
	"Marc-André Lureau" <marcandre.lureau@redhat.com>,
	"Eric Blake" <eblake@redhat.com>
Subject: [PULL 17/20] ui/cocoa: pass horizontal scroll information to the device code
Date: Fri, 14 Jan 2022 07:53:23 +0100	[thread overview]
Message-ID: <20220114065326.782420-18-kraxel@redhat.com> (raw)
In-Reply-To: <20220114065326.782420-1-kraxel@redhat.com>

From: Dmitry Petrov <dpetroff@gmail.com>

Signed-off-by: Dmitry Petrov <dpetroff@gmail.com>
Message-Id: <20220108153947.171861-3-dpetroff@gmail.com>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
 ui/cocoa.m | 18 ++++++++++++------
 1 file changed, 12 insertions(+), 6 deletions(-)

diff --git a/ui/cocoa.m b/ui/cocoa.m
index 69745c483b45..ac18e14ce01c 100644
--- a/ui/cocoa.m
+++ b/ui/cocoa.m
@@ -970,21 +970,27 @@ QemuCocoaView *cocoaView;
              */
 
             /*
-             * 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;
-- 
2.34.1



  parent reply	other threads:[~2022-01-14  7:29 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-01-14  6:53 [PULL 00/20] Kraxel 20220114 patches Gerd Hoffmann
2022-01-14  6:53 ` [PULL 01/20] hw/usb/dev-wacom: add missing HID descriptor Gerd Hoffmann
2022-01-14  6:53 ` [PULL 02/20] usb: allow max 8192 bytes for desc Gerd Hoffmann
2022-01-14  6:53 ` [PULL 03/20] ui/vnc.c: Fixed a deadlock bug Gerd Hoffmann
2022-01-14  6:53 ` [PULL 04/20] jackaudio: use ifdefs to hide unavailable functions Gerd Hoffmann
2022-01-14  6:53 ` [PULL 05/20] dsoundaudio: fix crackling audio recordings Gerd Hoffmann
2022-01-14  6:53 ` [PULL 06/20] hw/audio/intel-hda: fix stream reset Gerd Hoffmann
2022-01-14  6:53 ` [PULL 07/20] ui/dbus: fix buffer-overflow detected by ASAN Gerd Hoffmann
2022-01-14  6:53 ` [PULL 08/20] ui: fix gtk clipboard clear assertion Gerd Hoffmann
2022-01-14  6:53 ` [PULL 09/20] uas: add missing return Gerd Hoffmann
2022-01-14  6:53 ` [PULL 10/20] hw/display: Rename VGA_ISA_MM -> VGA_MMIO Gerd Hoffmann
2022-01-14  6:53 ` [PULL 11/20] hw/display/vga-mmio: Inline vga_mm_init() Gerd Hoffmann
2022-01-14  6:53 ` [PULL 12/20] hw/display/vga-mmio: QOM'ify vga_mmio_init() as TYPE_VGA_MMIO Gerd Hoffmann
2022-01-14  6:53 ` [PULL 13/20] hw/mips/jazz: Inline vga_mmio_init() and remove it Gerd Hoffmann
2022-01-14  6:53 ` [PULL 14/20] edid: set default resolution to 1280x800 (WXGA) Gerd Hoffmann
2022-01-14  6:53 ` [PULL 15/20] edid: Added support for 4k@60 Hz monitor Gerd Hoffmann
2022-01-14  6:53 ` [PULL 16/20] ps2: Initial horizontal scroll support Gerd Hoffmann
2022-01-14  6:53 ` Gerd Hoffmann [this message]
2022-01-14  6:53 ` [PULL 18/20] ui/gtk: pass horizontal scroll information to the device code Gerd Hoffmann
2022-01-14  6:53 ` [PULL 19/20] ui/sdl2: " Gerd Hoffmann
2022-01-14  6:53 ` [PULL 20/20] ui/input-legacy: pass horizontal scroll information Gerd Hoffmann
2022-01-14 15:56 ` [PULL 00/20] Kraxel 20220114 patches Peter Maydell

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220114065326.782420-18-kraxel@redhat.com \
    --to=kraxel@redhat.com \
    --cc=aleksandar.rikalo@syrmia.com \
    --cc=armbru@redhat.com \
    --cc=dpetroff@gmail.com \
    --cc=eblake@redhat.com \
    --cc=f4bug@amsat.org \
    --cc=hpoussin@reactos.org \
    --cc=marcandre.lureau@redhat.com \
    --cc=mst@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-devel@nongnu.org \
    --cc=qemu_oss@crudebyte.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.