【发布时间】:2015-09-07 02:23:14
【问题描述】:
我有兴趣为 linux 编写一个程序,该程序将读取所有击键,处理它,然后输出到其余正在运行的进程。本质上,所有的键盘输入都必须进入这个程序并且这个程序单独......然后程序将充当计算机其余部分的键盘。我基本上想在 android 设备上做一些类似预测文本的事情,所以我的程序将充当过滤器。
我要问的基本上是如何将所有键盘事件定向到我的程序。虽然我不是在寻找代码,但我想知道我必须学习 linux 编程/linux 系统的哪个部分才能完成这项任务?这是因为我这样做是为了更好地学习 linux。
【问题讨论】:
-
1.获取 Linux 内核源代码。 2.修改键盘驱动做你想做的。
-
那是否意味着我要修改linux内核,然后重新安装?好的,没问题...但是有什么办法可以在用户空间中做到这一点,这样程序就可以与用户共享并轻松安装?
-
Lowest level!=userspace。 ...打包的内核并不难安装。 -
您可以查看已经在某种程度上执行此操作的软件,例如:en.wikipedia.org/wiki/Smart_Common_Input_Method - 当 SCIM 启用时,所有键盘输入都会被它截获,以在西方布局键盘上提供中文字符输入等内容.我认为它使用 iBus。
-
听起来你正在尝试制作一个透明的键盘记录器。老实说,内核模块是你最好的选择。但请注意,在最低级别,这些不是读取的 ASCII 码,它们是扫描码。