2009-01-02 61 views

回答

11

终端将控制键与字母键结合转换为正常的ASCII码。这可以从getch()函数中读取,就像任何其他按键一样。

CTRL-A: getch() returns 1 
CTRL-B: getch() returns 2 
... 
CTRL-Z: getch() returns 26 

此外,keypad()函数必须被调用,以使其他特殊功能键(例如向左箭头,F1,家庭等)。

我不相信有一种便携的方式通过终端接收元键(例如ALT-H)。一些发送一个转义符(0x1B),后面跟着修改的密钥,而另一些设置高位并只发送一个字节。