< prev index next >

src/java.desktop/unix/classes/sun/awt/X11/XToolkit.java

Print this page




 401             return val;
 402         }
 403     }
 404 
 405     static native String getEnv(String key);
 406 
 407 
 408     static String getAWTAppClassName() {
 409         return awtAppClassName;
 410     }
 411 
 412     public XToolkit() {
 413         super();
 414         if (PerformanceLogger.loggingEnabled()) {
 415             PerformanceLogger.setTime("XToolkit construction");
 416         }
 417 
 418         if (!GraphicsEnvironment.isHeadless()) {
 419             String mainClassName = null;
 420 
 421             StackTraceElement trace[] = (new Throwable()).getStackTrace();
 422             int bottom = trace.length - 1;
 423             if (bottom >= 0) {
 424                 mainClassName = trace[bottom].getClassName();
 425             }
 426             if (mainClassName == null || mainClassName.equals("")) {
 427                 mainClassName = "AWT";
 428             }
 429             awtAppClassName = getCorrectXIDString(mainClassName);
 430 
 431             init();
 432             XWM.init();
 433 
 434             toolkitThread = AccessController.doPrivileged((PrivilegedAction<Thread>) () -> {
 435                 String name = "AWT-XAWT";
 436                 Thread thread = new Thread(
 437                         ThreadGroupUtils.getRootThreadGroup(), this, name,
 438                         0, false);
 439                 thread.setContextClassLoader(null);
 440                 thread.setPriority(Thread.NORM_PRIORITY + 1);
 441                 thread.setDaemon(true);


1932             int mask = Native.getInt(XlibWrapper.larg7);
1933             return ((mask & iKeyMask) != 0);
1934         } finally {
1935             awtUnlock();
1936         }
1937     }
1938 
1939     /* Assign meaning - alt, meta, etc. - to X modifiers mod1 ... mod5.
1940      * Only consider primary symbols on keycodes attached to modifiers.
1941      */
1942     static void setupModifierMap() {
1943         final int metaL = keysymToPrimaryKeycode(XKeySymConstants.XK_Meta_L);
1944         final int metaR = keysymToPrimaryKeycode(XKeySymConstants.XK_Meta_R);
1945         final int altL = keysymToPrimaryKeycode(XKeySymConstants.XK_Alt_L);
1946         final int altR = keysymToPrimaryKeycode(XKeySymConstants.XK_Alt_R);
1947         final int numLock = keysymToPrimaryKeycode(XKeySymConstants.XK_Num_Lock);
1948         final int modeSwitch = keysymToPrimaryKeycode(XKeySymConstants.XK_Mode_switch);
1949         final int shiftLock = keysymToPrimaryKeycode(XKeySymConstants.XK_Shift_Lock);
1950         final int capsLock  = keysymToPrimaryKeycode(XKeySymConstants.XK_Caps_Lock);
1951 
1952         final int modmask[] = { XConstants.ShiftMask, XConstants.LockMask, XConstants.ControlMask, XConstants.Mod1Mask,
1953             XConstants.Mod2Mask, XConstants.Mod3Mask, XConstants.Mod4Mask, XConstants.Mod5Mask };
1954 
1955         log.fine("In setupModifierMap");
1956         awtLock();
1957         try {
1958             XModifierKeymap modmap = new XModifierKeymap(
1959                  XlibWrapper.XGetModifierMapping(getDisplay()));
1960 
1961             int nkeys = modmap.get_max_keypermod();
1962 
1963             long map_ptr = modmap.get_modifiermap();
1964 
1965             for (int modn = XConstants.Mod1MapIndex;
1966                  modn <= XConstants.Mod5MapIndex;
1967                  ++modn)
1968             {
1969                 for (int i = 0; i < nkeys; ++i) {
1970                     /* for each keycode attached to this modifier */
1971                     int keycode = Native.getUByte(map_ptr, modn * nkeys + i);
1972 




 401             return val;
 402         }
 403     }
 404 
 405     static native String getEnv(String key);
 406 
 407 
 408     static String getAWTAppClassName() {
 409         return awtAppClassName;
 410     }
 411 
 412     public XToolkit() {
 413         super();
 414         if (PerformanceLogger.loggingEnabled()) {
 415             PerformanceLogger.setTime("XToolkit construction");
 416         }
 417 
 418         if (!GraphicsEnvironment.isHeadless()) {
 419             String mainClassName = null;
 420 
 421             StackTraceElement[] trace = (new Throwable()).getStackTrace();
 422             int bottom = trace.length - 1;
 423             if (bottom >= 0) {
 424                 mainClassName = trace[bottom].getClassName();
 425             }
 426             if (mainClassName == null || mainClassName.equals("")) {
 427                 mainClassName = "AWT";
 428             }
 429             awtAppClassName = getCorrectXIDString(mainClassName);
 430 
 431             init();
 432             XWM.init();
 433 
 434             toolkitThread = AccessController.doPrivileged((PrivilegedAction<Thread>) () -> {
 435                 String name = "AWT-XAWT";
 436                 Thread thread = new Thread(
 437                         ThreadGroupUtils.getRootThreadGroup(), this, name,
 438                         0, false);
 439                 thread.setContextClassLoader(null);
 440                 thread.setPriority(Thread.NORM_PRIORITY + 1);
 441                 thread.setDaemon(true);


1932             int mask = Native.getInt(XlibWrapper.larg7);
1933             return ((mask & iKeyMask) != 0);
1934         } finally {
1935             awtUnlock();
1936         }
1937     }
1938 
1939     /* Assign meaning - alt, meta, etc. - to X modifiers mod1 ... mod5.
1940      * Only consider primary symbols on keycodes attached to modifiers.
1941      */
1942     static void setupModifierMap() {
1943         final int metaL = keysymToPrimaryKeycode(XKeySymConstants.XK_Meta_L);
1944         final int metaR = keysymToPrimaryKeycode(XKeySymConstants.XK_Meta_R);
1945         final int altL = keysymToPrimaryKeycode(XKeySymConstants.XK_Alt_L);
1946         final int altR = keysymToPrimaryKeycode(XKeySymConstants.XK_Alt_R);
1947         final int numLock = keysymToPrimaryKeycode(XKeySymConstants.XK_Num_Lock);
1948         final int modeSwitch = keysymToPrimaryKeycode(XKeySymConstants.XK_Mode_switch);
1949         final int shiftLock = keysymToPrimaryKeycode(XKeySymConstants.XK_Shift_Lock);
1950         final int capsLock  = keysymToPrimaryKeycode(XKeySymConstants.XK_Caps_Lock);
1951 
1952         final int[] modmask = { XConstants.ShiftMask, XConstants.LockMask, XConstants.ControlMask, XConstants.Mod1Mask,
1953             XConstants.Mod2Mask, XConstants.Mod3Mask, XConstants.Mod4Mask, XConstants.Mod5Mask };
1954 
1955         log.fine("In setupModifierMap");
1956         awtLock();
1957         try {
1958             XModifierKeymap modmap = new XModifierKeymap(
1959                  XlibWrapper.XGetModifierMapping(getDisplay()));
1960 
1961             int nkeys = modmap.get_max_keypermod();
1962 
1963             long map_ptr = modmap.get_modifiermap();
1964 
1965             for (int modn = XConstants.Mod1MapIndex;
1966                  modn <= XConstants.Mod5MapIndex;
1967                  ++modn)
1968             {
1969                 for (int i = 0; i < nkeys; ++i) {
1970                     /* for each keycode attached to this modifier */
1971                     int keycode = Native.getUByte(map_ptr, modn * nkeys + i);
1972 


< prev index next >