Ich habe eine Fedora-Maschine, auf die ich SSH kann. Eines der Programme, das ich gelegentlich verwenden möchte, verwendet die Funktionstasten. Das Problem ist , dass ich von einem Android - Tablet (ASUS Transformer Unendlich) mit einer physischen Tastatur bin SSH'ing, aber keine F1- F12Tasten. Bis die von mir verwendete Terminal-App (VX ConnectBot) entscheidet, sie als Funktion hinzuzufügen, suche ich nach einer Möglichkeit, sie über die übrige Tastatur zu senden.
Ich kann alle druckbaren ASCII - Zeichen verwenden, Esc, Ctrl, Shift, Enter, undTab .
Antworten:
Terminals verstehen nur Zeichen, keine Schlüssel. So werden alle Funktionstasten als Zeichenfolgen mit Steuerzeichen codiert. Mit Ausnahme einiger weniger gebräuchlicher Tasten , denen ein Steuerzeichen ( Tabist
Ctrl+I
, EnteristCtrl+M
, EscistCtrl+[
) zugeordnet ist, senden Funktionstasten Escape-Sequenzen, beginnend mitCtrl+[ [
oderCtrl+[ O
. Mit demtput
Befehl können Sie sehen, welche Escape-Sequenz-Anwendungen für die einzelnen Funktionstasten Ihres Terminals erwarten. Diese Sequenzen werden in derterminfo
Datenbank gespeichert. Das folgende Shell-Snippet zeigt beispielsweise die Escape-Sequenzen, die den einzelnen Funktionstasten entsprechen.Eine andere Möglichkeit, die Escape-Sequenz für eine Funktionstaste anzuzeigen, ist das Drücken von Ctrl+ Vin einer Terminalanwendung, die die Ctrl+ V-Taste nicht erneut bindet (z. B. die Shell). Ctrl+ Vfügt das nächste Zeichen (das das Escape-Zeichen sein wird) wörtlich ein und Sie können den Rest der Sequenz sehen, die aus normalen Zeichen besteht.
Da die Eingabe der Sequenzen möglicherweise umständlich ist, sollten Sie das Ändern der Tastenkombinationen in Ihrer Anwendung oder die Verwendung eines anderen Terminalemulators untersuchen. Beachten Sie außerdem, dass Sie möglicherweise ein Zeitlimit haben: Einige Anwendungen erkennen Escape-Sequenzen nur, wenn sie schnell genug eingehen, sodass sie dem EscSchlüssel allein eine Bedeutung geben können.
quelle
kf13
, Umschalt + F2kf14
usw. Dann ist Strg + F1kf25
, Strg + Umschalt + F1kf37
, Alt + F1kf49
. Ich weiß nicht, ob dies auf anderen Terminals funktioniert oder was Sie erhalten, wenn Sie eine tatsächliche F13-Taste haben.Der Android Terminal Emulator von Jack Palevich verwendet Tastenkombinationen mit den Lautstärketasten, um eine Vielzahl von Tasten, einschließlich Funktionstasten, zu senden. Es gibt auch Hackers Tastatur, die jede Taste zur Verfügung hat, die eine echte Tastatur haben würde.
quelle