On Mon, 3 Oct 2022 20:38:43 GMT, Phil Race <p...@openjdk.org> wrote:

>> I don't have an M2 device to check, but I think (judging to the code) if we 
>> add `jmodifiers == 0` check here then users making a tap holding the Control 
>> will receive the mouse events with `modifiers` == `CTRL_DOWN_MASK | 
>> BUTTON3_MASK | CTRL_MASK`, i.e. without modern `BUTTON3_DOWN_MASK` which is 
>> at least unusual and inconvenient.
>
> OK .. well I've at least run all our automated tests and no regressions were 
> found, so I'll approve this.

I've checked behavior of tap holding modifiers on M2 and here are which mouse 
events are received:
* _Ctrl + Two fingers tap_:
  * event: 
`java.awt.event.MouseEvent[MOUSE_PRESSED,(86,102),absolute(86,302),button=3,modifiers=⌘+⌃+Button3,extModifiers=⌃,clickCount=1]
 on 
MouseWindow$1[,0,136,200x200,layout=java.awt.FlowLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=16777225,maximumSize=,minimumSize=,preferredSize=]`
  * modifiers: 6 (`⌘+⌃+Button3`)
  * modifiersEx: 128 (`⌃`)
* _Option + Two fingers tap_:
  * event: 
`java.awt.event.MouseEvent[MOUSE_PRESSED,(63,135),absolute(63,335),button=3,modifiers=⌥+⌘+Button2+Button3,extModifiers=⌥,clickCount=1]
 on 
MouseWindow$1[,0,136,200x200,layout=java.awt.FlowLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=16777225,maximumSize=,minimumSize=,preferredSize=]`
  * modifiers: 12 (`⌥+⌘+Button2+Button3`)
  * modifiersEx: 512 (`⌥`)

Thus, as I assumed, modifiersEx don't contain `BUTTON3_DOWN_MASK`, so we 
shouldn't restrict the patch by the `jmodifiers == 0` condition.

-------------

PR: https://git.openjdk.org/jdk/pull/10429

Reply via email to