android - 内核开发新手 : "Virtual" input driver in kernel?

标签 android linux-kernel linux-device-driver android-keypad

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

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

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

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

最佳答案

我看到两种选择:

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

  2. 绕过低级输入子系统和 inject key events at the Android framework level

关于android - 内核开发新手 : "Virtual" input driver in kernel?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16420959/

相关文章:

android - 在同一测试中使用多个 TestRules

android - 支持播放速度更改的Android音频播放器库

用于 gps 模块的 Linux 设备驱动程序

linux - memory.oom_control 哪个版本是 Linux 内核的一部分?

android - Coverflow android 一次可显示 3 个 View

java - 从http get请求中读取非英文字符

linux - perf 工具能否提供在 VM 中调用的系统调用列表?

linux - linux中的insmod模块和rpm包有什么区别

linux - 从用户态写入 x86 MSR 寄存器

c - Linux 内核 write() 和 read() 函数