JDK-6977762 : F11 and F12 keys are not reported on Solaris
  • Type: Bug
  • Component: client-libs
  • Sub-Component: java.awt
  • Affected Version: 7,8,9,10,11
  • Priority: P4
  • Status: Open
  • Resolution: Unresolved
  • OS: solaris_1
  • CPU: sparc
  • Submitted: 2010-08-17
  • Updated: 2022-07-12
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
Other
tbdUnresolved
Related Reports
Relates :  
Relates :  
Description
Test uses awt.Robot to press and release key buttons. For F11 and F12 keys keyPressed and keyReleased events are not generated or keycode is not VK_F11 and VK_F12.

See the test for details.

Comments
Test build: JDK11b23(CC-build(http://slc07hab.us.oracle.com/jdk_coverage/builds/11_23/jdk-11-instr_linux-x64_bin.tar.gz )) Platform :ubuntu18.04-x64 ute tool: tonga-4.0.2-rc2.jar Test case:AWT_Robot/Automated/SimpleRobotKeyTest The case is not stable 1) At the first time,The test failed as http://sc11152645.us.oracle.com:8080/evergreen/results/11/b23/awt-cc/auto/ubuntu18.04-x64/results-awt-run1/ResultDir/SimpleRobotKeyTest/SimpleRobotKeyTest.log 2)we reran the case,The test failed as KeyPressed not triggered for F11 and Pause
07-08-2018

Specific to AWT robot, should not affect end users. Downgraded to P4 to match other similar issues (e.g. JDK-6280734).
28-01-2013

SUGGESTED FIX http://sa.sfbay.sun.com/projects/awt_data/7/6977762
14-01-2011

EVALUATION One walks through the keymapTable in XWindow.c and find first equality of the keycode in map and return immediately: for (i = 0; keymapTable[i].awtKey != 0; i++) { if (keymapTable[i].awtKey == awtKey) { <...> The table is ordered and has following elements: {java_awt_event_KeyEvent_VK_F11, XK_F11, FALSE, java_awt_event_KeyEvent_KEY_LOCATION_STANDARD}, {java_awt_event_KeyEvent_VK_F12, XK_F12, FALSE, java_awt_event_KeyEvent_KEY_LOCATION_STANDARD}, /* Sun vendor-specific version of F11 and F12 */ {java_awt_event_KeyEvent_VK_F11, SunXK_F36, FALSE, java_awt_event_KeyEvent_KEY_LOCATION_STANDARD}, {java_awt_event_KeyEvent_VK_F12, SunXK_F37, FALSE, java_awt_event_KeyEvent_KEY_LOCATION_STANDARD}, With Sun keyboard we probably want returning SunXK_F36 and SunXK_F37 respectively. Seem for VK_AGAIN, etc. we also have ordered sequence of equal keys in the map so potentially will have to do similar thing for them as well.
15-12-2010

EVALUATION On Sun keyboards there are vendor-specific X11 keysym constants for keys marked F11 and F12 (SunXK_F36 and SunXK_F37, corresp.). Keysyms reserved elsewhere for F11 and F12 are fired when user does press Stop and Again keys. Now, code in XToolkit correctly process real keystrokes, however in case of the Robot there still is ambiguity because for producing fake keysyms, a native code for Robot does use a 1:1 table disregarding vendor specifics.
18-08-2010