当前位置: 技术问答>linux和unix
键盘读写的问题
来源: 互联网 发布时间:2015-09-24
本文导语: 我自己写了一个kbhit和getch,但getch获得的为按键的asc码(用的read(/dev/tty,&ch,1)),当按下方向键时,比如up键,会在缓冲区产生3个值:27、91、65,这样27就和esc冲突了,无法识别是否是esc键,这个问题怎么办?我不知道如...
我自己写了一个kbhit和getch,但getch获得的为按键的asc码(用的read(/dev/tty,&ch,1)),当按下方向键时,比如up键,会在缓冲区产生3个值:27、91、65,这样27就和esc冲突了,无法识别是否是esc键,这个问题怎么办?我不知道如何取得按键scancode,如果哪位知道怎么取得,望告知,有源码更好,谢谢!
|
方向健,page健等都是由ESC开头的健序列组成。
bash, vim等软件的处理方法是受到ESC后1秒内的其他有效健和第一个无效健认为是健序列。否则就是ESC。也就是说你可以在bash下块敲那几个健序列来模拟方向健。还有敲ESC之后1秒内敲的第一个无效健被丢弃。
bash, vim等软件的处理方法是受到ESC后1秒内的其他有效健和第一个无效健认为是健序列。否则就是ESC。也就是说你可以在bash下块敲那几个健序列来模拟方向健。还有敲ESC之后1秒内敲的第一个无效健被丢弃。