Come ottengo i tasti F1-F12 per passare le schermate nella schermata gnu in cygwin quando si connette via SSH?

Sto collegando a un desktop che esegue cygwin tramite SSH dall'applicazione terminal in Mac OS X. Ho già avviato una schermata sul lato di cygwin e potrei connettersi ad essa tramite la session SSH. Inoltre, ho il seguente nel file .screenrc:

bindkey -k k1 select 1 # F1 = screen 1 bindkey -k k2 select 2 # F2 = screen 2 bindkey -k k3 select 3 # F3 = screen 3 bindkey -k k4 select 4 # F4 = screen 4 bindkey -k k5 select 5 # F5 = screen 5 bindkey -k k6 select 6 # F6 = screen 6 bindkey -k k7 select 7 # F7 = screen 7 bindkey -k k8 select 8 # F8 = screen 8 bindkey -k k9 select 9 # F9 = screen 9 bindkey -k F1 prev # F11 = prev bindkey -k F2 next # F12 = next 

Tuttavia, quando iniziano più windows sullo schermo e cerco di passare da un altro tramite i tasti function, tutto quello che ottengo è un segnale acustico.

Ho provato varie impostazioni per $ TERM (ad es. Ansi, cygwin, xterm-color, vt100) e non sembrano interessare nulla.

Ho verificato che l'applicazione terminal infatti sta inviando la sequenza di escape per il tasto function che mi aspetto e che la mia shell bash (che esegue lo schermo interno) lo riceve. Ad esempio, per F1, invia la seguente (hexdump è uno script perl che ho scritto che prende STDIN in binmode e lo esegue come un esadecimale / ascii dump):

 % hexdump [press F1 and then hit ^D to terminate input] 00000000: 1b4f50 .OP 

Se le cose funzionavano correttamente, non credo che bash dovrebbe ricevere la sequenza di fuga perché lo schermo dovrebbe averlo catturato e trasformato in un command.

Come posso get i tasti function per funzionare?

Con una grande quantità di sperimentazioni, sono riuscito a farlo funzionare aggiungendo le seguenti righe al mio .screenrc:

 terminfo * k1=\EOP terminfo * k2=\EOQ terminfo * k3=\EOR terminfo * k4=\EOS terminfo * k5=\E[15~ terminfo * k6=\E[17~ terminfo * k7=\E[18~ terminfo * k8=\E[19~ terminfo * k9=\E[20~ terminfo * F1=\E[23~ terminfo * F2=\E[24~ 

Probabilmente, la mia risposta completerà quella precedente. È ansible trovare database terminfo modificati che consentono di utilizzare i tasti Fx, nonché le combinazioni Alt + Fx, Ctrl + Fx, Shift + Fx, Alt + Shift + Fx. Le istruzioni per usarlo sono qui . Naturalmente, l'applicazione terminal dovrebbe supportrli. Questi codici a chiave sono da variante XFree 4 di console (supportti in console).