Was ist der Raw-Tastaturmodus?

27

In den magischen sysrq- Tastenkombinationen gibt es die Kombination, alt+sysrq+rdie laut Wikipedia Folgendes bewirkt:

Schalten Sie die Tastatur vom Raw-Modus, dem von Programmen wie X11 und svgalib verwendeten Modus, in den XLATE-Modus

Was ist der Raw-Modus? und was ist der XLATE-Modus?

Kann ich in den Raw-Modus zurückkehren, nachdem ich in den XLATE-Modus gewechselt bin?

Wie kann ich feststellen, in welchem ​​Modus sich meine Tastatur befindet?

Lesmana
quelle

Antworten:

23

Wenn Sie eine Taste auf Ihrer Tastatur drücken, wird ein numerischer Code an den Computer gesendet, der als Scan-Code bezeichnet wird. Der Scan-Code teilt dem Computer mit, welche Taste gedrückt wurde. Auf einer typischen US-Tastatur Asendet die Taste beispielsweise den Scan-Code 30, wenn Sie darauf drücken (und 158, wenn Sie ihn loslassen). Der Tastaturtreiber meldet diese Codes direkt an Anwendungen, wenn sich die Tastatur im unformatierten Modus befindet ("unformatiert" bedeutet unverarbeitet, direkt von der Tastatur). Einige Programme verwenden den Raw-Modus und führen ihre eigene Tastaturverarbeitung durch. Der X-Server ist der bekannteste.

Die meisten Programme erwarten , dass , wenn Sie die Taste ATaste, liest das Programm die Zeichen a(ASCII 97), und dass , wenn Sie die Taste Shift+ Aliest das Programm A(ASCII 65), und wenn Sie die Taste Ctrl+ Adas Programm liest die Ctrl+AZeichen (ASCII 1). Tasten , die Zeichen zugeordnet sind keine Escape - Sequenzen zu senden, zB \e[Afür Left, wo \edie ESC - Zeichen (ASCII 27). Der Tastaturtreiber führt diese Übersetzung durch, wenn sich die Tastatur im ASCII-Modus befindet, der auch als XLATE-Modus (kurz für „Übersetzen“) bezeichnet wird. Im XLATE-Modus können Anwendungen Zeichen eingeben, ohne auf Nuancen wie „Linke Umschalttaste gedrückt“ oder Strg + Umschalttaste + A im Gegensatz zu Strg + A zugreifen zu müssen.

Mit kbd_modekönnen Sie zwischen den Modi wechseln und den aktuellen Modus anzeigen, wenn Sie ihn ohne Argument aufrufen.

Die magischen SysRq-Tastenkombinationen sollen sich von verschiedenen unangenehmen Situationen erholen. Eine der Tastenkombinationen besteht Alt+SysRq+Kdarin, alle Programme auf der aktuellen virtuellen Konsole zu beenden. Wenn dieses Programm die Tastatur in den RAW-Modus versetzt, können Sie an der Anmeldeaufforderung (die je nach Systemkonfiguration häufig angezeigt wird) keine Eingaben vornehmen. Durch Drücken von wird Alt+SysRq+Rder normale (außerhalb von X) ASCII-Modus wiederhergestellt, in dem Sie Zeichen eingeben können.

Gilles 'SO - hör auf böse zu sein'
quelle
9

Sie können festlegen, welche Art von Code Ihre Tastatur sendet. Dies erfolgt über den Tastaturmodus. Mit können Sie den Modus einer Tastatur ändern kbd_mode.

Dies sind die Optionen der Manpage:

   -s: scancode mode (RAW),
   -k: keycode mode (MEDIUMRAW),
   -a: ASCII mode (XLATE),
   -u: UTF-8 mode (UNICODE).

Es ist für einen Entwickler viel einfacher, Tastenereignisse wie das Drücken der linken Umschalttaste zu erfassen, wenn er einfach die Scancodes der gedrückten Tasten abrufen kann.

Echox
quelle