evdev
是 Linux 輸入子系統(tǒng)的一部分,用于處理來自各種輸入設(shè)備(如鍵盤、鼠標、觸摸屏等)的事件
name
:設(shè)備的名稱,通常由設(shè)備制造商和型號組成。phys
:設(shè)備的物理位置,表示設(shè)備在系統(tǒng)中的連接方式。例如,對于 USB 設(shè)備,這可能是 “usb-0000:00:14.0-1/input0”。uniq
:設(shè)備的唯一標識符,用于區(qū)分具有相同名稱和物理位置的多個設(shè)備。id
:設(shè)備的標識信息,包括供應(yīng)商 ID、產(chǎn)品 ID、版本號以及設(shè)備的 Bus ID。evbit
:表示設(shè)備支持的事件類型的位掩碼。例如,如果設(shè)備支持按鍵事件,那么 evbit[EV_KEY / 8]
的第 EV_KEY % 8
位將被設(shè)置為 1。keybit
:表示設(shè)備支持的按鍵事件的位掩碼。例如,如果設(shè)備支持 “A” 鍵,那么 keybit[KEY_A / 8]
的第 KEY_A % 8
位將被設(shè)置為 1。relbit
:表示設(shè)備支持的相對軸事件的位掩碼。例如,如果設(shè)備支持鼠標移動事件,那么 relbit[REL_X / 8]
和 relbit[REL_Y / 8]
的第 REL_X % 8
和 REL_Y % 8
位將被設(shè)置為 1。absbit
:表示設(shè)備支持的絕對軸事件的位掩碼。例如,如果設(shè)備支持觸摸屏事件,那么 absbit[ABS_X / 8]
和 absbit[ABS_Y / 8]
的第 ABS_X % 8
和 ABS_Y % 8
位將被設(shè)置為 1。mscbit
:表示設(shè)備支持的其他事件的位掩碼。例如,如果設(shè)備支持多觸點事件,那么 mscbit[MSC_SCAN / 8]
的第 MSC_SCAN % 8
位將被設(shè)置為 1。ledbit
:表示設(shè)備支持的 LED 事件的位掩碼。例如,如果設(shè)備支持鍵盤背光,那么 ledbit[LED_NUML / 8]
的第 LED_NUML % 8
位將被設(shè)置為 1。sndbit
:表示設(shè)備支持的聲音事件的位掩碼。例如,如果設(shè)備支持蜂鳴器,那么 sndbit[SND_BELL / 8]
的第 SND_BELL % 8
位將被設(shè)置為 1。ffbit
:表示設(shè)備支持的力反饋事件的位掩碼。例如,如果設(shè)備支持振動反饋,那么 ffbit[FF_RUMBLE / 8]
的第 FF_RUMBLE % 8
位將被設(shè)置為 1。swbit
:表示設(shè)備支持的開關(guān)事件的位掩碼。例如,如果設(shè)備支持蓋子開關(guān),那么 swbit[SW_LID / 8]
的第 SW_LID % 8
位將被設(shè)置為 1。propbit
:表示設(shè)備的屬性的位掩碼。例如,如果設(shè)備是一個指針設(shè)備(如鼠標),那么 propbit[INPUT_PROP_POINTER / 8]
的第 INPUT_PROP_POINTER % 8
位將被設(shè)置為 1。driver_version
:設(shè)備驅(qū)動程序的版本號。repeat_delay
:按鍵重復(fù)延遲(以毫秒為單位)。repeat_period
:按鍵重復(fù)周期(以毫秒為單位)。這些成員變量用于描述設(shè)備的功能和屬性,以便應(yīng)用程序和其他組件可以根據(jù)這些信息進行相應(yīng)的操作。