¿Qué parte de Gnome Terminal maneja Ctrl-C?

2

He estado jugando con Gnome Terminal recientemente, tratando de personalizar lo que sucede cuando presiono Ctrl-C (me gustaría copiarlo cuando tengo texto seleccionado y enviar SIGINT de lo contrario, pero eso no es parte de la pregunta), pero Parece que no puedo entender en qué parte de la pila se reconoce Ctrl-C (o dónde se reconoce Ctrl-Shift-C si Ctrl-C es un rebote, para el caso).

Entonces, ¿qué biblioteca o programa es responsable de manejar esa combinación de teclado?

Tutleman
fuente

Respuestas:

0

Para CtrlC, el emulador de terminal simplemente envía el byte único 0x03.

CtrlA- CtrlZenvíe los bytes 0x01–0x1A (decimal 1–26), respectivamente; además, Ctrlspacees 0x00, Ctrl[es 0x1B, Ctrl\es 0x1C, Ctrl]es 0x1D, Ctrl^(o a menudo simplemente Ctrl6sin Shift, suponiendo que el diseño del teclado de EE. UU. ) es 0x1E, y Ctrl_(o a menudo Ctrl-sin Shift) es 0x1F.

Estos bytes son interpretados y manejados especialmente por el núcleo, de acuerdo con la disciplina de la línea terminal . Verifique la salida de stty -a, probablemente contiene lo intr = ^Cque significa que CtrlC(el byte 0x03) es el carácter de interrupción.

Ver las páginas del manual de stty, termios, ioctl, ioctl_ttyy partidos WebSearch relacionados (incluyendo el término "disciplina de línea") para más detalles.

egmont
fuente
0

Lo que estás preguntando está determinado por dos factores;

  • su caparazón (elegido)
  • las preferencias en el terminal (Gnome)

Para descubrir lo que está asignado actualmenteCTRL+C en el terminal Gnome. En una sesión abierta, elija editar > preferencias > accesos directos

Como se refiere a su shell de inicio de sesión .; CTRL+C( ^C) casi siempre se asigna TERMo HUP(cuelga).

alguien
fuente