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 }
|