设为首页 友情链接
在线留言 发表文章
加入收藏 广告联系

刺猬首页

| 专案技术 | 网络技术 | 图形图象 | 网络编程 | 网页设计 | 操作系统 | 服务器 | 技术白皮书 | 在线实验室 | 刺猬论坛 |
小说专版  | 数据库 | 设计赏析 | 存储频道 | 网络安全 | 私服架设 |  Solaris | 网站评估 | PC维护技巧 | 下载中心 | 博 客 |
专   题: | Linux | java | cisco | 防病毒 | 刀片 | SOA | iscsi | ASP.NET | SQL | Oracle |
您现在的位置: IT公社 IT community >> Linux专题 >> Linux 软件开发 >> 教程正文 用户登录 新用户注册
专 题 栏 目
最 新 热 门
最 新 推 荐
相 关 文 章
对 Linux 内核进行压力测…
给Linux内核补IPVS补丁
Linux I/O重定向的一些小…
升级Linux硬件驱动结构
Linux进程管理和文本编辑
探究X Window System运行…
linux-2.6内核升级文档
Linux内核结构详解
深刻理解Linux进程间通信
Xen:用于Linux™ 内…
  Linux程序设计入门 - termios/keymap/terminal programming         
Linux程序设计入门 - termios/keymap/terminal programming
 

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 <linux/kd.h>  
   
  #include <linux/keyboard.h>  
 
   
  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<<KG_CTRL)  
   
  #define KST_ALT         (1<<KG_ALT)  
   
  #define KST_SHIFT       (1<<KG_SHIFT)  
   
  #define KST_CTRL_ALT    (KST_CTRL|KST_ALT)  
   
  #define KST_ALT_SHIFT   (KST_ALT|KST_SHIFT)  
 
   
  SCANCODE为键盘扫描码  
 
   
  #define SCAN_ESC      0x01  
   
  #define SCAN_1        0x02  
   
  #define SCAN_2        0x03  
   
  #define SCAN_3        0x04  
   
  #define SCAN_4        0x05  
   
  #define SCAN_5        0x06  
   
  #define SCAN_6        0x07  
   
  #define SCAN_7        0x08  
   
  #define SCAN_8        0x09  
   
  #define SCAN_9        0x0A  
   
  #define SCAN_0        0x0B  
   
  #define SCAN_MINUS    0x0C  
   
  #define SCAN_PLUS     0x0D  
   
  #define SCAN_BACK     0x0E  
   
  #define SCAN_TAB      0x0F  
   
  #define SCAN_Q        0x10  
   
  #define SCAN_W        0x11  
   
  #define SCAN_E        0x12  
   
  #define SCAN_R        0x13  
   
  #define SCAN_T        0x14  
   
  #define SCAN_Y        0x15  
   
  #define SCAN_U        0x16  
   
  #define SCAN_I        0x17  
   
  #define SCAN_O        0x18  
   
  #define SCAN_P        0x19  
   
  #define SCAN_LTQUOTE  0x1A  
   
  #define SCAN_RTQUOTE  0x1B  
   
  #define SCAN_ENTER    0x1C  
   
  #define SCAN_CTRL     0x1D  
   
  #define SCAN_A        0x1E  
   
  #define SCAN_S        0x1F  
   
  #define SCAN_D        0x20  
   
  #define SCAN_F        0x21  
   
  #define SCAN_G        0x22  
   
  #define SCAN_H        0x23  
   
  #define SCAN_J        0x24  
   
  #define SCAN_K        0x25  
   
  #define SCAN_L        0x26  
   
  #define SCAN_SPLIT    0x27  
   
  #define SCAN_QUOTE    0x28  
   
  #define SCAN_MARK     0x29  
   
  #define SCAN_LSHIFT   0x2A  
   
  #define SCAN_STAND    0x2B  
   
  #define SCAN_Z        0x2C  
   
  #define SCAN_X        0x2D  
   
  #define SCAN_C        0x2E  
   
  #define SCAN_V        0x2F  
   
  #define SCAN_B        0x30  
   
  #define SCAN_N        0x31  
   
  #define SCAN_M        0x32  
   
  #define SCAN_LSQUOTE  0x33  
   
  #define SCAN_RSQUOTE  0x34  
   
  #define SCAN_QUESTION 0x35  
   
  #define SCAN_R

[1] [2] [3] 下一页

频道声明:本频道的文章除部分特别声明禁止转载的专稿外,可以自由转载.但请务必注明出出处和原始作者 文章版权归本频道与文章作者所有.对于被频道转载文章的个人和网站,我们表示深深的谢意。

原始作者:佚名 录入时间:2007-1-2 3:22:21
信息来源:不详 投稿信箱:itqoo@126.com
教程录入:itqoo    责任编辑:itqoo 
  • 上一个教程:

  • 下一个教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    - 关于我们 - 合作伙伴 - 友情链接 - 广告刊登 - 投稿热线 - 在线留言版权声明联系方式 -
    IT公社版权所有 粤ICP备05127012号
    Copyrigh@2005-2006 itqoo.com.Inc All Rights Reserved  推荐分辨率 1024*768
    联系站长:E-Mail:itqoo@126.com     MSN:urchincc@hotmail.com    QQ:点击这里给我发消息
    特别感谢:亿太网络提供空间支持