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-terminalterminal
Set the default terminal for new windows created in this session - the default value of theTERMenvironment variable. Fortmuxto 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.