Ключ с надписью «Backspace» является предметом спора. Технически, его следует отправлять ^H
просто потому, что это имя управляющего символа ASCII. Другие отличаются, потому что история этих функций повлияла на их ожидания (см. Почему мой ключ удаления не работает? ).
В дискуссии, где вы говорите, что печатаете, обычное значение (без пояснений) состоит в том, что вы запустили терминал, а затем запустили программу в терминале. Для этого случая имеется соответствующая инициализация терминала, например, с использованием оболочки и программы, такой как stty
. Это выполняется на локальной машине (где вы печатаете). MobaXterm предоставляет stty
начиная с версии 3.2 (2011-05-30).
Учитывая, что, если MobaXterm отправляет ^H
, инициализация вашего терминала должна использовать
stty erase \^H
Посмотрите, например, что делает команда stty erase ^H
? ,
С другой стороны, вы могли бы (не очевидно, в вопросе) создать ситуацию, когда терминал запускается таким образом, чтобы исключить использование stty
для согласованности приложения и терминала. Или у вас может быть какая-то другая причина для изменения поведения клавиши возврата. PuTTY (как и xterm) предоставляет два механизма для этого:
- один (первоначально реализованный в rxvt) позволяет использовать shiftмодификатор для переключения кода, отправляемого из «backspace» между ASCII backspace (BS = 8 =
^H
) и delete (DEL = 127, часто отображается как ^?
). - другая конфигурация терминала (настройка диалога в разделе « Клавиатура» раздела « Терминал »).
xterm предоставляет третий механизм, которого, по-видимому, нет в PuTTY (см. Последовательности управления XTerm ):
CSI ? Pm h DEC Private Mode Set (DECSET). Ps = 6 7 -> Backarrow key sends backspace (DECBKM).
Если PuTTY реализует это, ваше приложение может напрямую настроить поведение терминала. Скорее, во время инициализации PuTTY проверяет начальное состояние своей конфигурации и (в зависимости от платформы) также проверяет (например, xterm) режимы терминала, установленные в устройстве, и выбирает режим возврата или удаления, который можно приспособить или изменить, как отмечено.