src/share/classes/java/awt/event/KeyEvent.java

Print this page

        

*** 1,7 **** /* ! * Copyright (c) 1996, 2009, Oracle and/or its affiliates. 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 * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. Oracle designates this --- 1,7 ---- /* ! * Copyright (c) 1996, 2013, Oracle and/or its affiliates. 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 * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. Oracle designates this
*** 130,140 **** * </ul> * * <p> * WARNING: Aside from those keys that are defined by the Java language * (VK_ENTER, VK_BACK_SPACE, and VK_TAB), do not rely on the values of the VK_ ! * constants. Sun reserves the right to change these values as needed * to accommodate a wider range of keyboards in the future. * <p> * An unspecified behavior will be caused if the {@code id} parameter * of any particular {@code KeyEvent} instance is not * in the range from {@code KEY_FIRST} to {@code KEY_LAST}. --- 130,140 ---- * </ul> * * <p> * WARNING: Aside from those keys that are defined by the Java language * (VK_ENTER, VK_BACK_SPACE, and VK_TAB), do not rely on the values of the VK_ ! * constants. The platform steward reserves the right to change these values as needed * to accommodate a wider range of keyboards in the future. * <p> * An unspecified behavior will be caused if the {@code id} parameter * of any particular {@code KeyEvent} instance is not * in the range from {@code KEY_FIRST} to {@code KEY_LAST}.
*** 192,216 **** --- 192,247 ---- */ public static final int KEY_RELEASED = 2 + KEY_FIRST; //Event.KEY_RELEASE /* Virtual key codes. */ + /** Constant for the ENTER virtual key. */ public static final int VK_ENTER = '\n'; + + /** Constant for the BACK_SPACE virtual key. */ public static final int VK_BACK_SPACE = '\b'; + + /** Constant for the TAB virtual key. */ public static final int VK_TAB = '\t'; + + /** Constant for the CANCEL virtual key. */ public static final int VK_CANCEL = 0x03; + + /** Constant for the CLEAR virtual key. */ public static final int VK_CLEAR = 0x0C; + + /** Constant for the SHIFT virtual key. */ public static final int VK_SHIFT = 0x10; + + /** Constant for the CONTROL virtual key. */ public static final int VK_CONTROL = 0x11; + + /** Constant for the ALT virtual key. */ public static final int VK_ALT = 0x12; + + /** Constant for the PAUSE virtual key. */ public static final int VK_PAUSE = 0x13; + + /** Constant for the CAPS_LOCK virtual key. */ public static final int VK_CAPS_LOCK = 0x14; + + /** Constant for the ESCAPE virtual key. */ public static final int VK_ESCAPE = 0x1B; + + /** Constant for the SPACE virtual key. */ public static final int VK_SPACE = 0x20; + + /** Constant for the PAGE_UP virtual key. */ public static final int VK_PAGE_UP = 0x21; + + /** Constant for the PAGE_DOWN virtual key. */ public static final int VK_PAGE_DOWN = 0x22; + + /** Constant for the END virtual key. */ public static final int VK_END = 0x23; + + /** Constant for the HOME virtual key. */ public static final int VK_HOME = 0x24; /** * Constant for the non-numpad <b>left</b> arrow key. * @see #VK_KP_LEFT
*** 255,273 **** --- 286,324 ---- * Constant for the forward slash key, "/" */ public static final int VK_SLASH = 0x2F; /** VK_0 thru VK_9 are the same as ASCII '0' thru '9' (0x30 - 0x39) */ + + /** Constant for the "0" key. */ public static final int VK_0 = 0x30; + + /** Constant for the "1" key. */ public static final int VK_1 = 0x31; + + /** Constant for the "2" key. */ public static final int VK_2 = 0x32; + + /** Constant for the "3" key. */ public static final int VK_3 = 0x33; + + /** Constant for the "4" key. */ public static final int VK_4 = 0x34; + + /** Constant for the "5" key. */ public static final int VK_5 = 0x35; + + /** Constant for the "6" key. */ public static final int VK_6 = 0x36; + + /** Constant for the "7" key. */ public static final int VK_7 = 0x37; + + /** Constant for the "8" key. */ public static final int VK_8 = 0x38; + + /** Constant for the "9" key. */ public static final int VK_9 = 0x39; /** * Constant for the semicolon key, ";" */
*** 277,311 **** --- 328,414 ---- * Constant for the equals key, "=" */ public static final int VK_EQUALS = 0x3D; /** VK_A thru VK_Z are the same as ASCII 'A' thru 'Z' (0x41 - 0x5A) */ + + /** Constant for the "A" key. */ public static final int VK_A = 0x41; + + /** Constant for the "B" key. */ public static final int VK_B = 0x42; + + /** Constant for the "C" key. */ public static final int VK_C = 0x43; + + /** Constant for the "D" key. */ public static final int VK_D = 0x44; + + /** Constant for the "E" key. */ public static final int VK_E = 0x45; + + /** Constant for the "F" key. */ public static final int VK_F = 0x46; + + /** Constant for the "G" key. */ public static final int VK_G = 0x47; + + /** Constant for the "H" key. */ public static final int VK_H = 0x48; + + /** Constant for the "I" key. */ public static final int VK_I = 0x49; + + /** Constant for the "J" key. */ public static final int VK_J = 0x4A; + + /** Constant for the "K" key. */ public static final int VK_K = 0x4B; + + /** Constant for the "L" key. */ public static final int VK_L = 0x4C; + + /** Constant for the "M" key. */ public static final int VK_M = 0x4D; + + /** Constant for the "N" key. */ public static final int VK_N = 0x4E; + + /** Constant for the "O" key. */ public static final int VK_O = 0x4F; + + /** Constant for the "P" key. */ public static final int VK_P = 0x50; + + /** Constant for the "Q" key. */ public static final int VK_Q = 0x51; + + /** Constant for the "R" key. */ public static final int VK_R = 0x52; + + /** Constant for the "S" key. */ public static final int VK_S = 0x53; + + /** Constant for the "T" key. */ public static final int VK_T = 0x54; + + /** Constant for the "U" key. */ public static final int VK_U = 0x55; + + /** Constant for the "V" key. */ public static final int VK_V = 0x56; + + /** Constant for the "W" key. */ public static final int VK_W = 0x57; + + /** Constant for the "X" key. */ public static final int VK_X = 0x58; + + /** Constant for the "Y" key. */ public static final int VK_Y = 0x59; + + /** Constant for the "Z" key. */ public static final int VK_Z = 0x5A; /** * Constant for the open bracket key, "[" */
*** 319,339 **** --- 422,465 ---- /** * Constant for the close bracket key, "]" */ public static final int VK_CLOSE_BRACKET = 0x5D; + /** Constant for the number pad "0" key. */ public static final int VK_NUMPAD0 = 0x60; + + /** Constant for the number pad "1" key. */ public static final int VK_NUMPAD1 = 0x61; + + /** Constant for the number pad "2" key. */ public static final int VK_NUMPAD2 = 0x62; + + /** Constant for the number pad "3" key. */ public static final int VK_NUMPAD3 = 0x63; + + /** Constant for the number pad "4" key. */ public static final int VK_NUMPAD4 = 0x64; + + /** Constant for the number pad "5" key. */ public static final int VK_NUMPAD5 = 0x65; + + /** Constant for the number pad "6" key. */ public static final int VK_NUMPAD6 = 0x66; + + /** Constant for the number pad "7" key. */ public static final int VK_NUMPAD7 = 0x67; + + /** Constant for the number pad "8" key. */ public static final int VK_NUMPAD8 = 0x68; + + /** Constant for the number pad "9" key. */ public static final int VK_NUMPAD9 = 0x69; + + /** Constant for the number pad multiply key. */ public static final int VK_MULTIPLY = 0x6A; + + /** Constant for the number pad add key. */ public static final int VK_ADD = 0x6B; /** * This constant is obsolete, and is included only for backwards * compatibility.
*** 345,359 **** --- 471,496 ---- * Constant for the Numpad Separator key. * @since 1.4 */ public static final int VK_SEPARATOR = VK_SEPARATER; + /** Constant for the number pad subtract key. */ public static final int VK_SUBTRACT = 0x6D; + + /** Constant for the number pad decimal point key. */ public static final int VK_DECIMAL = 0x6E; + + /** Constant for the number pad divide key. */ public static final int VK_DIVIDE = 0x6F; + + /** Constant for the delete key. */ public static final int VK_DELETE = 0x7F; /* ASCII DEL */ + + /** Constant for the NUM_LOCK key. */ public static final int VK_NUM_LOCK = 0x90; + + /** Constant for the SCROLL_LOCK key. */ public static final int VK_SCROLL_LOCK = 0x91; /** Constant for the F1 function key. */ public static final int VK_F1 = 0x70;
*** 461,476 **** --- 598,623 ---- * Constant for the F24 function key. * @since 1.2 */ public static final int VK_F24 = 0xF00B; + /** Constant for the PRINTSCREEN key. */ public static final int VK_PRINTSCREEN = 0x9A; + + /** Constant for the INSERT key. */ public static final int VK_INSERT = 0x9B; + + /** Constant for the HELP key. */ public static final int VK_HELP = 0x9C; + + /** Constant for the META key. */ public static final int VK_META = 0x9D; + /** Constant for the BACK_QUOTE key. */ public static final int VK_BACK_QUOTE = 0xC0; + + /** Constant for the QUOTE key. */ public static final int VK_QUOTE = 0xDE; /** * Constant for the numeric keypad <b>up</b> arrow key. * @see #VK_UP
*** 636,645 **** --- 783,793 ---- public static final int VK_CONTEXT_MENU = 0x020D; /* for input method support on Asian Keyboards */ /* not clear what this means - listed in Microsoft Windows API */ + /** Constant for the FINAL key. */ public static final int VK_FINAL = 0x0018; /** Constant for the Convert function key. */ /* Japanese PC 106 keyboard, Japanese Solaris keyboard: henkan */ public static final int VK_CONVERT = 0x001C;
*** 651,668 **** --- 799,825 ---- /** Constant for the Accept or Commit function key. */ /* Japanese Solaris keyboard: kakutei */ public static final int VK_ACCEPT = 0x001E; /* not clear what this means - listed in Microsoft Windows API */ + /** Constant for the MODECHANGE key. */ public static final int VK_MODECHANGE = 0x001F; /* replaced by VK_KANA_LOCK for Microsoft Windows and Solaris; might still be used on other platforms */ + /** + * Constant for the KANA lock key. + * @see #VK_KANA_LOCK + **/ public static final int VK_KANA = 0x0015; /* replaced by VK_INPUT_METHOD_ON_OFF for Microsoft Windows and Solaris; might still be used for other platforms */ + /** + * Constant for KANJI. + * @see #VK_INPUT_METHOD_ON_OFF + */ public static final int VK_KANJI = 0x0019; /** * Constant for the Alphanumeric function key. * @since 1.2
*** 1083,1093 **** this(source, id, when, modifiers, keyCode, keyChar, KEY_LOCATION_UNKNOWN); } /** ! * @deprecated as of JDK1.1 */ @Deprecated public KeyEvent(Component source, int id, long when, int modifiers, int keyCode) { this(source, id, when, modifiers, keyCode, (char)keyCode); --- 1240,1268 ---- this(source, id, when, modifiers, keyCode, keyChar, KEY_LOCATION_UNKNOWN); } /** ! * @deprecated as of JDK1.1; use {@link #KeyEvent(Component, int, long, int, int, char)} instead ! * @param source The <code>Component</code> that originated the event ! * @param id An integer indicating the type of event. ! * For information on allowable values, see ! * the class description for {@link KeyEvent} ! * @param when A long integer that specifies the time the event ! * occurred. ! * Passing negative or zero value ! * is not recommended ! * @param modifiers The modifier keys down during event (shift, ctrl, ! * alt, meta). ! * Passing negative value ! * is not recommended. ! * Zero value means that no modifiers were passed. ! * Use either an extended _DOWN_MASK or old _MASK modifiers, ! * however do not mix models in the one event. ! * The extended modifiers are preferred for using ! * @param keyCode The integer code for an actual key, or VK_UNDEFINED ! * (for a key-typed event) */ @Deprecated public KeyEvent(Component source, int id, long when, int modifiers, int keyCode) { this(source, id, when, modifiers, keyCode, (char)keyCode);
*** 1182,1191 **** --- 1357,1367 ---- /** * Returns a String describing the keyCode, such as "HOME", "F1" or "A". * These strings can be localized by changing the awt.properties file. * + * @param keyCode the key whose description is to be returned * @return a string containing a text description for a physical key, * identified by its keyCode */ public static String getKeyText(int keyCode) { if (keyCode >= VK_0 && keyCode <= VK_9 ||
*** 1374,1383 **** --- 1550,1560 ---- * so the string "Alt" is returned for both modifiers. Likewise, * <code>InputEvent.META_MASK</code> and * <code>InputEvent.BUTTON3_MASK</code> have the same value, * so the string "Meta" is returned for both modifiers. * + * @param modifiers the modifier mask to be processed * @return string a text description of the combination of modifier * keys that were held down during the event * @see InputEvent#getModifiersExText(int) */ public static String getKeyModifiersText(int modifiers) {
*** 1610,1636 **** * current keyboard layout. For instance, pressing the left topmost letter key * in a common English layout produces the same value as {@code keyCode}, {@code VK_Q}. * Pressing the same key in a regular Russian layout gives another code, unique for the * letter "Cyrillic I short". * * @since 1.7 - * */ public int getExtendedKeyCode() { return (int)extendedKeyCode; } /** * Returns an extended key code for a unicode character. * * @return for a unicode character with a corresponding {@code VK_} constant -- this * {@code VK_} constant; for a character appearing on the primary * level of a known keyboard layout -- a unique integer. * If a character does not appear on the primary level of a known keyboard, * {@code VK_UNDEFINED} is returned. * * @since 1.7 - * */ public static int getExtendedKeyCodeForChar(int c) { // Return a keycode (if any) associated with a character. return sun.awt.ExtendedKeyCodes.getExtendedKeyCodeForChar(c); } --- 1787,1813 ---- * current keyboard layout. For instance, pressing the left topmost letter key * in a common English layout produces the same value as {@code keyCode}, {@code VK_Q}. * Pressing the same key in a regular Russian layout gives another code, unique for the * letter "Cyrillic I short". * + * @return an extended key code for the event * @since 1.7 */ public int getExtendedKeyCode() { return (int)extendedKeyCode; } /** * Returns an extended key code for a unicode character. * + * @param c the unicode character to be processed * @return for a unicode character with a corresponding {@code VK_} constant -- this * {@code VK_} constant; for a character appearing on the primary * level of a known keyboard layout -- a unique integer. * If a character does not appear on the primary level of a known keyboard, * {@code VK_UNDEFINED} is returned. * * @since 1.7 */ public static int getExtendedKeyCodeForChar(int c) { // Return a keycode (if any) associated with a character. return sun.awt.ExtendedKeyCodes.getExtendedKeyCodeForChar(c); }