src/macosx/classes/sun/lwawt/macosx/CPlatformResponder.java

Print this page




 143             NSEvent.nsKeyModifiersToJavaKeyInfo(in, out);
 144 
 145             jkeyCode = out[0];
 146             jkeyLocation = out[1];
 147             jeventType = out[2];
 148         } else {
 149             if (chars != null && chars.length() > 0) {
 150                 testChar = chars.charAt(0);
 151             }
 152 
 153             int[] in = new int[] {testChar, isDeadChar ? 1 : 0, modifierFlags, keyCode};
 154             int[] out = new int[3]; // [jkeyCode, jkeyLocation, deadChar]
 155 
 156             postsTyped = NSEvent.nsToJavaKeyInfo(in, out);
 157             if (!postsTyped) {
 158                 testChar = KeyEvent.CHAR_UNDEFINED;
 159             }
 160 
 161             if(isDeadChar){
 162                 testChar = (char) out[2];



 163             }
 164 
 165             jkeyCode = out[0];
 166             jkeyLocation = out[1];
 167             jeventType = isNpapiCallback ? NSEvent.npToJavaEventType(eventType) :
 168                                            NSEvent.nsToJavaEventType(eventType);
 169         }
 170 
 171         char javaChar = NSEvent.nsToJavaChar(testChar, modifierFlags);
 172         // Some keys may generate a KEY_TYPED, but we can't determine
 173         // what that character is. That's likely a bug, but for now we
 174         // just check for CHAR_UNDEFINED.
 175         if (javaChar == KeyEvent.CHAR_UNDEFINED) {
 176             postsTyped = false;
 177         }
 178 
 179 
 180         int jmodifiers = NSEvent.nsToJavaKeyModifiers(modifierFlags);
 181         long when = System.currentTimeMillis();
 182 




 143             NSEvent.nsKeyModifiersToJavaKeyInfo(in, out);
 144 
 145             jkeyCode = out[0];
 146             jkeyLocation = out[1];
 147             jeventType = out[2];
 148         } else {
 149             if (chars != null && chars.length() > 0) {
 150                 testChar = chars.charAt(0);
 151             }
 152 
 153             int[] in = new int[] {testChar, isDeadChar ? 1 : 0, modifierFlags, keyCode};
 154             int[] out = new int[3]; // [jkeyCode, jkeyLocation, deadChar]
 155 
 156             postsTyped = NSEvent.nsToJavaKeyInfo(in, out);
 157             if (!postsTyped) {
 158                 testChar = KeyEvent.CHAR_UNDEFINED;
 159             }
 160 
 161             if(isDeadChar){
 162                 testChar = (char) out[2];
 163                 if(testChar == 0){
 164                     return;
 165                 }
 166             }
 167 
 168             jkeyCode = out[0];
 169             jkeyLocation = out[1];
 170             jeventType = isNpapiCallback ? NSEvent.npToJavaEventType(eventType) :
 171                                            NSEvent.nsToJavaEventType(eventType);
 172         }
 173 
 174         char javaChar = NSEvent.nsToJavaChar(testChar, modifierFlags);
 175         // Some keys may generate a KEY_TYPED, but we can't determine
 176         // what that character is. That's likely a bug, but for now we
 177         // just check for CHAR_UNDEFINED.
 178         if (javaChar == KeyEvent.CHAR_UNDEFINED) {
 179             postsTyped = false;
 180         }
 181 
 182 
 183         int jmodifiers = NSEvent.nsToJavaKeyModifiers(modifierFlags);
 184         long when = System.currentTimeMillis();
 185