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. http://sites.google.com/site/malenkov/java/190306 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