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 |