我是内核开发的新手,所以为了提高我的技能,我想制作一个简单的内核模块,它设置设备/dev/hwrng 并生成一些带有光标位置的熵。
目前我已经找到了启动/dev/hwrng 的方法并且只生成零作为熵 => http://main.lv/writeup/kernel_dev_hwrng.md
为了获取光标位置,我知道不同的方法:
- 从库 X11/Xlib.h -> 我可以获得光标的绝对位置
- 来自
/dev/input/mice
和/dev/input/mouse0
-> 我可以获得相对位置 - 表格
/dev/input/event<X>
其中 X 是使用命令cat /proc/bus/input/devices
查找的数字
所以我知道如何在用户区获取光标位置,但我不知道如何从内核区获取它。我已经阅读了一些关于 IOCTL 的内容,但是仅仅为此在用户空间和内核空间之间建立联系似乎很奇怪。 谢谢你帮助我。
最佳答案
我建议先看这个:https://unix.stackexchange.com/questions/25601/how-do-mouse-events-work-in-linux 简短的版本是您可以从内核空间访问相同的设备文件。
关于c - 制作一个/dev/hwrng 内核模块,它使用光标位置来生成熵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45127248/