terminfo, 某些版本的termcap, 以及某些版本的curses 函数库有对这些非ASCII 键的支持。
典型的, 一个特殊键会发送一个多字符序列(通常以ESC[’\033’] 字符开头)。
分析这个多字符序列比较麻烦。
如果你首先调用了keypad(),curses 会帮你做分析。
在MS-DOS 下, 如果你在读入键盘输入时, 收到一个值为0 的字符(不是字符’0’), 这就标志着下一个读入的值代表一个特殊键。
有关键盘的编码可参见任何DOS 的编程指南。
简单的说明: 上、下、左、右键的编码是72, 80, 75, 77, 功能键从59 到68。