LinuxSir.cn,穿越时空的Linuxsir!

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

请教怎样给键盘增加键的功能

[复制链接]
发表于 2003-11-26 17:09:29 | 显示全部楼层 |阅读模式
我的键盘比标准键盘多因特网,电子邮件,音量控制(增加,减少,静音)6个键
但无linux下驱动程序,想自己编
请教一下:
1。怎样找到多出的这6个健的对应掩码,即scancode
2。怎样将键值与因特网等功能对应
我已经看过精华区内有关键盘的文章了
谢谢
有相关资料的请多多指点
也可发到我邮箱
shield@tju.edu.cn

多谢多谢!

编辑者: shield (11/25/03 15:21)

自己看了一天
明白了
showkey 可以得到 scancode并且发现多出来的几个键都是以0xe0打头的,但是在e0_keys数组中对应为0,所以在后面的spec_fn_table中对应的函数为do _null
原码中的注释说不能手动改动e0_keys,可以通过ioctl改,但怎么改没说,还说会导致xwindow程序失常


欧不知怎么办了,

再就是偶想到如果把这个改成对应的编码以后,能够按照类似ctrl+z这种特殊符合处理,调以相应的程序
具体的资料找不来了

不知道哪位大虾能帮助一下

:)

偶这个赶得比较急,偶准备以之作为一个面试资本,5天以内弄不出来就没戏了
多谢谢

或者提供一下类似的参考代码



编辑者: shield (11/25/03 19:28)





qlang
(stranger)
11/26/03 16:23
  Re: 请教怎样给键盘增加键的功能 [re: shield] 回复  




这位兄弟说的键盘驱动...
我看了你说的,感觉你没有把键盘的工作原理搞清楚...

首先,你要做几个"电子邮件,音量控制(增加,减少,静音)6个键
",其实你要你的键盘实现这几个健的控制什么....关键不在键盘驱动程序,是你的应用程序怎么处理
从键盘捕获的消息!!
你想怎么定一还不是看你自己高兴?当然最好不要重复被占用的..




--------------------
希望大家多批评指点,指点。。。

文章选项:           



shield
(stranger)
11/26/03 17:07
  Re: 请教怎样给键盘增加键的功能 [re: qlang] 编辑  回复  




谢谢您的指导
不过我按照linux内核源代码情景分析这本书来看
关键在整个键盘中断处理过程中,这几个键所产生的scancode被忽略掉,根本就不会产生的目标码字符由put_queue放入前台键盘的接收队列。
应用程序都看不见,怎么从应用程序处理。

要不就是我理解错了,不是在完成“产生的目标码字符由put_queue放入前台键盘的接收队列“之后才
有应用程序处理

请多多指点



文章选项:
发表于 2003-11-27 06:59:25 | 显示全部楼层
到现在我连power off sleep wake up
这3个键的功能都不知道该如何实现
应用程序控制键盘的说法是对的,所以你的音量键之类的东东目前见到的linux下的应用程序都没有这种功能.
这也是为什么软猫是那么的软
发表于 2003-11-27 07:00:09 | 显示全部楼层
到现在我连power off sleep wake up
这3个键的功能都不知道该如何实现
应用程序控制键盘的说法是对的,所以你的音量键之类的东东目前见到的linux下的应用程序都没有这种功能.
这也是为什么软猫是那么的软.
我记得我的键盘以前叫windows 98键盘,
 楼主| 发表于 2003-11-27 11:41:23 | 显示全部楼层
我看了一下代码,我能想出来最简单的就是,
因为handle_scancode符号是对外开放的
所以在这个地方把它截获,修改一下
针对特殊的scancode进行特殊的处理
是不是可以绕过那些复杂东东
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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