1

我正在对 android 内核中的输入设备驱动程序进行一些编辑。

此设备启用了有限范围的 keybits 和 evbits。我要做的是创建一个与任何物理设备无关的新 /dev/input 事件节点,启用更多的 keybits 和 evbits,以便我可以将真实的输入信号从物理驱动程序发送到用户空间,在用户空间我监听它们,当收到它们时,我可以将输入事件注入“虚拟”驱动程序并写入其事件节点。

linux/android 内核是否提供这样的选项?我应该走哪条路?有没有其他选择?

作为第二种选择,我可以在同一个驱动程序中创建两个输入节点并将 input_reports 仅发送到“物理”节点吗?

4

2 回答 2

1

我看到两种选择:

  1. 创建虚拟输入设备 - 您可以编写自己的驱动程序或使用uinput

  2. 绕过低级输入子系统并在 Android 框架级别注入关键事件

于 2013-05-21T20:22:01.320 回答
0

linux有一个名为uinput的内置虚拟键盘鼠标驱动程序,如果你的android设备有/dev/uinput,这意味着你可以和/dev/uinput对话来模拟鼠标和键盘 https://www.kernel.org/doc/html /v4.12/input/uinput.html

于 2021-05-29T08:42:32.923 回答