#javascript #node.js #terminal #stdin #tty
#javascript #node.js #терминал #stdin #tty
Вопрос:
Я пытаюсь перехватить каждое нажатие клавиши в стандартном режиме с помощью узла 6.7.0. Вот что я делаю:
process.stdin.setEncoding('utf8');
process.stdin.setRawMode(true);
process.stdin.resume();
process.stdin.on('data', function(data) {
console.log('data', data);
}.bind(this));
Когда я запускаю свою программу, я могу нажать клавишу, и она выйдет из data d
системы, но если я нажму несколько клавиш, она выйдет из системы только после трех полных нажатий клавиш. Это очень странно. Кто-нибудь знает, что может происходить? Я использую терминал macOS Sierra.
Комментарии:
1. Похоже, что он захватывает «ввод». это означает результат, который драйвер клавиатуры обеспечивает для стандартного пользовательского ввода. Вероятно, то, что вы ищете, — это получить какую-то функцию keyboardMap, которая возвращает «все еще нажатые клавиши» при каждом вызове
Ответ №1:
Возможно, это то, что вы ищете для событий клавиатуры