关于键盘的工作 请高手不吝赐教!!!
不好意思 俺是菜鸟 有问题请教大侠们:::::怎么方向键的ASC码都是224?如果我想用getch()判定键盘方向键的按下与否,如果用扫描码(我试过可以)不是和四个大写字母重了? 扫描码到底和ASC有什么区别联系?
而且为什么按下方向键会getch()到两个值?好奇怪?
大侠莫说我懒 其实我查了半天资料 头都大了 才来请教的 大侠一定要帮忙啊! 关于键盘的工作原理?我查了下 发现键盘的ASC码 扫描码 还有一个四位的16进制的码类似于4f31都是什么含义?谢了先!!还有个代码是什么码?感激不尽!
----------------解决方案--------------------------------------------------------
对,这样说吧,getch()接受一个char,而实际上特殊键产生一个int值,所以,getch()将两次被调用 用如下程式: main() { char c;
while((c=getch())!='\r') { printf("%d %c\n",c,c); } } 你可以看到,当一个ASCII字符被激发时,只打出其值和字符。但是,当一个特殊键被激发时,首先打一0值及0值的字符(不可见),再打一个其它的相关值及字符。 当一个特殊键被激发时,产生一个int值,其高位为相关的扩允码,底位为0,(注意:int的高底位在内存中的实际排列)。
----------------解决方案--------------------------------------------------------