我正在非常努力地寻找uinput的文档,但我发现的唯一东西是linux/uinput.h。我还在网上找到了一些教程,但根本没有文档!
例如,我想知道UI_SET_MSCBIT做了什么,但是我找不到任何关于它的东西。
人们如何知道如何使用uinput?
发布于 2016-09-04 00:34:47
好吧,要对这些微妙的事情做些调查。从drivers/input/misc/uinput.c和include/uapi/linux/uinput.h文件中可以看到UI_SET_*定义的位数,如下所示:
MSCRELLED等。
在内核源程序目录中运行next命令:
$ git grep --all-match -e 'MSC' -e 'REL' -e 'LED' -- Documentation/*或者使用常规grep,如果内核没有.git目录:
$ grep -rl MSC Documentation/* | xargs grep -l REL | xargs grep -l LED您将得到以下文件:文档/输入/事件-代码.,您可以从该文件中看到:
EV_MSC:用于描述不适合其他类型的杂项输入数据。EV_MSC事件用于不属于其他类别的输入和输出事件。 一些EV_MSC代码具有特殊的含义:
MSC_TIMESTAMP:用于报告上次重置后的微秒数。应该将此事件编码为uint32值,该值允许在没有特殊后果的情况下进行包装。假设两个连续事件之间的时间差在合理的时间尺度(小时)上是可靠的。可能会发生重置为零的情况,在这种情况下,上次事件发生后的时间是未知的。如果设备不提供此信息,则驱动程序不得将其提供给用户空间。恐怕这是你能为UI_SET_MSCBIT找到的最好的了。
https://stackoverflow.com/questions/39311803
复制相似问题