Super_L
é um chaveiro X. O TMux é executado em um terminal. Cabe ao seu emulador de terminal transformar um teclado em uma sequência de caracteres. Então você teria que configurar o seu emulador de terminal e o tmux.
Observando a documentação do tmux, o prefixo pode ser apenas um nome de chave conhecido com um modificador opcional. Assim, você pode definir o prefixo tmux para uma combinação de teclas que não usa, digamos M-F12
, e fazer com que seu terminal envie a sequência de caracteres para M-F12
quando você pressionar Super_L
. Com um pouco mais de trabalho, você pode usar uma chave que o seu teclado provavelmente não tem (tmux aceita F13
através F20
de nomes-chave, mas eles têm de ser declaradas em terminfo).
No lado do emulador de terminal, você teria que organizar para Super_L
gerar a sequência de teclas \e\e[24~
(for M-F12
) ou \e[34~
(for F20
) (onde \e
está o caractere de escape). Como fazer isso depende do emulador de terminal (e alguns não são configuráveis o suficiente para fazê-lo). Com o xterm, isso é feito através dos recursos X:
! Make Super_L act as Meta+F12
XTerm.VT100.translations: #override \
<Key>Super_L: string("\033\033[24~")
Você pode encontrar um problema que Super_L
normalmente é um modificador, e as teclas modificadoras nem sempre funcionam quando um não-modificador é necessário. Se você não quiser Super_L
ser um modificador, poderá retirá-lo ou (menos confusamente) usar um keyym diferente para a chave física. Isso pode ser feito através do xmodmap (antiquado e simples de entender), do xkb (a maneira moderna, mal documentada, poderosa e complexa) ou talvez da ferramenta de configuração da GUI do ambiente de desktop.
Gilles 'SO- parar de ser mau'
fonte
Super_L
é um chaveiro X, então você provavelmente possui um servidor X em algum lugar (se estivesse efetuando login no Windows, suponho que chamaria a chave de chave esquerda do Windows). O Tmux é executado em um terminal e lê sua entrada como bytes, com as teclas de função traduzidas em seqüências de escape. Um login remoto é transparente, o ssh apenas transmite os bytes que compõem a sequência de escape.Você não pode. Encadernação uma chave irá chamar a
cmd_bind_key_parse
função a partir dacmd-bind-key.c
qual, por sua vez vai (finalmente) chamadakey_string_get_modifiers
a partir dekey-string.c
:O
tmux.c
contém as#define
declarações da chave modificadora e desse arquivo temos:Na superfície, porém, não parece muito difícil de modificar; talvez um projeto de fim de semana (famosas últimas palavras;))?
fonte
Não consegui definir um prefixo para uma chave modificadora personalizada, mas consegui definir ligações do tmux em combinação com uma chave modificadora personalizada no Gnome em combinação com o Metacity. Por exemplo, para mapear
Mod4
+ keMod4
+ jpara mover para o painel atual para cima e para baixo, respectivamente:Isso permite ligações tmux em combinação com, por exemplo, a chave do Windows. Algo nesse sentido funciona para qualquer gerenciador de janelas que permita definir atalhos de teclado globais (Compiz, KWin, etc.).
fonte
Parece que você deseja o seguinte: https://lists.gnu.org/archive/html/screen-users/2009-12/msg00144.html
fonte