免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1090 | 回复: 0
打印 上一主题 下一主题

Linux程序设计入门 - termios/keymap/terminal programming [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-08-27 18:08 |只看该作者 |倒序浏览
int tcgetattr (int fd, struct termios *termios_p);  
   
  int tcsetattr (int fd, int optional_actions,const struct termios
   
  *termios_p);  

   
  keymap

   
  我写了一个小程序来专门处理Linux上的keymap,keymap.h及keymap.c。  

   
  在Linux Terminal上,如果您想要设定某些按键返回特定值,您会需要用到以
   
  下这些技巧。  

   
  设定keymap

   
  #include   
   
  #include   

   
  void setkeymap(void)  
   
  {  
   
    struct kbentry KEYMAP;  
   
    KEYMAP.kb_table=STATE;  
   
    KEYMAP.kb_index=SCANCODE;  
   
    KEYMAP.kb_value=VALUE;  
   
    ioctl(console,KDSKBENT,&KEYMAP);  
   
  }  

   
  STATE为状态键组合  
   
  /usr/include/linux/keyboard.h中  

   
  #define KG_SHIFT        0  
   
  #define KG_CTRL         2  
   
  #define KG_ALT          3  
   
  #define KG_ALTGR        1  
   
  #define KG_SHIFTL       4  
   
  #define KG_SHIFTR       5  
   
  #define KG_CTRLL        6  
   
  #define KG_CTRLR        7  
   
  #define KG_CAPSSHIFT    8  

   
  使用方式如:  
   
  #define KST_CTRL        (1

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/7893/showart_161205.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP