首页 > 解决方案 > 无法区分标准输入原始模式中的向上/向下箭头

问题描述

我有这段代码:

  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” ......我正在寻找区分向上/向下/向左/向右箭头键,任何人都知道如何做到这一点?

标签: node.jsstdin

解决方案


推荐阅读