如何在C程序中临时禁用键盘。我已经想到的是禁用键盘的IRQ行(IRQ 2)。我搜索了它,发现了
disable_irq()功能,但是不起作用。这是代码:

#include<stdio.h>
#include<irq.h>
#include<unistd.h>

void main()
    {

         printf("trying to disable the keyboard via IRQ.....");
         sleep(2);
         disable_irq(2);
         printf("IRQ line has been disabled");
         sleep(10);
         printf("Enabling IRQ.....");

     }


当我运行它时,我得到这个错误:

irq.c:2:16: fatal error: irq.h: No such file or directory
compilation terminated.


您能帮我解决这个问题,还是建议其他方法来做同样的事情?

最佳答案

不,您不能从用户空间禁用键盘。我认为您没有理由必须这么做。如果希望您的应用程序获得所有按键,请尝试仅使用全屏窗口。

如果您试图防止内核发生紧急键击,那么我永远不会安装您的应用程序。键盘是内核与用户之间进行通信的基本方法。内核使用它来获取指令,获取紧急恢复命令,并告诉您它正处于紧急状态(闪烁的大写锁定灯)。

即使可以,也永远不要禁用键盘。

关于c - 从用户级别禁用键盘设备,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13970760/

10-11 18:58