Capitolo 5. Associazioni dei tasti del terminale

Come Konsole utilizza le associazioni dei tasti

Introduzione

Konsole utilizza i file *.keytab per tradurre le combinazioni di tasti in caratteri di controllo e sequenze di escape che sono inviate alla shell o ai programmi interattivi (programmi che tipicamente utilizzano il buffer Schermo alternativo, ad es. vim, less, screen) eseguiti nella shell.

Gli utenti possono personalizzare le impostazioni delle associazioni di tasti in Konsole utilizzando l'editor delle associazioni di tasti. Una combinazione di tasti può essere configurata per inviare una specifica sequenza di controllo o escape al terminale.

È possibile aprire l'editor delle associazioni di tasti dalla voce di menu ImpostazioniModifica il profilo attuale, e portandosi sulla scheda Tastiera. Elencati si troveranno gli schemi delle associazioni dei tasti forniti in modo predefinito da Konsole.

Combinazioni di tasti e modalità

Le combinazioni di tasti seguono il modello:

Modalità (+|-) tasti

ad esempio:

Su+Maiusc+AppScreen
Giù+Maiusc-AppScreen
Barra spaziatrice+Ctrl

I nome dei tasti sono definiti nel file qnamespace.h, senza il prefisso «Qt::Key_», per un elenco dei nomi dei tasti controllare Qt::Key enumeration nella documentazione di Qt™.

Un «+» che precede il nome di una modalità significa che tale modalità è impostata; per un tasto modificatore, che significa che è premuto, mentre per tutte le altre modalità significa che la specifica modalità è attiva. Ad esempio, «+Ctrl» significa che la combinazione di tasti funzionerà solo se il tasto Ctrl è premuto.

Un «-» che precede il nome di una modalità significa che tale modalità è ripristinata; fondamentalmente è l'opposto di anteporre un «+» prima del nome della modalità, quindi per un tasto modificare significa che è il tasto non è premuto, mentre per tutte le altre modalità significa che la specifica modalità è inattiva. Ad esempio, «-Ctrl» significa che la combinazione di tasti funzionerà solo se il tasto Ctrl non è premuto.

Nota

Se il nome di una modalità non è presente una combinazione di tasti, il suo stato è ignorato.

Le associazioni di tasti supportate sono elencate di seguito:

Alt, Ctrl, Maiusc

Una o più di queste modalità possono essere utilizzate in una combinazione di tasti, se ne esistono, la combinazione di tasti utilizza il tasto modificatore, rispettivamente; e viceversa se è ripristinata

QualsiasiModificatore

Se questa modalità è impostata, la combinazione di tasti utilizza qualsiasi tasto modificatore (uno tra i precedenti tasti modificatori); e viceversa se viene reimpostata

Ansi

Se questa modalità è impostata, Konsole invierà sequenze di escape ANSI e di controllo

Se questa modalità è impostata, Konsole invierà sequenze di escape VT52 e di controllo

AppScreen

Se questa modalità è impostata, la combinazione di tasti interesserà solo i programmi interattivi che utilizzano il buffer Schermo alternativo

Se questa modalità è reimpostata, la combinazione di tasti interesserà il terminale solo quando si utilizza il buffer Schermo normale

Nota

Konsole utilizza due buffer dello schermo:

  • Il buffer Schermo normale (predefinito): consente di scorrere indietro per visualizzare le righe precedenti, questo è il buffer predefinito che si utilizza normalmente per eseguire i comandi... ecc.

  • Il buffer Schermo alternativo: il terminale passa a questo buffer quando si esegue un programma interattivo (ad es. less, vim, screen, tmux... ecc.)

Tastierino numerico

Se questa modalità è impostata, la combinazione di tasti utilizza un tasto sul tastierino numerico. Questa modalità è utile per distinguere tra i tasti sulla tastiera e i tasti sul tastierino numerico. Ad esempio, quando Bloc Num è attivo, è possibile configurare due combinazioni di tasti diverse, una che usa il tasto etichettato con «1» sulla tastiera (normalmente sotto il tasto F1) e l'altra che usa il tasto etichettato con «1» sul tastierino numerico. Lo stesso concetto si applica quando Bloc Num è disattivato per i tasti Fine, Inizio, le frecce direzionali, ecc. sul tastierino numerico

AppCursorKeys

Questa modalità implementa la Modalità dei tasti cursore (DECCKM) di VT100. Questa controlla le sequenze di escape che ogni tasto cursore (Su, Giù, Destra, Sinistra) invia, a seconda che questa modalità sia impostata o ripristinata

In modo predefinito, Konsole segue il comportamento di XTerm, trattando i tasti Home e Fine come tasti cursore rispetto a DECCKM

AppKeyPad

Se questa modalità è impostata, la combinazione di tasti funzionerà solo quando il tastierino numerico è in modalità applicazione (DECKPAM)

Se questa modalità è reimpostata, la combinazione di tasti funzionerà solo se il tastierino numerico è in modalità numerica (DECKPNM)

NuovaRiga

Se questa modalità è impostata, il tasto Return (Invio) sulla tastiera invierà entrambi i caratteri di controllo Ritorno carrello "\r" e Nuova riga "\n"

Se questa modalità è ripristinata, il tasto Invio invierà solo un Ritorno carrello "\r"

Lo stesso si applica al tasto Invio sul tastierino numerico

Questa modalità emula la Modalità LNM - Line Feed/New Line

Nota che ogni combinazione di tasti e modalità (imposta/ripristina) deve essere unica. Ad esempio, considera le due regole seguenti:

  • A+Maiusc : «A»

  • a : «a»

Konsole non accetterà la regola della lettera minuscola «a», sarà necessario aggiungere un «-Maiusc» alla regola perché funzioni.

Il campo di uscita

Nel campo di uscita puoi aggiungere le sequenze di escape e i caratteri di controllo che vuoi che Konsole invii al terminale quando la combinazione di tasti associata viene premuta.

È inoltre possibile utilizzare le seguenti parole chiave, ognuna delle quali ha un significato speciale in Konsole:

  • scrollUpLine : scorri in alto di una riga nel buffer della cronologia della shell

  • scrollUpPage : scorri in alto di una pagina nel buffer della cronologia della shell

  • scrollDownLine : scorri in basso di una riga nel buffer della cronologia della shell

  • scrollDownPage : scorri in basso di una pagina nel buffer della cronologia della shell

  • scrollUpToTop : scorri in alto fino all'inizio del buffer della cronologia della shell

  • scrollDownToBottom : scorri in basso fino alla fine del buffer della cronologia della shell

È inoltre possibile utilizzare stringhe con la sintassi del C; sono disponibili le sequenze di escape seguenti:

  • \E : Escape

  • \\ : Barra inversa

  • \" : Doppi apici

  • \t : Tabulazione

  • \r : Ritorno carrello

  • \n : Nuova riga

  • \b : Backspace

  • \xHH : dove HH sono due cifre esadecimali

    Suggerimento

    Questo può essere utilizzato per inviare caratteri di controllo , ad es. «\x00» che è il carattere NUL

Altre risorse di sistema

Ci sono altre risorse di sistema che possono interessare le associazioni dei tasti del terminale:

  • Consultare la banca dati terminfo o termcap per le sequenze di escape e per i caratteri di controllo attesi che ogni combinazione di tasti dovrebbe inviare.

  • Sembra che il tuo sistema abbia altre banche dati della tastiera che devono essere sincronizzati, (ad es. /etc/inputrc e readline per la shell BASH) poiché interessano le operazioni (interazioni) associate alle combinazioni di tasti.

Letture ulteriori

Per ulteriori informazioni sulle sequenze di escape e sui caratteri di controllo, controllare la documentazione seguente: