Las aplicaciones ven pulsaciones de teclas o combinaciones de teclas excepto las reservadas por OS X. Dice "programa 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 la aplicación. de lo que estamos hablando aquí es de Java y no de Safari, Firefox o Chrome.
Como Ctrl + F4 ya no está configurado para mover el foco, OS X no debería filtrarlo y Java debería verlo.
Todavía no tengo ninguna explicación de por qué su programa Java no parece reaccionar a Ctrl + F4. Es difícil porque hay muchas dudas con respecto a su programa Java. Una captura de pantalla o alguna información técnica (nombre, fabricante, protocolo subyacente) serían bienvenidos. También sería útil cierta información sobre Windows (versión, paquete de servicio, ya sea administrado por un departamento de TI).
Comencemos por descubrir qué ve Java cuando se presionan las teclas.
Cree un archivo llamado KeyListener.java
en su escritorio con 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 este enlace con una pequeña adición desde aquí enlace ]
Abre la Terminal y escribe:
cd ~/Desktop
javac KeyListener.java
y luego ejecútelo escribiendo esto en la Terminal:
java KeyListener
Notarás una nueva ventana llamada ExampleFrame (me encantaría publicar una foto, pero recibí el error: Lo sentimos, pero como mecanismo de prevención de spam, los nuevos usuarios no pueden publicar. Imágenes. Gana más de 10 reputación para publicar imágenes. )
Después de desactivar Ctrl + F4 en System Preferences
, haga clic en la ventana ExampleFrame y presione Ctrl + F4 (o fn + Ctrl + F4, si no ha deshabilitado el comportamiento especial de las teclas de función en System Preferences
).
Veo el texto "Presionaste [Ctrl + F4]" (probado en una MacBookPro con ML 10.8.2).
¿También ves "Has presionado [Ctrl + F4]"?
- > Si lo hace , OS X está reenviando esas pulsaciones de teclas a Java. El programa Java está recibiendo esas pulsaciones, pero aparentemente no las reenvía a Outlook.
¿Se está conectando a su escritorio "real" (como VNC) oa algún escritorio virtualizado (como Citrix o RDP)? (Tal vez ese escritorio virtualizado tenga algunas teclas de control que coincidan con las que desea usar en Outlook).
¿Podría ser que Ctrl + F4 ya está en uso en la PC con Windows? (Conozco varias computadoras portátiles con funciones adicionales en las teclas F, como una Mac, que también usan alguna tecla Fn. ¿Tal vez es que Fn está asignada por el programa Java a Ctrl e interfiere con su escritura?)
He visto que Windows también asigna Ctrl + F4 a "Cierra la ventana actual de Interfaz de documentos múltiples (MDI)" (http://support.microsoft.com/kb/126449). No tengo una PC con Windows, así que es más una pista que cualquier otra cosa.
- > Si no lo haces , ML está "interceptando" Ctrl + F4 (también puedes probar Ctrl + F2 - a partir de tu descripción, creo que verás el mensaje "Presionaste [Ctrl + F2]") . Ese no debería ser el caso si deshabilitaste Ctrl + F4 en System Preferences
, pero ¿quizás algún otro programa lo esté usando? ¿Cuál es el comportamiento cuando presionas las teclas?
["Mi" programa Java anterior utiliza AWT. Si el programa Java que usa para conectarse a su PC con Windows usa otro kit de herramientas para widgets, como SWT, puede comportarse de manera diferente y mis conclusiones pueden no aplicarse ...]