AWT Tastenkombination senden

Faulk

Mitglied
hi ich habe ein dringendes problem,
ich arbeite auf mac und will aus einem java programm die tastenkombination command+alt+shift+q senden.

nur leider weis ich nur wie ich einzele buchstaben mittels robot und keypress senden kann...

wie kann ich kombinationen senden?

greetings faulk
 
Zuletzt bearbeitet von einem Moderator:

Marco13

Top Contributor
Mit dem Robot sollte man grundsätzlich sowas machen können wie (Pseudocode)
robot.press(SHIFT);
robot.press(A);
robot.release(A);
robot.release(SHIFT);
um ein großgeschriebenes 'A' einzugeben. Die Modifier können kompliziert sein (speziell das "Command" auf dem Mac) aber einen Versuch ist's wert
 

Faulk

Mitglied
das hier bringt mir leider kein gewünschtes erg.

Java:
try{
            Robot robot = new Robot();
           
            robot.keyPress(KeyEvent.VK_SHIFT);
            robot.keyPress(KeyEvent.VK_Q);
            robot.keyPress(KeyEvent.VK_ALT);
            robot.keyPress(Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()); // COMMAND-TASTE HOFF ICH^^
           
            robot.keyRelease(KeyEvent.VK_SHIFT);  
            robot.keyRelease(KeyEvent.VK_Q); 
            robot.keyRelease(Toolkit.getDefaultToolkit().getMenuShortcutKeyMask());
            robot.keyRelease(KeyEvent.VK_ALT);
 

Faulk

Mitglied
gibt es keine möglichkeit tasten "wirklich" gleichzeitig zu senden?

ich hab dazu was von keystroke gelesen aber es nicht verstanden...
 

Monaria

Aktives Mitglied
Vllt solltest du die KeyEvents mal abfangen und die Werte überprüfen?
Denn sonst müsste das so schon gehen, das Q wird bei mir nämlich auf jeden Fall als 'Q' dargstellt - und nicht als 'q'
 

Marco13

Top Contributor
robot.keyPress(Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()); // COMMAND-TASTE HOFF ICH^^
Ich würde fast wetten, dass nicht ;) Aber weiß es nicht, weil ich keine Mac-Spezifika kenne. Im schlimmsten Fall ist es (wegen der implizierten Plattformabhängigkeit) gar nicht möglich, diese Taste zu senden (oder auch in Java zu verarbeiten). Wenn man diese Taste in einer Component mit KeyListener drückt, was kommt denn dann an?
 

Ähnliche Java Themen

Neue Themen


Oben