我需要编写一个Linux内核模块,按下键盘上的某个键后更改屏幕上打印的字符(比如说当我按下“b”时,我想打印出“a”)。最好的实现方式是什么?我的想法是创建一个键盘模块。我做了一些研究,看到了一些键盘记录器(作为内核模块),但它们只能监听按下了哪个键,而无法更改扫描码(在键盘记录器中这是很明显的)。我阅读了《Linux设备驱动程序》第三章,并开始阅读第六章,但它们只讨论虚拟设备,而我想将我的模块与真实设备连接起来。我还看到了这篇文章https://dev59.com/SJHea4cB1Zd3GeqPnU-B,但它无法实现。我的老师说有比使用中断更容易的方法,但我不知道怎么做(无论是使用中断还是任何其他方式)。
我该怎么办?只需阅读LDD的下一章吗?还是其他书?或者只是躺下哭泣?
我该怎么办?只需阅读LDD的下一章吗?还是其他书?或者只是躺下哭泣?
xinput float
命令将其从桌面系统断开连接,然后编写一个程序来读取输入并将其转换为另一个事件,最后通过uinput
将其注入回系统中。你可以使用uinput
创建虚拟输入设备来注入已转换的输入事件。参考链接:http://thiemonge.org/getting-started-with-uinput - user3528438