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

Print this page




1797     }
1798     /**
1799      * Returns an extended key code for a unicode character.
1800      *
1801      * @param c the unicode character to be processed
1802      * @return for a unicode character with a corresponding {@code VK_} constant -- this
1803      *   {@code VK_} constant; for a character appearing on the primary
1804      *   level of a known keyboard layout -- a unique integer.
1805      *   If a character does not appear on the primary level of a known keyboard,
1806      *   {@code VK_UNDEFINED} is returned.
1807      *
1808      * @since 1.7
1809      */
1810     public static int getExtendedKeyCodeForChar(int c) {
1811         // Return a keycode (if any) associated with a character.
1812         return sun.awt.ExtendedKeyCodes.getExtendedKeyCodeForChar(c);
1813     }
1814 
1815     /**
1816      * Sets new modifiers by the old ones. The key modifiers
1817      * override overlaping mouse modifiers.
1818      */
1819     private void setNewModifiers() {
1820         if ((modifiers & SHIFT_MASK) != 0) {
1821             modifiers |= SHIFT_DOWN_MASK;
1822         }
1823         if ((modifiers & ALT_MASK) != 0) {
1824             modifiers |= ALT_DOWN_MASK;
1825         }
1826         if ((modifiers & CTRL_MASK) != 0) {
1827             modifiers |= CTRL_DOWN_MASK;
1828         }
1829         if ((modifiers & META_MASK) != 0) {
1830             modifiers |= META_DOWN_MASK;
1831         }
1832         if ((modifiers & ALT_GRAPH_MASK) != 0) {
1833             modifiers |= ALT_GRAPH_DOWN_MASK;
1834         }
1835         if ((modifiers & BUTTON1_MASK) != 0) {
1836             modifiers |= BUTTON1_DOWN_MASK;
1837         }


1846         }
1847         if ((modifiers & ALT_DOWN_MASK) != 0) {
1848             modifiers |= ALT_MASK;
1849         }
1850         if ((modifiers & CTRL_DOWN_MASK) != 0) {
1851             modifiers |= CTRL_MASK;
1852         }
1853         if ((modifiers & META_DOWN_MASK) != 0) {
1854             modifiers |= META_MASK;
1855         }
1856         if ((modifiers & ALT_GRAPH_DOWN_MASK) != 0) {
1857             modifiers |= ALT_GRAPH_MASK;
1858         }
1859         if ((modifiers & BUTTON1_DOWN_MASK) != 0) {
1860             modifiers |= BUTTON1_MASK;
1861         }
1862     }
1863 
1864     /**
1865      * Sets new modifiers by the old ones. The key modifiers
1866      * override overlaping mouse modifiers.
1867      * @serial
1868      */
1869     private void readObject(ObjectInputStream s)
1870       throws IOException, ClassNotFoundException {
1871         s.defaultReadObject();
1872         if (getModifiers() != 0 && getModifiersEx() == 0) {
1873             setNewModifiers();
1874         }
1875     }
1876 }


1797     }
1798     /**
1799      * Returns an extended key code for a unicode character.
1800      *
1801      * @param c the unicode character to be processed
1802      * @return for a unicode character with a corresponding {@code VK_} constant -- this
1803      *   {@code VK_} constant; for a character appearing on the primary
1804      *   level of a known keyboard layout -- a unique integer.
1805      *   If a character does not appear on the primary level of a known keyboard,
1806      *   {@code VK_UNDEFINED} is returned.
1807      *
1808      * @since 1.7
1809      */
1810     public static int getExtendedKeyCodeForChar(int c) {
1811         // Return a keycode (if any) associated with a character.
1812         return sun.awt.ExtendedKeyCodes.getExtendedKeyCodeForChar(c);
1813     }
1814 
1815     /**
1816      * Sets new modifiers by the old ones. The key modifiers
1817      * override overlapping mouse modifiers.
1818      */
1819     private void setNewModifiers() {
1820         if ((modifiers & SHIFT_MASK) != 0) {
1821             modifiers |= SHIFT_DOWN_MASK;
1822         }
1823         if ((modifiers & ALT_MASK) != 0) {
1824             modifiers |= ALT_DOWN_MASK;
1825         }
1826         if ((modifiers & CTRL_MASK) != 0) {
1827             modifiers |= CTRL_DOWN_MASK;
1828         }
1829         if ((modifiers & META_MASK) != 0) {
1830             modifiers |= META_DOWN_MASK;
1831         }
1832         if ((modifiers & ALT_GRAPH_MASK) != 0) {
1833             modifiers |= ALT_GRAPH_DOWN_MASK;
1834         }
1835         if ((modifiers & BUTTON1_MASK) != 0) {
1836             modifiers |= BUTTON1_DOWN_MASK;
1837         }


1846         }
1847         if ((modifiers & ALT_DOWN_MASK) != 0) {
1848             modifiers |= ALT_MASK;
1849         }
1850         if ((modifiers & CTRL_DOWN_MASK) != 0) {
1851             modifiers |= CTRL_MASK;
1852         }
1853         if ((modifiers & META_DOWN_MASK) != 0) {
1854             modifiers |= META_MASK;
1855         }
1856         if ((modifiers & ALT_GRAPH_DOWN_MASK) != 0) {
1857             modifiers |= ALT_GRAPH_MASK;
1858         }
1859         if ((modifiers & BUTTON1_DOWN_MASK) != 0) {
1860             modifiers |= BUTTON1_MASK;
1861         }
1862     }
1863 
1864     /**
1865      * Sets new modifiers by the old ones. The key modifiers
1866      * override overlapping mouse modifiers.
1867      * @serial
1868      */
1869     private void readObject(ObjectInputStream s)
1870       throws IOException, ClassNotFoundException {
1871         s.defaultReadObject();
1872         if (getModifiers() != 0 && getModifiersEx() == 0) {
1873             setNewModifiers();
1874         }
1875     }
1876 }