Asignaciones de teclas de la terminal

Cómo usa las asignaciones de teclas

Introducción
usa archivos *.keytab para traducir combinaciones de teclas a caracteres de control y secuencias de escape que se envían al intérprete de órdenes o a programas inactivos (por lo general, programas que usan el búfer de pantalla alternativo, como vim, less o screen) que se están ejecutando en el intérprete.
Se puede personalizar los ajustes de asignaciones de teclas de usando el editor de asignaciones de teclas. Se puede configurar una combinación de teclas para enviar una determinada secuencia de control o de escape al terminal.
El editor de asignaciones de teclas se puede abrir con la entrada del menú Preferencias Editar el perfil actual, en la pestaña Teclado. Allí se muestra una lista de los esquemas de asignaciones de teclas que incluye de forma predeterminada.

Combinaciones de teclas y modos
Las combinaciones de teclas siguen el patrón:

Tecla (+|-) Modos

Por ejemplo:

Arriba+Mayúsculas+AppScreen
Abajo+Mayúsculas-AppScreen
Espacio+Ctrl

Los nombres de las teclas están definidos en el archivo de cabecera «qnamespace.h», eliminando el prefijo «Qt::Key_». Puede consultar la lista de nombres de teclas en el enumerador Qt::Key de la documentación de .
Un «+» que precede a un nombre de modo indica que dicho modo es definir; para una tecla modificadora, indica que está pulsada, mientras que para el resto de modos indica que dicho modo está en efecto (es decir, activo). Por ejemplo, «+Ctrl» indica que la combinación de teclas funcionará solo si está pulsada la tecla .
Un «-» que precede a un nombre de modo indica que dicho modo es restablecer; básicamente, es lo contrario de poner un «+» delante de un nombre de modo. Así, para una tecla modificadora indica que la tecla no está pulsada, mientras que para el resto de modos indica que dicho modo está inactivo. Por ejemplo, «-Ctrl» indica que la combinación de teclas funcionará solo si la tecla no está pulsada.
Si un nombre de modo no está presente en una combinación de teclas, su estado se ignora.
A continuación se muestran los modos de asociaciones de teclas permitidos:
Alt, Ctrl, Mayúsculas 	 Uno o más de estos modos se pueden usar en una combinación de teclas: si se define alguno de ellos, la combinación de teclas usa dicha tecla modificadora, respectivamente; y viceversa, si se restablece.
AnyModifier 	 Si se define este modo, la combinación de teclas usa cualquier tecla modificadora (cualquiera de las tres teclas modificadoras anteriores); y viceversa, si se restablece.
Ansi 	 Si se define este modo, enviará secuencias de control y de escape ANSI.
Si se restablece este modo, enviará secuencias de control y de escape VT52.
AppScreen 	 Si se define este modo, la combinación de teclas solo afectará a los programas interactivos que usen el búfer de pantalla alternativo.
Si se restablece este modo, la combinación de teclas solo afectará al terminal cuando se use el búfer de pantalla normal.
usa dos búferes de pantalla:
El búfer de pantalla normal (predeterminado): permite desplazarse hacia atrás para ver líneas de salida anteriores; este es el búfer predeterminado que se usará normalmente para ejecutar órdenes, etc.
El búfer de pantalla alternativo: el terminal cambia a este búfer cuando se ejecuta un programa interactivo (por ejemplo, less, vim, screen, tmux, etc.).
KeyPad 	 Si este modo está activo, la combinación de teclas usa una tecla del bloque numérico. Este modo es útil para distinguir entre las teclas del teclado y las del bloque numérico. Por ejemplo, cuando el bloque numérico está activo, se pueden configurar dos combinaciones de teclas distintas, una que use la tecla «1» del teclado (normalmente debajo de la tecla F1) y otra que use la tecla «1» del bloque numérico. El mismo concepto se aplica cuando el bloque numérico está desactivado para las teclas «Inicio», «Fin», las teclas del cursor, etc., del bloque numérico.
AppCursorKeys 	 Este modo implementa el modo de teclas del cursor (DECCKM) de VT100. Controla las secuencias de escape que envía cada tecla del cursor (Arriba, Abajo, Derecha e Izquierda), dependiendo de si este modo está activado o no.
Por omisión, sigue el comportamiento de XTerm para tratar las teclas Inicio y Fin como teclas de cursor con respecto a DECCKM.
AppKeyPad 	 Si este modo está activo, la combinación de teclas solo funcionará cuando el bloque de teclas está en modo aplicación (DECKPAM).
Si este modo no está activo, la combinación de teclas solo funcionará cuando el bloque de teclas está en modo numérico (DECKPNM).
NewLine 	 Si este modo está activo, la tecla Retorno (Intro) del teclado enviará los caracteres de control «retorno de carro» («\r») y «nueva línea» («\n»).
Si este modo no está activo, la tecla Retorno enviará solo un «retorno de carro» («\r»).
Lo mismo se aplica a la tecla Intro del bloque numérico
Este modo emula el LNM (modo salto de línea o nueva línea)
Tenga en cuenta que cada combinación de teclas y modos (definir/reiniciar) debe ser única. Por ejemplo, considere las dos reglas siguientes:
A+Mayúsculas: A
a: a
no aceptará la regla de la letra en minúscula «a»; debe añadir «-Mayúsculas» a dicha regla para que funcione.

El campo de salida
En el campo «Salida» puede añadir las secuencias de escape o los caracteres de control que quiere que envíe a la terminal cuando se pulsa la combinación de teclas asociada.
También puede usar cualquiera de las siguientes palabras clave, que tienen un significado especial en :
scrollUpLine: desplaza una línea hacia arriba en el búfer del historial de desplazamiento
scrollUpPage: desplaza una página hacia arriba en el búfer del historial de desplazamiento
scrollDownLine: desplaza una línea hacia abajo en el búfer del historial de desplazamiento
scrollDownPage: desplaza una página hacia abajo en el búfer del historial de desplazamiento
scrollUpToTop: desplaza hasta el principio del búfer del historial de desplazamiento
scrollDownToBottom: desplaza hasta el final del búfer del historial de desplazamiento
También puede usar cadenas de texto con la sintaxis de las cadenas de C; puede usar las siguientes secuencias de escape:
\E: Escape
\\: Barra inversa
\": Comillas dobles
\t: Tabulador
\r: Retorno de carro
\n: Nueva línea
\b: Retroceso
\xHH: donde HH son dos dígitos en hexadecimal
Esto se puede usar para enviar caracteres de control como, por ejemplo, «\x00» (que es el carácter NUL).

Otros recursos del sistema
Hay otros recursos del sistema que pueden afectar a las combinaciones de teclas del terminal:
Consulte la base de datos de terminfo o de termcap para las secuencias de escapa y caracteres de control que se supone que envía cada combinación de teclas.
Es probable que su sistema tenga otras bases de datos de teclado que también deben estar sincronizadas (por ejemplo, /etc/inputrc and readline para la shell BASH), ya que afectan a las operaciones (interacciones) asignadas a combinaciones de teclas.

Lectura adicional
Para más información sobre secuencias de escape y caracteres de control, consulte la siguiente documentación:
La guía del usuario de VT100
La guía del usuario de VT102
La completa e indispensable documentación de las Secuencias de control de XTerm.