Las aplicaciones de ver cualquier pulsaciones de teclas o combinaciones de teclas, excepto las reservadas por la OS X. Se puede decir "programa de Java" y no un applet de Java incrustado en un sitio web (o algo exótico como HP iLO o IBM RSA), por lo que entiendo que la aplicación que estamos hablando aquí es de Java y no se Safari, Firefox o Chrome.
Desde Ctrl+F4 ya no está configurado para mover el foco, OS X no debería filtro y Java debería ver.
No tengo ninguna explicación, sin embargo, en cuanto a por qué el programa de Java no parece reaccionar a Ctrl+F4. Es difícil porque hay un montón de conjeturas respecto a su programa de Java. Una captura de pantalla o algo de información técnica (nombre, fabricante, protocolo subyacente) sería bienvenido. Algo de información sobre Windows (versión de service pack, ya sea gestionado por un departamento) también sería útil.
Vamos a empezar por saber qué es Java ve cuando se presionan las teclas.
Crear un archivo llamado KeyListener.java
en tu Escritorio con el contenido:
import java.awt.BorderLayout;
import java.awt.Component;
import java.awt.Frame;
import java.awt.TextArea;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
public class KeyListener {
public static void main(String[] args) {
// Create frame with specific title
Frame frame = new Frame("Example Frame");
// Create a component to add to the frame; in this case a text area with sample text
Component textArea = new TextArea("You pressed []: \n");
textArea.addKeyListener(new KeyAdapter() {
public void keyPressed(KeyEvent evt) {
TextArea source = (TextArea)evt.getSource();
if ( evt.isControlDown() && evt.getKeyCode() == KeyEvent.VK_F4 )
source.setText("You pressed [Ctrl+F4] : ");
else if ( evt.isControlDown() && evt.getKeyCode() == KeyEvent.VK_F2 )
source.setText("You pressed [Ctrl+F2] : ");
else
source.setText("You pressed [" + evt.getKeyText(evt.getKeyCode()) +"] : ");
}
});
// Add the components to the frame; by default, the frame has a border layout
frame.add(textArea, BorderLayout.NORTH);
// Show the frame
int width = 300;
int height = 300;
frame.setSize(width, height);
frame.setVisible(true);
}
}
[Este archivo es básicamente esto http://examples.javacodegeeks.com/desktop-java/awt/event/handle-key-presses-example con una pequeña adición de aquí http://answers.yahoo.com/question/index?qid=20070702144519AAOiHFl]
Abre el Terminal y teclea:
cd ~/Desktop
javac KeyListener.java
y, a continuación, ejecutarlo escribiendo esto en la Terminal:
java KeyListener
Usted notará una nueva ventana llamada ExampleFrame (me encantaría publicar una foto, pero yo tengo el error: lo sentimos, pero como un mecanismo de prevención de spam, los nuevos usuarios no pueden publicar imágenes. Gana más de 10 reputación a publicar imágenes.)
Después de deshabilitar Ctrl+F4 en System Preferences
, haga clic en la ventana de ExampleFrame y presione Ctrl+F4 (o fn+Ctrl+F4, si no ha desactivado el especial comportamiento de las teclas de función en System Preferences
).
Veo que el texto "Se pulsa [Ctrl+F4]" (probado en un MacBookPro con ML 10.8.2).
¿Véase también "Usted presiona [Ctrl+F4]"?
-> Si no, OS X es el reenvío de aquellos que se presiona una tecla para Java. El programa de Java es llegar esas pulsaciones, pero al parecer no es de reenvío a Outlook.
Está usted conectado a su "real" de escritorio (como VNC) o a algunos de escritorio virtual (como Citrix o RDP)? (Tal vez eso de escritorio virtualizado tiene algunas teclas de control que coinciden con los que usted desea utilizar en Outlook).
Podría ser que Ctrl+F4 ya está en uso en el PC con Windows? (Yo sé de varios blocs de notas de Windows con funciones adicionales en las teclas F, como un Mac, también el uso de algunos tecla Fn. Tal vez es que Fn asignado por el programa de Java para Ctrl e interfiere con su escritura?)
He visto que Windows también mapas de teclas Ctrl+F4 para "Cierra la actual Interfaz de Múltiples Documentos (MDI) de la ventana" (http://support.microsoft.com/kb/126449). No tengo un PC con Windows, de modo que más de una pista, a continuación, nada más.
-> Si no ML es "interceptar" Ctrl+F4 (también se podría probar Ctrl+F2 - por tu descripción creo que veremos el mensaje "presiona [Ctrl+F2]"). Que no debería ser el caso si usted deshabilita las teclas Ctrl+F4 en System Preferences
, pero tal vez algún otro programa está utilizando? Cuál es el comportamiento al pulsar las teclas?
["Mi" programa de Java por encima de los usos del AWT. Si el programa de Java que utiliza para conectarse a su PC de Windows se utiliza otro widget toolkit, como SWT, puede comportarse de manera diferente y mis conclusiones no pueden aplicar...]