# fn Notebook Taste simulieren



## jacko87 (13. August 2007)

Da ich meist an meinem Notebook mit ner "normalen" Tastatur arbeite (oder auch mit Handy über Bluetooth media Center steuere nicht ganz so wichtig) habe ich keinen Zugriff mehr auf die Sonder Funktionen(FN-Taste) wollte mir da so ein kleines Java Programm(von mir aus auch ne andere Sprache wenn jemand weiss, wie es einfacher geht) schreiben, das im Hintergrund läuft und eine von mir einzugebene Tastenkombination in die FN Taste umwandelt.

habe mir erstmal nen normalen KeyListener geschrieben um herauszufinden, welchen KeyCode die FN Taste überhaupt hat. allerdings reagiert Java überhaupt nicht darauf. Mache ich irgendwas falsch oder ist das von Java aus noch nicht vorgesehen.


```
public void keyPressed(KeyEvent arg0) {
				System.out.println(arg0.getKeyCode());
}
```

Vielleicht hat auch jemand von euch ne Idee, wie ich mit Java auf Tastatureingaben reagiere, wenn ich keinen Focus auf dem Object habe.

bei einigen Funktionen brauch ich die FN taste auch nicht unbedingt
für den Ruhezustand könnte ich auch diese Funktion über die Runtime aufrufen
            rundll32.exe powrprof.dll,SetSuspendState
aber die Funktion zum Deaktivieren des WLan krieg ich einfach nicht raus


thx Peter


----------



## zeja (13. August 2007)

Hmm versuch mal ob das reagiert:


```
private static void addKeyFilter() {
		display.addFilter(SWT.KeyDown, new Listener( ) {

			public void handleEvent(Event event) {
				KeyStroke stroke = KeyStroke.getInstance(event.stateMask,
						event.keyCode);
				KeySequence keySeq = KeySequence.getInstance(stroke);
			}
		});
	}
```

Mit dem Filter kriegst du auf jeden Fall immer alle Events.

Lass dir mal den stroke oder die keySeq ausgeben.

Dass SWT nicht direkt auf die Funktionstaste reagiert kann durchaus sein, im zusammenspiel mit einer weiteren Taste sollte es aber eigentlich dann gehen. Kanns gerade nicht testen weil ich gerade nicht am Notebook bin.


----------



## jacko87 (14. August 2007)

Das war schnell danke erstmal
Du hattest recht damit, dass die Taste nur wahrgenommen wird, wenn Sie in Verbindung mit einer anderen gedrückt wird allerdings kommt dann leider KeyCode 0 raus.

Eclipse meint aber, dass es für KeyStroke keine Methode getInstance gibt und KeySequence kennt der garnicht. habe im Moment SWT Version 3.345 und Java 1.6.0 hast du noch irgendwelche Libraries die ich brauche

Peter

/*edit:
 *awt registriert fn + andere Taste
 *swt nicht mit SWT.KeyDown
 */


----------



## zeja (14. August 2007)

Achso das war JFace glaub ich. Musste du aber nicht benzutzen. Schau mal in stateMask statt in keyCode rein. Irgendwo muss es ja drin stehen.


----------

