How do I get the F1-F12 keys to switch screens in gnu screen in cygwin when connecting via SSH?

Posted by Mikey on Super User See other posts from Super User or by Mikey
Published on 2011-01-11T05:45:38Z Indexed on 2011/01/11 5:55 UTC
Read the original article Hit count: 401

Filed under:
|
|
|

I'm connecting to a desktop running cygwin via SSH from the terminal app in Mac OS X. I have already started screen on the cygwin side and can connect to it over the SSH session. Furthermore, I have the following in the .screenrc file:

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

However, when I start multiple windows in screen and attempt to switch between them via the function keys, all I get is a beep.

I have tried various settings for $TERM (e.g. ansi, cygwin, xterm-color, vt100) and they don't really seem to affect anything.

I have verified that the terminal app is in fact sending the escape sequence for the function key that I'm expecting and that my bash shell (running inside screen) is receiving it. For example, for F1, it sends the following (hexdump is a perl script I wrote that takes STDIN in binmode and outputs it as a hexadecimal/ascii dump):

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

If things were working correctly, I don't think bash should receive the escape sequence because screen should have caught it and turned it into a command.

How do I get the function keys to work?

© Super User or respective owner

How do I get the F1-F12 keys to switch screens in gnu screen in cygwin when connecting via SSH?

Posted by Mikey on Stack Overflow See other posts from Stack Overflow or by Mikey
Published on 2011-01-11T02:24:39Z Indexed on 2011/01/11 4:54 UTC
Read the original article Hit count: 401

Filed under:
|
|

I'm connecting to a desktop running cygwin via SSH from the terminal app in Mac OS X. I have already started screen on the cygwin side and can connect to it over the SSH session. Furthermore, I have the following in the .screenrc file:

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

However, when I start multiple windows in screen and attempt to switch between them via the function keys, all I get is a beep.

I have tried various settings for $TERM (e.g. ansi, cygwin, xterm-color, vt100) and they don't really seem to affect anything.

I have verified that the terminal app is in fact sending the escape sequence for the function key that I'm expecting and that my bash shell (running inside screen) is receiving it. For example, for F1, it sends the following (hexdump is a perl script I wrote that takes STDIN in binmode and outputs it as a hexadecimal/ascii dump):

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

If things were working correctly, I don't think bash should receive the escape sequence because screen should have caught it and turned it into a command.

How do I get the function keys to work?

© Stack Overflow or respective owner

Related posts about ssh

Related posts about screen