From 51ef95c39640b565aa01af50458bf2110d338c8d Mon Sep 17 00:00:00 2001 From: Yuri Nesterenko Date: Fri, 27 Mar 2009 12:01:24 +0300 Subject: [PATCH] 6680988: KeyEvent is still missing VK values for many keyboards 2 new methods and some fields added to KeyEvent, plus hash of constants introduced Reviewed-by: art --- jdk/make/sun/awt/FILES_export_unix.gmk | 5 +- jdk/make/sun/awt/FILES_export_windows.gmk | 5 +- jdk/make/sun/xawt/mapfile-vers | 18 +- .../share/classes/java/awt/AWTKeyStroke.java | 5 +- jdk/src/share/classes/java/awt/MenuItem.java | 6 +- .../share/classes/java/awt/MenuShortcut.java | 18 +- .../classes/java/awt/event/KeyEvent.java | 58 +- .../classes/javax/swing/AbstractButton.java | 5 +- jdk/src/share/classes/javax/swing/Action.java | 6 +- .../share/classes/javax/swing/JComponent.java | 19 +- jdk/src/share/classes/javax/swing/JLabel.java | 10 +- .../classes/javax/swing/JTabbedPane.java | 6 +- .../share/classes/javax/swing/KeyStroke.java | 8 +- .../classes/javax/swing/KeyboardManager.java | 27 +- .../classes/javax/swing/SwingUtilities.java | 11 +- .../classes/sun/awt/ExtendedKeyCodes.java | 670 ++++++++++++++++++ .../classes/sun/awt/X11/XConstants.java | 17 +- .../solaris/classes/sun/awt/X11/XKeysym.java | 60 +- .../solaris/classes/sun/awt/X11/XToolkit.java | 149 +++- .../solaris/classes/sun/awt/X11/XWindow.java | 93 ++- .../classes/sun/awt/X11/XlibWrapper.java | 26 +- .../awt/X11/generator/WrapperGenerator.java | 1 + .../sun/awt/X11/generator/xlibtypes.txt | 230 +++++- .../solaris/classes/sun/awt/X11/keysym2ucs.h | 62 +- jdk/src/solaris/native/sun/xawt/XlibWrapper.c | 109 ++- .../native/sun/windows/awt_Component.cpp | 177 ++++- .../native/sun/windows/awt_Component.h | 12 +- .../native/sun/windows/awt_InputMethod.cpp | 4 +- .../native/sun/windows/awt_KeyEvent.cpp | 15 +- .../windows/native/sun/windows/awt_KeyEvent.h | 5 +- .../AcceleratorTest/AcceleratorTest.html | 20 + .../AcceleratorTest/AcceleratorTest.java | 305 ++++++++ 32 files changed, 2063 insertions(+), 99 deletions(-) create mode 100644 jdk/src/share/classes/sun/awt/ExtendedKeyCodes.java create mode 100644 jdk/test/java/awt/event/KeyEvent/AcceleratorTest/AcceleratorTest.html create mode 100644 jdk/test/java/awt/event/KeyEvent/AcceleratorTest/AcceleratorTest.java diff --git a/jdk/make/sun/awt/FILES_export_unix.gmk b/jdk/make/sun/awt/FILES_export_unix.gmk index 43637e7c4cb..79246c6bc41 100644 --- a/jdk/make/sun/awt/FILES_export_unix.gmk +++ b/jdk/make/sun/awt/FILES_export_unix.gmk @@ -1,5 +1,5 @@ # -# Copyright 2000-2008 Sun Microsystems, Inc. All Rights Reserved. +# Copyright 2000-2009 Sun Microsystems, Inc. All Rights Reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # This code is free software; you can redistribute it and/or modify it @@ -107,7 +107,8 @@ FILES_export = \ sun/java2d/x11/X11Renderer.java \ sun/java2d/x11/X11SurfaceData.java \ com/sun/java/swing/plaf/gtk/GTKEngine.java \ - com/sun/java/swing/plaf/gtk/GTKStyle.java + com/sun/java/swing/plaf/gtk/GTKStyle.java \ + sun/awt/ExtendedKeyCodes.java FILES_export2 = \ diff --git a/jdk/make/sun/awt/FILES_export_windows.gmk b/jdk/make/sun/awt/FILES_export_windows.gmk index 95933ceb396..27627494458 100644 --- a/jdk/make/sun/awt/FILES_export_windows.gmk +++ b/jdk/make/sun/awt/FILES_export_windows.gmk @@ -1,5 +1,5 @@ # -# Copyright 2000-2008 Sun Microsystems, Inc. All Rights Reserved. +# Copyright 2000-2009 Sun Microsystems, Inc. All Rights Reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # This code is free software; you can redistribute it and/or modify it @@ -154,7 +154,7 @@ FILES_export2 = \ sun/awt/datatransfer/DataTransferer.java \ sun/awt/datatransfer/SunClipboard.java \ sun/awt/dnd/SunDragSourceContextPeer.java \ - sun/awt/windows/WToolkitThreadBlockedHandler.java + sun/awt/windows/WToolkitThreadBlockedHandler.java FILES_export3 = \ java/awt/CheckboxMenuItem.java \ @@ -214,6 +214,7 @@ FILES_export3 = \ sun/awt/windows/WBufferStrategy.java \ sun/awt/windows/WTrayIconPeer.java \ sun/awt/image/ImagingLib.java \ + sun/awt/ExtendedKeyCodes.java \ sun/java2d/pipe/hw/AccelSurface.java \ sun/java2d/pipe/hw/AccelDeviceEventNotifier.java \ sun/java2d/pipe/hw/ContextCapabilities.java \ diff --git a/jdk/make/sun/xawt/mapfile-vers b/jdk/make/sun/xawt/mapfile-vers index 2eef2391e8e..8aaaef7f260 100644 --- a/jdk/make/sun/xawt/mapfile-vers +++ b/jdk/make/sun/xawt/mapfile-vers @@ -1,5 +1,5 @@ # -# Copyright 2002-2008 Sun Microsystems, Inc. All Rights Reserved. +# Copyright 2002-2009 Sun Microsystems, Inc. All Rights Reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # This code is free software; you can redistribute it and/or modify it @@ -293,16 +293,26 @@ SUNWprivate_1.1 { Java_sun_awt_X11_XlibWrapper_XGetIconSizes; Java_sun_awt_X11_XlibWrapper_XKeycodeToKeysym; Java_sun_awt_X11_XlibWrapper_XKeysymToKeycode; - Java_sun_awt_X11_XlibWrapper_XQueryKeymap; + Java_sun_awt_X11_XlibWrapper_XQueryKeymap; + Java_sun_awt_X11_XlibWrapper_XkbGetEffectiveGroup; + Java_sun_awt_X11_XlibWrapper_XkbSelectEvents; + Java_sun_awt_X11_XlibWrapper_XkbSelectEventDetails; + Java_sun_awt_X11_XlibWrapper_XkbKeycodeToKeysym; + Java_sun_awt_X11_XlibWrapper_XkbLibraryVersion; + Java_sun_awt_X11_XlibWrapper_XkbQueryExtension; + Java_sun_awt_X11_XlibWrapper_XkbGetMap; + Java_sun_awt_X11_XlibWrapper_XkbGetUpdatedMap; + Java_sun_awt_X11_XlibWrapper_XkbFreeKeyboard; + Java_sun_awt_X11_XlibWrapper_XkbTranslateKeyCode; Java_sun_awt_X11_XlibWrapper_XGetModifierMapping; - Java_sun_awt_X11_XlibWrapper_XFreeModifiermap; + Java_sun_awt_X11_XlibWrapper_XFreeModifiermap; Java_sun_awt_X11_XlibWrapper_XChangeActivePointerGrab; Java_sun_awt_X11_XlibWrapper_XNextSecondaryLoopEvent; Java_sun_awt_X11_XlibWrapper_ExitSecondaryLoop; Java_sun_awt_X11_XlibWrapper_XTextPropertyToStringList; Java_sun_awt_X11_XlibWrapper_XGrabServer; Java_sun_awt_X11_XlibWrapper_XUngrabServer; - Java_sun_awt_X11_XlibWrapper_XPutBackEvent; + Java_sun_awt_X11_XlibWrapper_XPutBackEvent; Java_sun_awt_X11_XlibWrapper_XConvertCase; Java_sun_awt_X11_XlibWrapper_XSynchronize; Java_java_awt_FileDialog_initIDs; diff --git a/jdk/src/share/classes/java/awt/AWTKeyStroke.java b/jdk/src/share/classes/java/awt/AWTKeyStroke.java index 12e43dc0a14..35f57bae358 100644 --- a/jdk/src/share/classes/java/awt/AWTKeyStroke.java +++ b/jdk/src/share/classes/java/awt/AWTKeyStroke.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2006 Sun Microsystems, Inc. All Rights Reserved. + * Copyright 2000-2009 Sun Microsystems, Inc. All Rights Reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -329,6 +329,9 @@ public class AWTKeyStroke implements Serializable { *
  • java.awt.event.KeyEvent.VK_TAB *
  • java.awt.event.KeyEvent.VK_SPACE * + * Alternatively, the key code may be obtained by calling + * java.awt.event.KeyEvent.getExtendedKeyCodeForChar. + * * The modifiers consist of any combination of: + * Alternatively, the key code may be obtained by calling + * java.awt.event.KeyEvent.getExtendedKeyCodeForChar. + * * The modifiers consist of any combination of: + * Alternatively, the key code may be obtained by calling + * java.awt.event.KeyEvent.getExtendedKeyCodeForChar. + * * The modifiers consist of any combination of: