免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4032 | 回复: 7

怎么编程实现"禁止键盘输入" [复制链接]

论坛徽章:
0
发表于 2005-11-05 21:06 |显示全部楼层
我的程序在与用户的交互过程中,有时需要将键盘锁定,不让用户输入,待处理完毕后再解锁 各位有什么好办法吗?

我查到资料,可以用asm/irq.h中的disable_irq(2)和enable_irq(2)来关闭和打开键盘中断,但我在makefile中不知link什么lib.

还有一种办法是象DOS程序一样 outp(0x21,2)或outp(0x21,0) 在linux下应该用outb之类的函数,具体不知怎么使用.

论坛徽章:
0
发表于 2005-11-06 16:11 |显示全部楼层
高手都在休假吗?

论坛徽章:
0
发表于 2005-11-07 21:49 |显示全部楼层
我通过其它方法搞定了
在禁止键盘使用时,清空键盘缓冲区,也就是将所有的键都读出来不用废除掉

论坛徽章:
0
发表于 2005-11-08 11:53 |显示全部楼层

可以更详细些吗?

可以把你的详细步骤贴出来吗?谢谢。

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
发表于 2005-11-09 13:56 |显示全部楼层
在命令行下可以这样:


  1. kill -STOP ttyX #将控制台STOP
  2. ... #要执行的任务放在后台处理
  3. kill -CONT ttyX #恢复控制台
复制代码

论坛徽章:
0
发表于 2008-01-30 09:54 |显示全部楼层
用了烈火兄的方法后,即使后面再kill -CONT,但终端似乎不再接受键盘输入了,请问该如何解决?

论坛徽章:
0
发表于 2008-01-30 12:13 |显示全部楼层

你先在程序里面写好啊,让它自动执行...........

论坛徽章:
0
发表于 2008-02-11 15:59 |显示全部楼层
有连个键盘键用来控制输入和输入的,他们分别是ctrl + q && ctrl + s,你可以在程序刚刚启动的时候就让进程给自己发送一个停止获取数据的信号,这样键盘的数据根本都不会到达到内核中去了,具体的实现,请查看linux串口编程
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP