LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 780|回复: 7

菜鸟小问题,如阁下有时间,帮个忙先,谢谢

[复制链接]
发表于 2004-5-22 10:12:57 | 显示全部楼层 |阅读模式
我想在LINUX下,通过一个C程序来捕获键盘上所有按键的ascii码,要能够区分caps lock,num lock等功能键按下时与不按下时的状况。在下愚顿,请各位大哥帮帮忙,能给我原程序就最好了。谢谢。
发表于 2004-5-22 10:24:08 | 显示全部楼层
showkey -a
这个命令合适否?
 楼主| 发表于 2004-5-22 10:44:37 | 显示全部楼层
非常感谢
刚才实了一下,挺管用。结果是:
Press any keys - Ctrl-D will terminate this program
                                                                                
^[[3~    27 0033 0x1b
         91 0133 0x5b
         51 0063 0x33
        126 0176 0x7e
^[OF     27 0033 0x1b
         79 0117 0x4f
         70 0106 0x46
找是我测试del和end两个按键得到的,但我不知道,什么时候该用哪个
能指教么?
发表于 2004-5-22 10:47:54 | 显示全部楼层
看不懂你的意思:ask
发表于 2004-5-22 12:06:33 | 显示全部楼层
这个程序把输入终端锁死了!why ??
  1. #include <stdio.h>
  2. #include <unistd.h>
  3. int
  4. main(int argc,char **argv)
  5. {
  6.         FILE                            *fp;
  7.         int                             c;
  8.         if(argc != 2 ) {
  9.                 printf("Usage : %s <terminal>\n",argv[0]);
  10.                 exit(1);
  11.         }
  12.         if((fp=fopen(argv[1],"r"))<0) {
  13.                 perror("open error");
  14.                 exit(1);
  15.         }
  16.         for ( ; ; ) {
  17.                 fflush(stdin);
  18.                 while((c=fgetc(fp)) != NULL )
  19.                         fputc(c,stdout);
  20.                 fflush(stdout);
  21.         }
  22.         fclose(fp);
  23.         return(0);
  24. }
复制代码
在终端只能读一次??接着终端无法输入任何字符! 请教高手。
看来需要复制流!:ask
 楼主| 发表于 2004-5-22 13:47:09 | 显示全部楼层
showkye -a这个程序运行的时候,我随便点了键盘上的DEL和END,结果是:
^[[3~ 27 0033 0x1b ---------------敲入DEL键的结果
      91 0133 0x5b
      51 0063 0x33
      126 0176 0x7e
^[OF 27 0033 0x1b   -------------敲入END的结果
     79 0117 0x4f
     70 0106 0x46
什么意思我也不是很明白,你可以是一是。不过我觉得这个命令得来的这些值不一定是对的。因为我用GNGEO玩游戏的时候,输入这些配置并不能控制。
问题没有解决。麻烦知道的人指教一二
发表于 2004-5-22 14:00:19 | 显示全部楼层

  1.         -h --help       display this help text
  2.         -a --ascii      display the decimal/octal/hex values of the keys
  3.         -s --scancodes  display only the raw scan-codes
  4.         -k --keycodes   display only the interpreted keycodes (default)
复制代码

上面显示的是
十进制,八进制,十六进制的value
发表于 2004-5-22 14:43:23 | 显示全部楼层
  1.                                                                  alt
  2.       scan                          cntrl          alt    alt   cntrl
  3.       code     base   shift  cntrl  shift   alt   shift  cntrl  shift
  4.       map[n]      0       1      2      3     4       5      6      7
  5.       ----     ------------------------------------------------------
  6.       0x1E      'a'     'A'   0x01   0x01    'a'    'A'   0x01   0x01
  7.                    F1-F12                  key 1 - 12
  8.                    Shift F1-F12            key 13 - 24
  9.                    Ctrl F1-F12             key 25 - 36
  10.                    Ctrl+shift F1-F12       key 37 - 48
  11.                                                                                                 
  12.                    Home                    key 49
  13.                    Up arrow                key 50
  14.                    Page Up                 key 51
  15.                    (keypad) -              key 52
  16.                    Left arrow              key 53
  17.                    (keypad) 5              key 54
  18.                    Right arrow             key 55
  19.                    (keypad) +              key 56
  20.                    End                     key 57
  21.                    Down arrow              key 58
  22.                    Page down               key 59
  23.                    Insert                  key 60
  24.                    Delete                  key 61
  25.                                                                                                 
  26.                    Right window            key 62
  27.                    Left window             key 63
  28.                    Menu                    key 64
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表