Как иметь привязку ключа большей длины для stty

Вы попытались использовать --mmap флаг?

От человека:

   --mmap If possible, use the mmap(2) system call to read input, instead
          of the default read(2) system call.  In some situations, --mmap
          yields better performance.  However, --mmap can cause undefined
          behavior (including core dumps) if an input file shrinks while
          grep is operating, or if an I/O error occurs.
2
27.02.2014, 01:10
1 ответ

stty susp говорит терминальный драйвер, какой символ (на самом деле, что байт) при незавершенном приеме из терминала (через провод, если реальный терминал, или записанный в основную сторону псевдотерминала в случае эмулятора терминала или sshd...), когда ISIG идет, заставляет SIGTSTP быть отправленным в задание переднего плана.

Нет никакого ключа или клавиатуры, включенной здесь. Это ^Z символ по умолчанию (0x1a). xterm и другие эмуляторы терминала обычно отправляют тот символ при нажатии Z при содержании клавиши Ctrl.

Если Вы хотите мешать приостанавливать процесс, Вы могли бы настроить свой эмулятор терминала так, чтобы он не отправлял ^Z на Ctrl+Z, но на некоторое другое сочетание клавиш. С xterm:

xterm -xrm 'XTerm.VT100.translations: #override \
  Ctrl Shift <KeyPress> X: string(0x1a)\nCtrl <KeyPress> Z:'

Отправляет ^Z символ на нажатие Ctrl+Shift+X, не на Ctrl-Z. С xterm я не думаю, что можно указать произвольные сочетания клавиш, можно только использовать модифицирующие клавиши как Ctrl или Shift.

Конечно, Вы могли также определить другой байт для stty susp и имейте xterm отправьте его на другом сочетании клавиш.

Обратите внимание, что Вы, вероятно, не хотите делать это байтом по 0x7f, поскольку они появились бы в различных символах UTF-8.

2
27.01.2020, 22:13
  • 1
    , Если я делаю stty susp \^K , затем я изменил бы его на Ctrl K. Существует ли wayI, может сделать это с помощью stty вместо xterm? –  sunyata 05.02.2014, 21:52
  • 2
    @sunyata, я не уверен, что понимаю Ваш вопрос, если Вы делаете stty susp \^K, то же как stty susp $'\xb', Вы говорите терминальному драйверу приостанавливать на 0xb символ. Тот символ обычно отправляется xterm на нажатие Ctrl+K, но можно настроить xterm отправить его на другое событие. пакет –  Stéphane Chazelas 05.02.2014, 22:07
  • 3
    я использую tty так xterm, не поможет. –  sunyata 28.02.2014, 03:25
  • 4
    @sunyata, что Вы подразумеваете под tty? Телетайп? Виртуальная консоль Linux? В последнем случае эквивалент должен был бы изменить контурную карту ядра (взгляд на man 5 keymap). –  Stéphane Chazelas 19.06.2014, 12:59
  • 5
    tty я отсылаю к Linux локальный терминал. Я с тех пор переместил проект, таким образом, у меня больше нет той же среды для испытания вещей. Спасибо за Ваш ответ. –  sunyata 20.06.2014, 17:59

Теги

Похожие вопросы