Super_L
es un keyym X. Tmux se ejecuta en una terminal. Depende de su emulador de terminal transformar un keyym en una secuencia de caracteres. Entonces tendría que configurar tanto su emulador de terminal como tmux.
Mirando la documentación de tmux, el prefijo solo puede ser un nombre clave conocido con un modificador opcional. Por lo tanto, puede establecer el prefijo tmux en una combinación de teclas que no usa, por ejemplo M-F12
, y hacer que su terminal envíe la secuencia de caracteres para M-F12
cuando presiona Super_L
. Con un poco más de trabajo, se puede usar una llave que su teclado no tiene probablemente (tmux acepta F13
través F20
como nombres clave, pero tienen que ser declarada en terminfo).
En el lado del emulador de terminal, tendría que organizar para Super_L
generar la secuencia de teclas \e\e[24~
(para M-F12
) o \e[34~
(para F20
) (donde \e
está el carácter de escape). Cómo hacerlo depende del emulador de terminal (y algunos no son lo suficientemente configurables como para hacerlo). Con xterm, se realiza a través de recursos X:
! Make Super_L act as Meta+F12
XTerm.VT100.translations: #override \
<Key>Super_L: string("\033\033[24~")
Puede golpear un problema que Super_L
normalmente es un modificador, y las teclas modificadoras no siempre funcionan cuando se requiere un no modificador. Si no desea Super_L
ser un modificador, puede quitar su modificador o (de manera menos confusa) usar un keyym diferente para la clave física. Esto se puede hacer a través de xmodmap (anticuado y simple de entender), a través de xkb (la forma moderna, mal documentada, poderosa y compleja), o tal vez a través de la herramienta de configuración GUI de su entorno de escritorio.
Gilles 'SO- deja de ser malvado'
fuente
Super_L
es un keyym X, por lo que presumiblemente tiene un servidor X en algún lugar (si iniciara sesión desde Windows, supongo que llamaría a la tecla la tecla izquierda de Windows). Tmux se ejecuta en un terminal y lee su entrada como bytes, con las teclas de función traducidas en secuencias de escape. Un inicio de sesión remoto es transparente, ssh solo transmite los bytes que forman la secuencia de escape.No puedes Al vincular una tecla, se llamará a la
cmd_bind_key_parse
función desde lacmd-bind-key.c
cual (eventualmente) se llamarákey_string_get_modifiers
desdekey-string.c
:El
tmux.c
contiene la clave del modificador de#define
declaraciones y de ese archivo tenemos:En la superficie, sin embargo, no parece demasiado difícil de modificar; tal vez un proyecto de fin de semana (últimas palabras famosas;))?
fuente
No he podido establecer un prefijo para una tecla modificadora personalizada, pero logré definir enlaces tmux en combinación con una tecla modificadora personalizada en Gnome en combinación con Metacity. Por ejemplo, para asignar
Mod4
+ kyMod4
+ jpara moverse al panel actual hacia arriba y hacia abajo respectivamente:Esto permite enlaces tmux en combinación con, por ejemplo, la tecla de Windows. Algo así funciona para cualquier administrador de ventanas que permita definir atajos de teclado globales (Compiz, KWin, etc.).
fuente
Parece que quieres esto: https://lists.gnu.org/archive/html/screen-users/2009-12/msg00144.html
fuente