evdev
是 Linux 输入子系统的一部分,用于处理来自各种输入设备(如键盘、鼠标、触摸屏等)的事件
name
:设备的名称,通常由设备制造商和型号组成。phys
:设备的物理位置,表示设备在系统中的连接方式。例如,对于 USB 设备,这可能是 “usb-0000:00:14.0-1/input0”。uniq
:设备的唯一标识符,用于区分具有相同名称和物理位置的多个设备。id
:设备的标识信息,包括供应商 ID、产品 ID、版本号以及设备的 Bus ID。evbit
:表示设备支持的事件类型的位掩码。例如,如果设备支持按键事件,那么 evbit[EV_KEY / 8]
的第 EV_KEY % 8
位将被设置为 1。keybit
:表示设备支持的按键事件的位掩码。例如,如果设备支持 “A” 键,那么 keybit[KEY_A / 8]
的第 KEY_A % 8
位将被设置为 1。relbit
:表示设备支持的相对轴事件的位掩码。例如,如果设备支持鼠标移动事件,那么 relbit[REL_X / 8]
和 relbit[REL_Y / 8]
的第 REL_X % 8
和 REL_Y % 8
位将被设置为 1。absbit
:表示设备支持的绝对轴事件的位掩码。例如,如果设备支持触摸屏事件,那么 absbit[ABS_X / 8]
和 absbit[ABS_Y / 8]
的第 ABS_X % 8
和 ABS_Y % 8
位将被设置为 1。mscbit
:表示设备支持的其他事件的位掩码。例如,如果设备支持多触点事件,那么 mscbit[MSC_SCAN / 8]
的第 MSC_SCAN % 8
位将被设置为 1。ledbit
:表示设备支持的 LED 事件的位掩码。例如,如果设备支持键盘背光,那么 ledbit[LED_NUML / 8]
的第 LED_NUML % 8
位将被设置为 1。sndbit
:表示设备支持的声音事件的位掩码。例如,如果设备支持蜂鸣器,那么 sndbit[SND_BELL / 8]
的第 SND_BELL % 8
位将被设置为 1。ffbit
:表示设备支持的力反馈事件的位掩码。例如,如果设备支持振动反馈,那么 ffbit[FF_RUMBLE / 8]
的第 FF_RUMBLE % 8
位将被设置为 1。swbit
:表示设备支持的开关事件的位掩码。例如,如果设备支持盖子开关,那么 swbit[SW_LID / 8]
的第 SW_LID % 8
位将被设置为 1。propbit
:表示设备的属性的位掩码。例如,如果设备是一个指针设备(如鼠标),那么 propbit[INPUT_PROP_POINTER / 8]
的第 INPUT_PROP_POINTER % 8
位将被设置为 1。driver_version
:设备驱动程序的版本号。repeat_delay
:按键重复延迟(以毫秒为单位)。repeat_period
:按键重复周期(以毫秒为单位)。这些成员变量用于描述设备的功能和属性,以便应用程序和其他组件可以根据这些信息进行相应的操作。