当前位置:  技术问答>linux和unix

请教达人:如何不改内核在linux的应用程序层实现键盘拦截功能。

    来源: 互联网  发布时间:2016-09-01

    本文导语:  现已有一个linux下的基于FB的图形程序(无源码),我的程序是配合这个程序工作的。 现需要拦截某个系统按键,以激活我的程序,操作完成后再把输入焦点还给原FB的图形程序。 我尝试把8259的IMR中键盘中断关掉,...

现已有一个linux下的基于FB的图形程序(无源码),我的程序是配合这个程序工作的。
现需要拦截某个系统按键,以激活我的程序,操作完成后再把输入焦点还给原FB的图形程序。

我尝试把8259的IMR中键盘中断关掉,然后用我的程序去轮询访问8042取按键再向linux模拟按键。但发现键盘中断怎么也关不掉。
但如果把IMR的第0位实时时钟关掉,系统会死,说明代码是起作用的。

google了一天,也没有一个好的方案。我对linux不熟,请各位老师不吝赐教,谢谢~~

|
这个应该是不需要修改内核的。
键盘驱动部分做好之后会有一个键盘的设备,
打开该设备即可获取键盘输入。

你是想在原有的应用程序之前拦截到键盘消息,但又不能让FB程序获取键盘事件。

我的想法是这样的,在你的程序里面用独占的方式打开键盘设备(这个我也不确定是否可以,是否需要驱动支持??),

系统起来之后你的程序便首先运行,独占键盘设备,等你的程序启动完之后,再释放键盘设备,

然后再去运行FB程序,以使FB程序能获取顺利打开键盘设备。


以上只是我的个人想法,不知道是否正确,欢迎指正。

|
虽然不懂看看这个
http://hi.baidu.com/%D7%D3%B7%E1/blog/item/d48574a82c0ee0b3ca130cdd.html

|

问题的关健是你的程序是守护进程。没占有终端的。所以无法使用采用改动tty的属性来获取按健。估计从用户层解决这个问题比较难了……………………

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 请教:如何安装新内核(rpm包)而不同原来得内核冲突?? 在线等待!!
  • 请教一个linux进程内核栈的问题
  • 【请教】怎么修改linux内核参数
  • 请教,linux内核协议栈中,从内核往驱动发送的报文(注意是下行,不是上行),如何从sk_buff判断是组播数据报文还是组播协议报文????
  • 万能的CSDN啊,100分请教高手一个编译内核传参的问题!
  • 请教风河 linux内核 如何配置使之支持xwindows?
  • 80分请教关于内核的module机制
  • 请教内核ppp代码的内容——在线等
  • 请教高手:如何学习内核编程?
  • c/c++开源软件 iis7站长之家
  • 请教Linux内核编译的问题
  • 初学Linux内核编译,几个问题请教一下
  • 请教:想学LINUX内核编程,请指点
  • 内核安装错误,请教!
  • 请教内核树的问题
  • 请教部分内核参数的意义
  • 100分请教高手一个Linux内核ARM汇编的问题
  • 请教linux的学习,怎么学? 内核开发找什么样的工作?
  • 内核相关项目请教
  • 请教2.6内核下如何进行文件的读写?
  • 请教,请教,这个问题是为什么????
  • 请教本地硬盘安装问题请教本地硬盘安装问题
  • ■请教■请教redhat最基本的问题!
  • 请教一个 shell 问题,我用下面这个 shell 语句总是失败,请教
  • 高分请教,各位大侠,请教一个问题,理论高手请进??谢谢
  • 请教Linux下pgadmin3-1.0.2的编译和安装!!高分请教!
  • 各位大虾,请教装了REDHAT9操作系统后,启动时无法引导到LINUX,请教该如何解决啊
  • 请教,请教,,,一定要看!!一定要看!!
  • 请教高手,小弟打印width=1500,height=600(A3纸)的Applet,在预览中是该区域是黑的,打印出来也是黑的,请教高手解决一下
  • :请教高手,小弟打印width=1500,height=600(A3纸)的Applet,在预览中是该区域是黑的,打印出来也是黑的,请教高手解决一下
  • 请教象我这样的硬盘应如何安装Linux,我昨天试装了,但有问题。(老问题了,也看了前面的帖子,但还是来请教,请多指教)


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3