Иногда по долгу службы требуется пользоваться 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.