A página de manual não está clara, mas a leitura do código-fonte ajuda:
- dê uma olhada em input-keys.c e você veja as chaves, listadas em uma tabela.
- a tabela é usada no mesmo arquivo, em
input_key
- perto do topo do arquivo, há um comentário:
/* * This file is rather misleadingly named, it contains the code which takes a * key code and translates it into something suitable to be sent to the * application running in a pane (similar to input.c does in the other * direction with output). */
Seu shell é o aplicativo ao qual o comentário se refere.
O terminal-overrides
é usado para modificar a descrição do terminal que tmux
lê, para permitir que você trabalhe com configurações (do terminal "real" externo) que não correspondem à descrição do terminal:
- a descrição do terminal é lida de tty_term_find ,
- que, então, aplica as substituições por meio de tty_term_override
tmux
converte as chaves em seu próprio conjunto de seqüências de escape (correspondentes às de screen
, com a exceção de que adiciona a opção xterm-keys
). O comentário na parte superior de window.c
resume isso:
* A pane has two buffers attached, these are filled and emptied by the main
* server poll loop. Output data is received from pty's in screen format,
* translated and returned as a series of escape sequences and strings via
* input_parse (in input.c). Input data is received as key codes and written
* directly via input_key.
A página de manual diz
default-terminal
terminal
Set the default terminal for new windows created in this session - the default value of theTERM
environment variable. Fortmux
to work correctly, this must be set to ‘screen’, ‘tmux’ or a derivative of them.
O motivo da restrição é que não há como personalizar os dados em input-keys.c
da maneira que você gostaria.