输入文档

时间:2016-09-03 22:17:08

标签: linux linux-kernel linux-device-driver

我正在努力寻找uinput的文档,但我发现的唯一内容是linux/uinput.h。我也在互联网上找到了一些教程,但根本没有文档!

例如,我想知道UI_SET_MSCBIT做了什么,但我找不到任何相关信息。

人们如何知道如何使用uinput

1 个答案:

答案 0 :(得分:3)

嗯,需要对这些微妙的事情进行一些调查。从 drivers/input/misc/uinput.cinclude/uapi/linux/uinput.h个文件可以看到UI_SET_*定义的位,如下所示:

  • MSC
  • REL
  • LED

在内核源目录中运行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

您将收到此文件:Documentation/input/event-codes.txt,您可以从中看到:

  

EV_MSC:用于描述不适合其他类型的杂项输入数据。

     

EV_MSC个事件用于不属于其他类别的输入和输出事件。

     

一些EV_MSC代码具有特殊含义:

     
      
  • MSC_TIMESTAMP:用于报告自上次重置以来的微秒数。此事件应编码为uint32值,允许环绕并且没有特殊后果。假设两个连续事件之间的时间差在合理的时间尺度(小时)内是可靠的。可以发生重置为零,在这种情况下,自上次事件以来的时间未知。如果设备未提供此信息,则驱动程序不得将其提供给用户空间。
  •   

我担心这是UI_SET_MSCBIT那里最好的。