Ao contrário de bindkey , em que você pode especificar sequências de caracteres, com bind , a única maneira é usar bind -k CAP , em que CAP é um recurso de chave termcap .
Por exemplo,
bind -k ku focus up
trabalha para vincular a seqüência de caracteres enviada ao Up para focus up . Para o backtab, isso deve ser:
bind -k kB focus up
Infelizmente, por algum motivo, não funciona. Não tenho certeza porque. Minha primeira interpretação estava errada. Parece que tem algo a ver com ncurses não manipular o equivalente a termcap kcbt corretamente:
$ infocmp -1 | grep Z
cbt=\E[Z,
kcbt=\E[Z,
$ infocmp -1C | grep Z
:bt=\E[Z:\
(kcbt não está traduzido para kB).
Se eu adicionar ao meu ~/.screenrc :
termcapinfo * kr=\E[Z
bind -k kr focus up
Isto é, se eu disser screen que qualquer que seja o host termincal ( * ), F63 ( kr ) envia \E[Z e liga F63 para focus up , então isso funciona. Entretanto, note que pressionar Shift + Tab agora envia na tela \EOC , que é a sequência de caracteres que o emulador de terminal que tela implementa (como oposta ao terminal host) envia sobre F63 .