Hi Krishna,

> The feature of ALT_GR support on Mac was not done by me, however looking at 
> the bug, and the fact that Mac doesn’t have “AltGR” key, I’m wondering if it 
> makes sense to have code that emits ALT_GR code?

Sometimes it can be useful. For example, we can increase amount of
shortcuts in our IDE, i.e. Alt+F -> Alt+F & AltGr+F. But, we should
have an ability to turn this functionality off, because some Mac users
want to use Alt+arrows with the right Alt key.

> Also, even if we wanted to support it, I wouldn’t want to do it as a compile 
> time flag. Ideally, it should be a flag that can be turned on/off at run time 
> via a system property.

This is a good idea. I've added a flag without a system property only
to keep my patch as small as possible.

-- 
Best regards,
Sergey A. Malenkov


> > On 06-Mar-2019, at 11:02 PM, Sergey Malenkov <malen...@gmail.com> wrote:
> >
> > Hi Krishna,
> >
> > Your fix solves the issue that the right Alt key breaks further
> > processing of the left Alt key.
> >
> > But there is a problem with modifiers mask:
> > 304         java_awt_event_InputEvent_ALT_DOWN_MASK |
> > java_awt_event_InputEvent_ALT_GRAPH_DOWN_MASK,
> > 305         java_awt_event_InputEvent_ALT_MASK |
> > java_awt_event_InputEvent_ALT_GRAPH_MASK,
> > 306         java_awt_event_KeyEvent_VK_ALT |
> > java_awt_event_KeyEvent_VK_ALT_GRAPH
> >
> > Why did you merge VK_ALT and VK_ALT_GRAPH? This is key codes, not a mask.
> > Why did you set ALT_DOWN_MASK and ALT_GRAPH_DOWN_MASK both if only the
> > VK_ALT_GRAPH is pressed?
> >
> > Could you please provide a more complex test? For example,
> >  robot.keyPress(KeyEvent.VK_ALT); // check that key code is VK_ALT
> > and modifiers = ALT_DOWN_MASK
> >  robot.keyPress(KeyEvent.VK_ALT_GRAPH); // check that key code is
> > VK_ALT_GRAPH and modifiers = ALT_DOWN_MASK | ALT_GRAPH_DOWN_MASK
> >  robot.keyRelease(KeyEvent.VK_ALT); // check that key code is VK_ALT
> > and modifiers = ALT_GRAPH_DOWN_MASK
> >  robot.keyRelease(KeyEvent.VK_ALT_GRAPH); // check that key code is
> > VK_ALT_GRAPH and modifiers = 0
> >
> > Note, if you replace ALT_GRAPH with SHIFT in the code above, all
> > required events will be sent correctly.
> >
> > In the following article I provide a manual test and a simple patch to
> > solve issues with pressing the left Shift key together with the right
> > one.
> > https://urldefense.proofpoint.com/v2/url?u=http-3A__sites.google.com_site_malenkov_java_190306&d=DwIFaQ&c=RoP1YumCXCgaWHvlZYR8PZh8Bv7qIrMUB65eapI_JnE&r=QF7AertWDY_M4hfHg_4S-iyX-aP0wtLYwZFgs0zfX_k&m=vpGiD5G2K4wQZbNL-H0ffHAEDEWj-433rJ1a-9zAeyE&s=P2SNOGSmKVcDyQuWHUuP9hs5wxjrqkdwtrOMGqv-tZg&e=
> >
> > Unfortunately I cannot create an automated test, because the Robot
> > have no ability to press a key in the required location (left or
> > right).
> >
> >
> >
> > On Wed, Mar 6, 2019 at 9:45 AM Krishna Addepalli
> > <krishna.addepa...@oracle.com> wrote:
> >>
> >> Hi All,
> >>
> >> Please review a fix for https://bugs.openjdk.java.net/browse/JDK-8218917
> >> With webrev: http://cr.openjdk.java.net/~kaddepalli/8218917/webrev00/
> >>
> >> The problem is that once right alt key is pressed, pressing the left alt 
> >> key always returns the key code for right alt key. The problem was in 
> >> AWTEvent.m, there is a static variable “altGRPressed” which is being set 
> >> once right alt is pressed, but is not being cleared when left alt key is 
> >> pressed. The fix is to completely remove the “altGRPressed” variable as 
> >> “leftAtlPressed” is sufficient to determine which alt key was pressed.
> >> I have tested all the regressions associated with JDK-8156460, and found 
> >> no new failures.
> >>
> >> Thanks,
> >> Krishna
> >
> >
> >
> > --
> > Best regards,
> > Sergey A. Malenkov

Reply via email to