Як давній прихисток на стек-біржі, я знайшов відповіді на більшість моїх проблем, не потребуючи стільки, щоб робити акаунт. Але сьогодні я повністю спотикаюся з цим питанням, тому я звертаюся за допомогою.
Нещодавно я відкрив для себе Byobu - інтерфейс для Tmux, який використовує клавіші Fn для загальних завдань. Це справжнє благо для багатозадачності через SSH на віддалений сервер Linux з ПК, який я маю використовувати на роботі.
В даний час я використовую gnome-термінал через тунель SSH, оскільки і PuTTY, і MinTTY (термінал за замовчуванням у Cygwin), здається, надсилають неправильні коди ключів для функціональних клавіш.
Мені було цікаво, чи існує спосіб змінити певні коди евакуації, щоб принаймні один із моїх терміналів на базі Windows міг правильно працювати з Tmux. (Напевно, я міг би просто вивчити комбінації клавіш Ctrl + b / Ctrl +, але виконання комбінації клавіш, а потім інший ключ, насправді не вражає мене як ергономічне.)
У PuTTY, якщо встановити термінал> клавіатура> «функціональні клавіші та клавіатуру» на «XtermR6», схоже, зазвичай натискають правильні послідовності виходу для клавіш Fn, але модифікатори Shift і Ctrl порушені. Я можу використовувати vim, щоб визначити, які коди надсилаються кожним терміналом. Тим часом, я думаю, я міг би шукати комбінацію, яку шукає tmux у своєму вихідному коді , але я не впевнений:
Key Tmux Expects Gnome-Terminal PuTTY MinTTY
Normal F3: ^[0R ^[0R ^[0R
Ctrl+F3 "\033[13^" ^[01;5R ^[0R ^[[1;5R
Shift+F3 "\033[13$" ^[01;2R ^[[25~ ^[[1;2R
Ctrl+Shift+F3 "\033[13@" ^[01;6R ^[[25~ ^[[1;6R
Поки що MinTTY виглядає як найкращий кандидат, але це створює мені зовсім іншу проблему, коли byobu ігнорує 95% натискань клавіш Fn, передаючи їх безпосередньо клієнтській програмі. Я можу запустити cat -v і спамувати клавішу F2 (нове вікно), і вона буде роздруковувати "^ [0Q" чотири або п'ять разів, перш ніж раптом нерестувати нове вікно.
Якщо хтось має пораду, було б раді. Більшість речей, які я знайшов в Інтернеті, казали про зміну типу терміналу, але я спробував буквально кожну комбінацію кожної з двох програм.
Спасибі!
kf3
з будь-якого терміна, який ви використовуєте для приєднання до tmux ), а також послідовності з модифікованим ключем xterm у стиліxterm-keys.c
. Отже, послідовності, про які ви повідомляєте з Gnome-Terminal та MinTTY (хоча вхідні + нулі у ваших послідовностях мають бути escape + letter-ohs (він же SS3), слід розпізнати tmux , але він передасть їх лише у тому випадку, якщо у вас єxterm-keys
опція включена.