20.5 怎样读入方向键, 功能键?

terminfo, 某些版本的 termcap, 以及某些版本的 curses 函数库 有对这些非 ASCII 键的支持。典型的, 一个特殊键会发送一个多字符序列 (通常 以 ESC ['\033'] 字符开头)。分析这个多字符序列比较麻烦。如果 你首先调用了 keypad(), curses 会帮你做分析。

在 MS-DOS 下, 如果你在读入键盘输入时, 收到一个值为 0 的字符  (不是字符 '0'), 这就标志着下一个读入的值代表一个特殊键。 有关键盘的编码可参见任何 DOS 的编程指南。简单的说明: 上、下、 左、右键的编码是 72, 80, 75, 77, 功能键从 59 到 68。

参考资料: [PCS, Sec. 5.1.4 pp. 56-7]。

翻译朱群英、孙云, LaTeX2HTML 编译 朱群英 (2005-06-23)