diff mbox series

ui/cocoa: Interpret left button down as is when command is pressed

Message ID 20210212000706.28616-1-akihiko.odaki@gmail.com (mailing list archive)
State New, archived
Headers show
Series ui/cocoa: Interpret left button down as is when command is pressed | expand

Commit Message

Akihiko Odaki Feb. 12, 2021, 12:07 a.m. UTC
Old Macs were not equipped with mice with an ability to perform
"right clicks" and ui/cocoa interpreted left button down with
left command key pressed as right button down as a workaround.

The workaround has an obvious downside: you cannot tell the guest
that the left button is down while the left command key is
pressed.

Today, Macs has trackpads, Apple Mice, or Magic Mice. They are
capable to emulate right clicks with gestures, which also allows
to perform right clicks on "BootCamp" OSes like Windows.

By removing the workaround, we overcome its downside, and provide
a behavior consistent with BootCamp.

Signed-off-by: Akihiko Odaki <akihiko.odaki@gmail.com>
---
 ui/cocoa.m | 12 ++----------
 1 file changed, 2 insertions(+), 10 deletions(-)

Comments

Gerd Hoffmann Feb. 17, 2021, 1:15 p.m. UTC | #1
On Fri, Feb 12, 2021 at 09:07:06AM +0900, Akihiko Odaki wrote:
> Old Macs were not equipped with mice with an ability to perform
> "right clicks" and ui/cocoa interpreted left button down with
> left command key pressed as right button down as a workaround.
> 
> The workaround has an obvious downside: you cannot tell the guest
> that the left button is down while the left command key is
> pressed.
> 
> Today, Macs has trackpads, Apple Mice, or Magic Mice. They are
> capable to emulate right clicks with gestures, which also allows
> to perform right clicks on "BootCamp" OSes like Windows.
> 
> By removing the workaround, we overcome its downside, and provide
> a behavior consistent with BootCamp.

Comments from the macos folks?

Given that the one-button-mouse days for macs are long over this
looks sensible to me.

In case there are objections we can add a config option for
right-mouse-click emulation, but I don't feel like adding a option
which nobody is going to use ...

take care,
  Gerd
Gerd Hoffmann Feb. 19, 2021, 2:01 p.m. UTC | #2
On Fri, Feb 12, 2021 at 09:07:06AM +0900, Akihiko Odaki wrote:
> Old Macs were not equipped with mice with an ability to perform
> "right clicks" and ui/cocoa interpreted left button down with
> left command key pressed as right button down as a workaround.
> 
> The workaround has an obvious downside: you cannot tell the guest
> that the left button is down while the left command key is
> pressed.
> 
> Today, Macs has trackpads, Apple Mice, or Magic Mice. They are
> capable to emulate right clicks with gestures, which also allows
> to perform right clicks on "BootCamp" OSes like Windows.
> 
> By removing the workaround, we overcome its downside, and provide
> a behavior consistent with BootCamp.

Added to UI patch queue now.

thanks,
  Gerd
diff mbox series

Patch

diff --git a/ui/cocoa.m b/ui/cocoa.m
index 13fba8103e1..7ca590ff36f 100644
--- a/ui/cocoa.m
+++ b/ui/cocoa.m
@@ -830,11 +830,7 @@  - (bool) handleEventLocked:(NSEvent *)event
             mouse_event = true;
             break;
         case NSEventTypeLeftMouseDown:
-            if ([event modifierFlags] & NSEventModifierFlagCommand) {
-                buttons |= MOUSE_EVENT_RBUTTON;
-            } else {
-                buttons |= MOUSE_EVENT_LBUTTON;
-            }
+            buttons |= MOUSE_EVENT_LBUTTON;
             mouse_event = true;
             break;
         case NSEventTypeRightMouseDown:
@@ -846,11 +842,7 @@  - (bool) handleEventLocked:(NSEvent *)event
             mouse_event = true;
             break;
         case NSEventTypeLeftMouseDragged:
-            if ([event modifierFlags] & NSEventModifierFlagCommand) {
-                buttons |= MOUSE_EVENT_RBUTTON;
-            } else {
-                buttons |= MOUSE_EVENT_LBUTTON;
-            }
+            buttons |= MOUSE_EVENT_LBUTTON;
             mouse_event = true;
             break;
         case NSEventTypeRightMouseDragged: