node.js - 无法区分标准输入原始模式中的向上/向下箭头
问题描述
我有这段代码:
process.stdin.setRawMode(true).resume();
process.stdin.on('data', (buf) => {
const str = String(buf);
const charAsAscii = String(buf.toString().charCodeAt(0));
switch (charAsAscii) {
case '25': // left arrow ?
console.log('left arrow');
return;
case '26': // right arrow ?
console.log('right arrow');
return;
case '27': // down arrow
console.log('down arrow');
return;
case '28': // up arrow?
console.log('up arrow');
return;
default:
console.error('default')
}
}
所有箭头键似乎都被识别为向上箭头,也就是说,所有 4 个箭头键始终匹配大小写“28” ......我正在寻找区分向上/向下/向左/向右箭头键,任何人都知道如何做到这一点?
解决方案
推荐阅读
- python - 烧瓶多线程实际上并未为每个请求启动单独的线程
- bash - 如何在 AWS lambda 中安装和运行 acme.sh?
- sparql - SparQL:替换主题 URI
- amazon-web-services - 如何将 Spark 开发环境连接到 AWS Glue 终端节点
- javascript - 制作密码错觉的最简单方法是什么?
- c# - 在页面加载或提交按钮单击 asp.net core mvc 后保持在选项中选择的值
- c++ - 无法链接 ipopt 库(MacOS Mojave 上的 C++)
- python - 如何在 2 个不同的线程中运行 2 个不同的循环?
- mysql - Docker wordpress/mysql 因“连接被拒绝”而失败
- scala - scala-arm:Iterator[Int] 类型的表达式不符合预期的 ManagedResource[B_] 类型