Mit Tastaturbelegung arbeiten
Das folgende Modell zeigt, wie Eingabemethoden von Anwendungen verwendet werden. Verwenden Sie diese Informationen, um die Tastaturbelegung anzupassen.
Die Eingabeverarbeitung ist in drei Schritte unterteilt:
- keycode/keystate (unformatiert)-> keysym/modifier (neu)
Dieser Schritt ist anwendungs-und umgebungsabhängig. Die Anwendung ist für die Zuordnung des unformatierten Schlüsselereignisses zu einem Schlüsselsym/Modifikator für die Eingabe in die Eingabemethode verantwortlich.
In der AIXwindows-Umgebung verwendet der Client die keysym-Tabelle des Servers xmodmap, die auf dem Server installiert ist, um diesen Schritt auszuführen. xmodmap definiert die Zuordnung der Umschalttaste, der Sperrtaste und der Alt-Grafiktaste. Der Client verwendet die Änderungswerte für xmodmap sowie die Änderungswerte für Umschalttaste und Sperre aus dem Ereignis X, um den von diesem Ereignis dargestellten keysym/modifier zu bestimmen.
Wenn Sie beispielsweise die XK_a -Taste "keysym" mit einem Shift-Modifikator drücken, ordnet xmodmap sie der XK_A -Taste "keysym" zu. Da Sie den Tastencode mit der Umschalttaste einem Tastensymbol zugeordnet haben, sollte die Anwendung den Shift-Modifikator aus dem ursprünglichen X-Ereignis maskieren. Folglich wäre die Eingabe für die Eingabemethode die XK_A -Schlüsselsym und kein Modifikator.
Wenn die Einheit in einer anderen Umgebung keine zusätzlichen Informationen bereitstellt, empfängt die Eingabemethode die Tastenkombination XK_a mit dem Änderungswert Shift. Die Eingabemethode sollte in beiden Fällen dieselbe Zuordnung durchführen und den Buchstaben A zurückgeben.
- keysym/modifier (neu)-> lokalisierte Zeichenfolge
Dieser Schritt hängt vom lokalisierten IMED ab und variiert je nach Ländereinstellung. Sie benachrichtigt den IMED, dass ein Schlüsselereignis aufgetreten ist, und fordert eine Meldung an, dass ihr IMED das Schlüsselereignis intern verwendet. Dies ist der Fall, wenn die Anwendung die Subroutine IMFilterComment aufruft.
Wenn der IMED angibt, dass das Schlüsselereignis für die interne Verarbeitung verwendet wird, ignoriert die Anwendung das Ereignis. Da der IMED der erste ist, der das Ereignis sieht, sollte dieser Schritt ausgeführt werden, bevor die Anwendung das Ereignis interpretiert. Der IMED verwendet nur wichtige Ereignisse, die wichtig sind.
Wenn der IMED angibt, dass das Ereignis nicht für die interne Verarbeitung verwendet wird, führt die Anwendung den nächsten Schritt aus.
- keysym/modifier (neu)-> angepasste Zeichenfolge
Dieser Schritt tritt auf, wenn die Anwendung die Subroutine IMLookupString aufruft. Die Keymap der Eingabemethode (mit dem Befehl Schlüsselkomp erstellt) definiert die Zuordnung für diese Phase. Dies ist der letzte Versuch, das Schlüsselereignis einer Zeichenfolge zuzuordnen, und ermöglicht es einem Benutzer, die Zuordnung anzupassen.
Wenn die Kombination keysym/modifier (new) in der Eingabemethode keymap (imkeymap) definiert ist, wird eine Zeichenfolge zurückgegeben. Andernfalls ist das Schlüsselereignis der Eingabemethode unbekannt.