Super_L
является ключом X Tmux работает в терминале. Это ваш эмулятор терминала, чтобы преобразовать KeySym в последовательность символов. Таким образом, вам придется настроить как эмулятор терминала, так и tmux.
В документации по tmux префиксом может быть только известное имя ключа с необязательным модификатором. Таким образом, вы можете установить префикс tmux на комбинацию клавиш, например, которую вы не используете M-F12
, и заставить свой терминал отправлять последовательность символов, M-F12
когда вы нажимаете Super_L
. Приложив немного больше работы, вы можете использовать клавишу, которой, вероятно, нет на клавиатуре (tmux принимает F13
в F20
качестве имен клавиш, но они должны быть объявлены в terminfo).
На стороне эмулятора терминала вам нужно будет Super_L
сгенерировать последовательность клавиш \e\e[24~
(для M-F12
) или \e[34~
(для F20
) (где \e
находится escape-символ). Как это сделать, зависит от эмулятора терминала (а некоторые недостаточно настраиваются для этого). С помощью xterm это делается через ресурсы X:
! Make Super_L act as Meta+F12
XTerm.VT100.translations: #override \
<Key>Super_L: string("\033\033[24~")
Вы можете попасть в зацепку, которая Super_L
обычно является модификатором, и клавиши-модификаторы не всегда работают, когда не требуется модификатор. Если вы не хотите Super_L
быть модификатором, вы можете убрать его модификатор или (менее запутанно) использовать другой ключ для симуляции физического ключа. Это можно сделать с помощью xmodmap (старомодный и простой для понимания), xkb (современный, плохо документированный, мощный и сложный способ) или, возможно, с помощью инструмента конфигурации графического интерфейса вашей рабочей среды.
Жиль "ТАК - перестань быть злым"
источник
Super_L
Это X KeySym, так что вы, вероятно, где-то X-сервер (если вы входили из Windows, я думаю, вы бы назвали ключ левой клавишей Windows). Tmux работает в терминале и считывает свои входные данные в байтах, функциональные клавиши переводятся в escape-последовательности. Удаленный вход в систему прозрачен, ssh просто передает байты, которые составляют escape-последовательность.Ты не можешь Привязка ключа будет вызывать
cmd_bind_key_parse
функцию изcmd-bind-key.c
которых в свою очередь , будет ( в конце концов) вызовkey_string_get_modifiers
изkey-string.c
:tmux.c
Содержит ключевой Модификатор#define
заявления и из этого файла мы имеем:На первый взгляд, это не так уж сложно изменить; возможно выходные (известные последние слова;)) проект?
источник
Мне не удалось установить префикс для пользовательской клавиши-модификатора, но мне удалось определить привязки tmux в сочетании с настраиваемой клавишей-модификатором в Gnome в сочетании с Metacity. Например, чтобы отобразить
Mod4
+ kиMod4
+, jчтобы перейти к текущей панели вверх и вниз соответственно:Это учитывает привязки tmux в сочетании, например, с ключом Windows. Нечто подобное работает для любого оконного менеджера, который позволяет определять глобальные сочетания клавиш (Compiz, KWin и т. Д.).
источник
Кажется, вы хотите это: https://lists.gnu.org/archive/html/screen-users/2009-12/msg00144.html
источник