Насколько я понимаю, есть два возможных режима для числа клавиатур на терминалах VT100: нормальный режим цифровой клавиатуры и режим клавиатуры Application . Последний имеет клавиши клавиатуры для отправки не цифры, а escape-последовательности. Например, клавиша «1» отправляет <ESC>[Oq
, клавиша «2» отправляет <ESC>[Or
, из которых на экране видны только буквы q и r . Это управляющие последовательности, которые программа (хост) может интерпретировать как команды для некоторых функций. Таким образом, в этом режиме клавиши клавиатуры практически используются в качестве дополнительных функциональных клавиш.
В соответствии со стандартом терминала VT100 программа (хост) может «попросить» терминал переключить клавиатуру в режим приложения. (Это может быть сделано путем отправки определенной последовательности управления на терминал.) Известно, что Vi и Vim делают это. Переключатель режимов не универсален, он зависит от программы к программе: он активен только в той программе, которая его запросила. В других программах, включая оболочку, клавиатура остается в числовом режиме. Настройка по умолчанию в Terminal.app в OS X - разрешить программам переключаться в режим приложения, который вы сейчас отключили, сняв флажок «Разрешить режим клавиатуры приложения VT100». (Кстати: в OS X 10.7 эта опция помечена как «Строгое поведение клавиатуры VT100».)
Смотрите также:
http://www.vt100.net/docs/vt100-ug/chapter3.html
https://ttssh2.osdn.jp/manual/en/usage/tips/appkeypad.html