diff -r dfbb8f49cd7a javafx-ui-common/src/javafx/scene/input/KeyCode.java
--- a/javafx-ui-common/src/javafx/scene/input/KeyCode.java	Thu Apr 12 23:12:15 2012 +0400
+++ b/javafx-ui-common/src/javafx/scene/input/KeyCode.java	Fri May 04 08:23:53 2012 +0200
@@ -36,7 +36,7 @@
     /**
      * Constant for the {@code Enter} key.
      */
-    ENTER(0x0A, "Enter"),
+    ENTER(0x0A, "Enter", KeyCodeClass.WHITESPACE),
 
     /**
      * Constant for the {@code Backspace} key.
@@ -46,7 +46,7 @@
     /**
      * Constant for the {@code Tab} key.
      */
-    TAB(0x09, "Tab"),
+    TAB(0x09, "Tab", KeyCodeClass.WHITESPACE),
 
     /**
      * Constant for the {@code Cancel} key.
@@ -61,17 +61,17 @@
     /**
      * Constant for the {@code Shift} key.
      */
-    SHIFT(0x10, "Shift"),
+    SHIFT(0x10, "Shift", KeyCodeClass.MODIFIER),
 
     /**
      * Constant for the {@code Ctrl} key.
      */
-    CONTROL(0x11, "Ctrl"),
+    CONTROL(0x11, "Ctrl", KeyCodeClass.MODIFIER),
 
     /**
      * Constant for the {@code Alt} key.
      */
-    ALT(0x12, "Alt"),
+    ALT(0x12, "Alt", KeyCodeClass.MODIFIER),
 
     /**
      * Constant for the {@code Pause} key.
@@ -91,47 +91,47 @@
     /**
      * Constant for the {@code Space} key.
      */
-    SPACE(0x20, "Space"),
+    SPACE(0x20, "Space", KeyCodeClass.WHITESPACE),
 
     /**
      * Constant for the {@code Page Up} key.
      */
-    PAGE_UP(0x21, "Page Up"),
+    PAGE_UP(0x21, "Page Up", KeyCodeClass.NAVIGATION),
 
     /**
      * Constant for the {@code Page Down} key.
      */
-    PAGE_DOWN(0x22, "Page Down"),
+    PAGE_DOWN(0x22, "Page Down", KeyCodeClass.NAVIGATION),
 
     /**
      * Constant for the {@code End} key.
      */
-    END(0x23, "End"),
+    END(0x23, "End", KeyCodeClass.NAVIGATION),
 
     /**
      * Constant for the {@code Home} key.
      */
-    HOME(0x24, "Home"),
+    HOME(0x24, "Home", KeyCodeClass.NAVIGATION),
 
     /**
      * Constant for the non-numpad <b>left</b> arrow key.
      */
-    LEFT(0x25, "Left"),
+    LEFT(0x25, "Left", KeyCodeClass.ARROW | KeyCodeClass.NAVIGATION),
 
     /**
      * Constant for the non-numpad <b>up</b> arrow key.
      */
-    UP(0x26, "Up"),
+    UP(0x26, "Up", KeyCodeClass.ARROW | KeyCodeClass.NAVIGATION),
 
     /**
      * Constant for the non-numpad <b>right</b> arrow key.
      */
-    RIGHT(0x27, "Right"),
+    RIGHT(0x27, "Right", KeyCodeClass.ARROW | KeyCodeClass.NAVIGATION),
 
     /**
      * Constant for the non-numpad <b>down</b> arrow key.
      */
-    DOWN(0x28, "Down"),
+    DOWN(0x28, "Down", KeyCodeClass.ARROW | KeyCodeClass.NAVIGATION),
 
     /**
      * Constant for the comma key, ","
@@ -156,52 +156,52 @@
     /**
      * Constant for the {@code 0} key.
      */
-    DIGIT0(0x30, "0"),
+    DIGIT0(0x30, "0", KeyCodeClass.DIGIT),
 
     /**
      * Constant for the {@code 1} key.
      */
-    DIGIT1(0x31, "1"),
+    DIGIT1(0x31, "1", KeyCodeClass.DIGIT),
 
     /**
      * Constant for the {@code 2} key.
      */
-    DIGIT2(0x32, "2"),
+    DIGIT2(0x32, "2", KeyCodeClass.DIGIT),
 
     /**
      * Constant for the {@code 3} key.
      */
-    DIGIT3(0x33, "3"),
+    DIGIT3(0x33, "3", KeyCodeClass.DIGIT),
 
     /**
      * Constant for the {@code 4} key.
      */
-    DIGIT4(0x34, "4"),
+    DIGIT4(0x34, "4", KeyCodeClass.DIGIT),
 
     /**
      * Constant for the {@code 5} key.
      */
-    DIGIT5(0x35, "5"),
+    DIGIT5(0x35, "5", KeyCodeClass.DIGIT),
 
     /**
      * Constant for the {@code 6} key.
      */
-    DIGIT6(0x36, "6"),
+    DIGIT6(0x36, "6", KeyCodeClass.DIGIT),
 
     /**
      * Constant for the {@code 7} key.
      */
-    DIGIT7(0x37, "7"),
+    DIGIT7(0x37, "7", KeyCodeClass.DIGIT),
 
     /**
      * Constant for the {@code 8} key.
      */
-    DIGIT8(0x38, "8"),
+    DIGIT8(0x38, "8", KeyCodeClass.DIGIT),
 
     /**
      * Constant for the {@code 9} key.
      */
-    DIGIT9(0x39, "9"),
+    DIGIT9(0x39, "9", KeyCodeClass.DIGIT),
 
     /**
      * Constant for the semicolon key, ";"
@@ -216,132 +216,132 @@
     /**
      * Constant for the {@code A} key.
      */
-    A(0x41, "A"),
+    A(0x41, "A", KeyCodeClass.LETTER),
 
     /**
      * Constant for the {@code B} key.
      */
-    B(0x42, "B"),
+    B(0x42, "B", KeyCodeClass.LETTER),
 
     /**
      * Constant for the {@code C} key.
      */
-    C(0x43, "C"),
+    C(0x43, "C", KeyCodeClass.LETTER),
 
     /**
      * Constant for the {@code D} key.
      */
-    D(0x44, "D"),
+    D(0x44, "D", KeyCodeClass.LETTER),
 
     /**
      * Constant for the {@code E} key.
      */
-    E(0x45, "E"),
+    E(0x45, "E", KeyCodeClass.LETTER),
 
     /**
      * Constant for the {@code F} key.
      */
-    F(0x46, "F"),
+    F(0x46, "F", KeyCodeClass.LETTER),
 
     /**
      * Constant for the {@code G} key.
      */
-    G(0x47, "G"),
+    G(0x47, "G", KeyCodeClass.LETTER),
 
     /**
      * Constant for the {@code H} key.
      */
-    H(0x48, "H"),
+    H(0x48, "H", KeyCodeClass.LETTER),
 
     /**
      * Constant for the {@code I} key.
      */
-    I(0x49, "I"),
+    I(0x49, "I", KeyCodeClass.LETTER),
 
     /**
      * Constant for the {@code J} key.
      */
-    J(0x4A, "J"),
+    J(0x4A, "J", KeyCodeClass.LETTER),
 
     /**
      * Constant for the {@code K} key.
      */
-    K(0x4B, "K"),
+    K(0x4B, "K", KeyCodeClass.LETTER),
 
     /**
      * Constant for the {@code L} key.
      */
-    L(0x4C, "L"),
+    L(0x4C, "L", KeyCodeClass.LETTER),
 
     /**
      * Constant for the {@code M} key.
      */
-    M(0x4D, "M"),
+    M(0x4D, "M", KeyCodeClass.LETTER),
 
     /**
      * Constant for the {@code N} key.
      */
-    N(0x4E, "N"),
+    N(0x4E, "N", KeyCodeClass.LETTER),
 
     /**
      * Constant for the {@code O} key.
      */
-    O(0x4F, "O"),
+    O(0x4F, "O", KeyCodeClass.LETTER),
 
     /**
      * Constant for the {@code P} key.
      */
-    P(0x50, "P"),
+    P(0x50, "P", KeyCodeClass.LETTER),
 
     /**
      * Constant for the {@code Q} key.
      */
-    Q(0x51, "Q"),
+    Q(0x51, "Q", KeyCodeClass.LETTER),
 
     /**
      * Constant for the {@code R} key.
      */
-    R(0x52, "R"),
+    R(0x52, "R", KeyCodeClass.LETTER),
 
     /**
      * Constant for the {@code S} key.
      */
-    S(0x53, "S"),
+    S(0x53, "S", KeyCodeClass.LETTER),
 
     /**
      * Constant for the {@code T} key.
      */
-    T(0x54, "T"),
+    T(0x54, "T", KeyCodeClass.LETTER),
 
     /**
      * Constant for the {@code U} key.
      */
-    U(0x55, "U"),
+    U(0x55, "U", KeyCodeClass.LETTER),
 
     /**
      * Constant for the {@code V} key.
      */
-    V(0x56, "V"),
+    V(0x56, "V", KeyCodeClass.LETTER),
 
     /**
      * Constant for the {@code W} key.
      */
-    W(0x57, "W"),
+    W(0x57, "W", KeyCodeClass.LETTER),
 
     /**
      * Constant for the {@code X} key.
      */
-    X(0x58, "X"),
+    X(0x58, "X", KeyCodeClass.LETTER),
 
     /**
      * Constant for the {@code Y} key.
      */
-    Y(0x59, "Y"),
+    Y(0x59, "Y", KeyCodeClass.LETTER),
 
     /**
      * Constant for the {@code Z} key.
      */
-    Z(0x5A, "Z"),
+    Z(0x5A, "Z", KeyCodeClass.LETTER),
 
     /**
      * Constant for the open bracket key, "["
@@ -361,52 +361,52 @@
     /**
      * Constant for the {@code Numpad 0} key.
      */
-    NUMPAD0(0x60, "Numpad 0"),
+    NUMPAD0(0x60, "Numpad 0", KeyCodeClass.DIGIT | KeyCodeClass.KEYPAD),
 
     /**
      * Constant for the {@code Numpad 1} key.
      */
-    NUMPAD1(0x61, "Numpad 1"),
+    NUMPAD1(0x61, "Numpad 1", KeyCodeClass.DIGIT | KeyCodeClass.KEYPAD),
 
     /**
      * Constant for the {@code Numpad 2} key.
      */
-    NUMPAD2(0x62, "Numpad 2"),
+    NUMPAD2(0x62, "Numpad 2", KeyCodeClass.DIGIT | KeyCodeClass.KEYPAD),
 
     /**
      * Constant for the {@code Numpad 3} key.
      */
-    NUMPAD3(0x63, "Numpad 3"),
+    NUMPAD3(0x63, "Numpad 3", KeyCodeClass.DIGIT | KeyCodeClass.KEYPAD),
 
     /**
      * Constant for the {@code Numpad 4} key.
      */
-    NUMPAD4(0x64, "Numpad 4"),
+    NUMPAD4(0x64, "Numpad 4", KeyCodeClass.DIGIT | KeyCodeClass.KEYPAD),
 
     /**
      * Constant for the {@code Numpad 5} key.
      */
-    NUMPAD5(0x65, "Numpad 5"),
+    NUMPAD5(0x65, "Numpad 5", KeyCodeClass.DIGIT | KeyCodeClass.KEYPAD),
 
     /**
      * Constant for the {@code Numpad 6} key.
      */
-    NUMPAD6(0x66, "Numpad 6"),
+    NUMPAD6(0x66, "Numpad 6", KeyCodeClass.DIGIT | KeyCodeClass.KEYPAD),
 
     /**
      * Constant for the {@code Numpad 7} key.
      */
-    NUMPAD7(0x67, "Numpad 7"),
+    NUMPAD7(0x67, "Numpad 7", KeyCodeClass.DIGIT | KeyCodeClass.KEYPAD),
 
     /**
      * Constant for the {@code Numpad 8} key.
      */
-    NUMPAD8(0x68, "Numpad 8"),
+    NUMPAD8(0x68, "Numpad 8", KeyCodeClass.DIGIT | KeyCodeClass.KEYPAD),
 
     /**
      * Constant for the {@code Numpad 9} key.
      */
-    NUMPAD9(0x69, "Numpad 9"),
+    NUMPAD9(0x69, "Numpad 9", KeyCodeClass.DIGIT | KeyCodeClass.KEYPAD),
 
     /**
      * Constant for the {@code Multiply} key.
@@ -456,122 +456,122 @@
     /**
      * Constant for the F1 function key.
      */
-    F1(0x70, "F1"),
+    F1(0x70, "F1", KeyCodeClass.FUNCTION),
 
     /**
      * Constant for the F2 function key.
      */
-    F2(0x71, "F2"),
+    F2(0x71, "F2", KeyCodeClass.FUNCTION),
 
     /**
      * Constant for the F3 function key.
      */
-    F3(0x72, "F3"),
+    F3(0x72, "F3", KeyCodeClass.FUNCTION),
 
     /**
      * Constant for the F4 function key.
      */
-    F4(0x73, "F4"),
+    F4(0x73, "F4", KeyCodeClass.FUNCTION),
 
     /**
      * Constant for the F5 function key.
      */
-    F5(0x74, "F5"),
+    F5(0x74, "F5", KeyCodeClass.FUNCTION),
 
     /**
      * Constant for the F6 function key.
      */
-    F6(0x75, "F6"),
+    F6(0x75, "F6", KeyCodeClass.FUNCTION),
 
     /**
      * Constant for the F7 function key.
      */
-    F7(0x76, "F7"),
+    F7(0x76, "F7", KeyCodeClass.FUNCTION),
 
     /**
      * Constant for the F8 function key.
      */
-    F8(0x77, "F8"),
+    F8(0x77, "F8", KeyCodeClass.FUNCTION),
 
     /**
      * Constant for the F9 function key.
      */
-    F9(0x78, "F9"),
+    F9(0x78, "F9", KeyCodeClass.FUNCTION),
 
     /**
      * Constant for the F10 function key.
      */
-    F10(0x79, "F10"),
+    F10(0x79, "F10", KeyCodeClass.FUNCTION),
 
     /**
      * Constant for the F11 function key.
      */
-    F11(0x7A, "F11"),
+    F11(0x7A, "F11", KeyCodeClass.FUNCTION),
 
     /**
      * Constant for the F12 function key.
      */
-    F12(0x7B, "F12"),
+    F12(0x7B, "F12", KeyCodeClass.FUNCTION),
 
     /**
      * Constant for the F13 function key.
      */
-    F13(0xF000, "F13"),
+    F13(0xF000, "F13", KeyCodeClass.FUNCTION),
 
     /**
      * Constant for the F14 function key.
      */
-    F14(0xF001, "F14"),
+    F14(0xF001, "F14", KeyCodeClass.FUNCTION),
 
     /**
      * Constant for the F15 function key.
      */
-    F15(0xF002, "F15"),
+    F15(0xF002, "F15", KeyCodeClass.FUNCTION),
 
     /**
      * Constant for the F16 function key.
      */
-    F16(0xF003, "F16"),
+    F16(0xF003, "F16", KeyCodeClass.FUNCTION),
 
     /**
      * Constant for the F17 function key.
      */
-    F17(0xF004, "F17"),
+    F17(0xF004, "F17", KeyCodeClass.FUNCTION),
 
     /**
      * Constant for the F18 function key.
      */
-    F18(0xF005, "F18"),
+    F18(0xF005, "F18", KeyCodeClass.FUNCTION),
 
     /**
      * Constant for the F19 function key.
      */
-    F19(0xF006, "F19"),
+    F19(0xF006, "F19", KeyCodeClass.FUNCTION),
 
     /**
      * Constant for the F20 function key.
      */
-    F20(0xF007, "F20"),
+    F20(0xF007, "F20", KeyCodeClass.FUNCTION),
 
     /**
      * Constant for the F21 function key.
      */
-    F21(0xF008, "F21"),
+    F21(0xF008, "F21", KeyCodeClass.FUNCTION),
 
     /**
      * Constant for the F22 function key.
      */
-    F22(0xF009, "F22"),
+    F22(0xF009, "F22", KeyCodeClass.FUNCTION),
 
     /**
      * Constant for the F23 function key.
      */
-    F23(0xF00A, "F23"),
+    F23(0xF00A, "F23", KeyCodeClass.FUNCTION),
 
     /**
      * Constant for the F24 function key.
      */
-    F24(0xF00B, "F24"),
+    F24(0xF00B, "F24", KeyCodeClass.FUNCTION),
 
     /**
      * Constant for the {@code Print Screen} key.
@@ -591,7 +591,7 @@
     /**
      * Constant for the {@code Meta} key.
      */
-    META(0x9D, "Meta"),
+    META(0x9D, "Meta", KeyCodeClass.MODIFIER),
 
     /**
      * Constant for the {@code Back Quote} key.
@@ -606,22 +606,22 @@
     /**
      * Constant for the numeric keypad <b>up</b> arrow key.
      */
-    KP_UP(0xE0, "Numpad Up"),
+    KP_UP(0xE0, "Numpad Up", KeyCodeClass.ARROW | KeyCodeClass.NAVIGATION | KeyCodeClass.KEYPAD),
 
     /**
      * Constant for the numeric keypad <b>down</b> arrow key.
      */
-    KP_DOWN(0xE1, "Numpad Down"),
+    KP_DOWN(0xE1, "Numpad Down", KeyCodeClass.ARROW | KeyCodeClass.NAVIGATION | KeyCodeClass.KEYPAD),
 
     /**
      * Constant for the numeric keypad <b>left</b> arrow key.
      */
-    KP_LEFT(0xE2, "Numpad Left"),
+    KP_LEFT(0xE2, "Numpad Left", KeyCodeClass.ARROW | KeyCodeClass.NAVIGATION | KeyCodeClass.KEYPAD),
 
     /**
      * Constant for the numeric keypad <b>right</b> arrow key.
      */
-    KP_RIGHT(0xE3, "Numpad Right"),
+    KP_RIGHT(0xE3, "Numpad Right", KeyCodeClass.ARROW | KeyCodeClass.NAVIGATION | KeyCodeClass.KEYPAD),
 
     /**
      * Constant for the {@code Dead Grave} key.
@@ -802,7 +802,7 @@
      * Constant for the Microsoft Windows "Windows" key.
      * It is used for both the left and right version of the key.
      */
-    WINDOWS(0x020C, "Windows"),
+    WINDOWS(0x020C, "Windows", KeyCodeClass.MODIFIER),
 
     /**
      * Constant for the Microsoft Windows Context Menu key.
@@ -964,7 +964,7 @@
     /**
      * Constant for the AltGraph function key.
      */
-    ALT_GRAPH(0xFF7E, "Alt Graph"),
+    ALT_GRAPH(0xFF7E, "Alt Graph", KeyCodeClass.MODIFIER),
 
     /**
      * Constant for the Begin key.
@@ -1104,67 +1104,67 @@
     /**
      * Constant for the {@code Eject} key.
      */
-    EJECT_TOGGLE(0x19E, "Eject"),
+    EJECT_TOGGLE(0x19E, "Eject", KeyCodeClass.MEDIA),
 
     /**
      * Constant for the {@code Play} key.
      */
-    PLAY(0x19F, "Play"),
+    PLAY(0x19F, "Play", KeyCodeClass.MEDIA),
 
     /**
      * Constant for the {@code Record} key.
      */
-    RECORD(0x1A0, "Record"),
+    RECORD(0x1A0, "Record", KeyCodeClass.MEDIA),
 
     /**
      * Constant for the {@code Fast Forward} key.
      */
-    FAST_FWD(0x1A1, "Fast Forward"),
+    FAST_FWD(0x1A1, "Fast Forward", KeyCodeClass.MEDIA),
 
     /**
      * Constant for the {@code Rewind} key.
      */
-    REWIND(0x19C, "Rewind"),
+    REWIND(0x19C, "Rewind", KeyCodeClass.MEDIA),
 
     /**
      * Constant for the {@code Previous Track} key.
      */
-    TRACK_PREV(0x1A8, "Previous Track"),
+    TRACK_PREV(0x1A8, "Previous Track", KeyCodeClass.MEDIA),
 
     /**
      * Constant for the {@code Next Track} key.
      */
-    TRACK_NEXT(0x1A9, "Next Track"),
+    TRACK_NEXT(0x1A9, "Next Track", KeyCodeClass.MEDIA),
 
     /**
      * Constant for the {@code Channel Up} key.
      */
-    CHANNEL_UP(0x1AB, "Channel Up"),
+    CHANNEL_UP(0x1AB, "Channel Up", KeyCodeClass.MEDIA),
 
     /**
      * Constant for the {@code Channel Down} key.
      */
-    CHANNEL_DOWN(0x1AC, "Channel Down"),
+    CHANNEL_DOWN(0x1AC, "Channel Down", KeyCodeClass.MEDIA),
 
     /**
      * Constant for the {@code Volume Up} key.
      */
-    VOLUME_UP(0x1bf, "Volume Up"),
+    VOLUME_UP(0x1bf, "Volume Up", KeyCodeClass.MEDIA),
 
     /**
      * Constant for the {@code Volume Down} key.
      */
-    VOLUME_DOWN(0x1C0, "Volume Down"),
+    VOLUME_DOWN(0x1C0, "Volume Down", KeyCodeClass.MEDIA),
 
     /**
      * Constant for the {@code Mute} key.
      */
-    MUTE(0x1C1, "Mute"),
+    MUTE(0x1C1, "Mute", KeyCodeClass.MEDIA),
 
     /**
      * Constant for the Apple {@code Command} key. 
      */
-    COMMAND(0x300, "Command"),
+    COMMAND(0x300, "Command", KeyCodeClass.MODIFIER),
     
     /**
      * Constant for the {@code Shortcut} key.
@@ -1174,12 +1174,105 @@
     final int code;
     final String ch;
     final String name;
+    private int mask;
+
+    // Need to bundle this in another class to avoid "forward reference" compiler error
+    private static class KeyCodeClass {
+        private KeyCodeClass() {};
+
+        private static final int FUNCTION = 1;
+        private static final int NAVIGATION = 1 << 1;
+        private static final int ARROW = 1 << 2;
+        private static final int MODIFIER = 1 << 3;
+        private static final int LETTER = 1 << 4;
+        private static final int DIGIT = 1 << 5;
+        private static final int KEYPAD = 1 << 6;
+        private static final int WHITESPACE = 1 << 7;
+        private static final int MEDIA = 1 << 8;
+    }
+
+    private KeyCode(int code, String name, int mask) {
+        this.code = code;
+        this.name = name;
+        this.mask = mask;
+        // ch = new String(Character.toChars(code));
+        ch = String.valueOf((char)code);
+    }
 
     private KeyCode(int code, String name) {
-        this.code = code;
-        this.name = name;
-        // ch = new String(Character.toChars(code));
-        ch = String.valueOf((char)code);
+        this(code, name, 0);
+    }
+
+    /**
+     * Function keys like F1, F2, etc...
+     * @return true if this key code corresponds to a functional key
+     */
+    public final boolean isFunctionKey() {
+        return (mask & KeyCodeClass.FUNCTION) != 0;
+    }
+
+    /**
+     * Navigation keys are arrow keys and Page Down, Page Up, Home, End
+     * @return true if this key code corresponds to a navigation key
+     */
+    public final boolean isNavigationKey() {
+        return (mask & KeyCodeClass.NAVIGATION) != 0;
+    }
+
+    /**
+     * Left, right, up, down keys (including the keypad arrows)
+     * @return true if this key code corresponds to an arrow key
+     */
+    public final boolean isArrowKey() {
+        return (mask & KeyCodeClass.ARROW) != 0;
+    }
+
+    /**
+     * Keys that could act as a modifier
+     * @return true if this key code corresponds to a modifier key
+     */
+    public final boolean isModifierKey() {
+        return (mask & KeyCodeClass.MODIFIER) != 0;
+    }
+
+    /**
+     * All keys with letters
+     * @return true if this key code corresponds to a letter key
+     */
+    public final boolean isLetterKey() {
+        return (mask & KeyCodeClass.LETTER) != 0;
+    }
+
+    /**
+     * All Digit keys (including the keypad digits)
+     * @return true if this key code corresponds to a digit key
+     */
+    public final boolean isDigitKey() {
+        return (mask & KeyCodeClass.DIGIT) != 0;
+    }
+
+    /**
+     * All keys on the keypad
+     * @return true if this key code corresponds to a keypad key
+     */
+    public final boolean isKeypadKey() {
+        return (mask & KeyCodeClass.KEYPAD) != 0;
+    }
+
+    /**
+     * Space, tab and enter
+     * @return true if this key code corresponds to a whitespace key
+     */
+    public final boolean isWhitespaceKey() {
+        return (mask & KeyCodeClass.WHITESPACE) != 0;
+    }
+
+    /**
+     * All multimedia keys (channel up/down, volume control, etc...)
+     * @return true if this key code corresponds to a media key
+     */
+    public final boolean isMediaKey() {
+        return (mask & KeyCodeClass.MEDIA) != 0;
     }
 
     /**
