null

Исправление работы NumPad клавиш в PuTTY

Иногда по долгу службы требуется пользоваться PuTTY для получения SSH доступа к нормальным системам.
Однако, например при работе в vi, возникают проблемы с использованием Numeric Keypad, особенно, если на эту панель добавлены такие клавиши, как insert, delete и т.д., как это сделано в современных ноутбуках.
Это связано с тем, что господа разработчики PuTTY решили, что NumPad лучше передавать не так, как это хочет ОС, а по-своему обрабатывать и в SSH-сессию отправлять уже после обработки. В частности, это сделано для повышения удобства игры в nethack и рогалики с управлением как в nethack.
Меня, этот факт всё время печалил, особенно при попытке использования Shift+Insert для вставки, т.к. в PuTTY обычно перенастроена вставка с правой кнопки мыши на среднюю, чтобы было как в X11. А когда мне в руки попал ноутбук (Asus N56-JK), на котором разработчики не предусмотрели возможность нажатия "средней кнопки мыши" с тачпада, решил, что пора бы эту проблему решить.

Документации по этому поводу не так уж много, да и не понятно, как сформировать релевантный поисковый запрос.
Вкратце, мышкой эту проблему можно устранить так: открыть PuTTY, слева выбрать Features и поставить галочку "Disable application keypad mode".
Но на многих PuTTY уже создано довольно много сохранённых сессий и путь с мышкой - точно не для нас.

Поэтому, опишу способ, который подойдет для почти безболезненного отключения этой опции.
Для начала, выгрузим из реестра все сохранённые сессии в файл putty.reg. Это можно сделать так:

C:\>reg export HKCU\Software\SimonTatham\PuTTY\Sessions putty.reg
Операция успешно завершена.


Далее заменим значение параметра NoApplicationKeys с 0x0 на 0x1. Лично я не знаю в Windows, в которых нету PowerShell, простого способа это сделать, поэтому использую для этого GVIM:

C:\>gvim putty.reg
:%s/^\("NoApplicationKeys"=.*\)0$/\11/g


К слову, можно сразу включить привычное (xterm-like) поведение мыши:

:%s/^\("MouseIsXterm"=.*\)0$/\11/g


Выйти из vim с сохранением довольно просто:

:x 


После этого, изменённую конфигурацию импортируем в реестр:

C:\>reg import putty.reg
Операция успешно завершена.


Теперь, если открыть PuTTY, можно наблюдать новые настройки и безболезненно использовать Shift+Insert (с NumPad) в vim.

korg

 

Коротко о себе

Работаю в компании Tune-IT, администрирую инфраструктуру компании и вычислительную сеть кафедры Вычислительной ТехникиСПбНИУ ИТМО.

Интересы: администрирование UNIX и UNIX-like систем и активного сетевого оборудования, написание shell- и perl-скриптов, изучение технологий глобальных сетей.
Люблю собирать GNU/Linux и FreeBSD, использовать тайлинговые оконные менеджеры и писать системный софт.

Ничего не найдено. n is 0