input_host_callbacks 結構參考

input_host_callbacks 結構參考

#include < input.h >

資料欄位

輸入裝置識別碼_t *(* create_device_identifier )( input_host_t *主機, const char *名稱, int32_t 產品_id, int32_t 供應商_id, input_bus_t匯流排, const char *unique_id)
輸入設備定義_t *(*建立_裝置_定義)( input_host_t *主機)
輸入報告定義_t *(* create_input_report_definition )( input_host_t *host)
輸入報告定義_t *(*建立_輸出_報告_定義)( input_host_t *主機)
空白(* free_report_definition )( input_host_t *host, input_report_definition_t *report_def)
空白(* input_device_definition_add_report )( input_host_t *host, input_device_definition_t *d, input_report_definition_t *r)
空白(* input_report_definition_add_collection )( input_host_t *主機, input_report_definition_t *報告, input_collection_id_t id, int32_t arity)
空白(* input_report_definition_declare_usage_int )( input_host_t *host, input_report_definition_t *report, input_collection_id_t id, input_usage_t用法, int32_t 最小值, int32_t 最大值, 浮點解析度)
空白(* input_report_definition_declare_usages_bool )( input_host_t *主機, input_report_definition_t *報告, input_collection_id_t id, input_usage_t *使用情況, size_t 使用計數)
輸入裝置句柄_t *(*暫存器裝置)( input_host_t *host, input_device_identifier_t *id, input_device_definition_t *d)
空白(*取消註冊裝置)( input_host_t *主機, input_device_handle_t *句柄)
輸入報告_t *(* input_allocate_report )( input_host_t *host, input_report_definition_t *r)
空白(* input_report_set_usage_int )( input_host_t *host, input_report_t *r, input_collection_id_t id, input_usage_t用法, int32_t 值, int32_t arity_index)
空白(* input_report_set_usage_bool )( input_host_t *host, input_report_t *r, input_collection_id_t id, input_usage_t用法, bool 值, int32_t arity_index)
空白(*報告事件)( input_host_t *主機, input_device_handle_t *d, input_report_t *報告)
輸入屬性映射_t *(* input_get_device_property_map )( input_host_t *主機, input_device_identifier_t *id)
輸入屬性_t *(* input_get_device_property )( input_host_t *host, input_property_map_t *map, const char *key)
常量字元 *(* input_get_property_key )( input_host_t *主機, input_property_t *屬性)
常量字元 *(* input_get_property_value )( input_host_t *主機, input_property_t *屬性)
空白(* input_free_device_property )( input_host_t *主機, input_property_t *屬性)
空白(* input_free_device_property_map )( input_host_t *主機, input_property_map_t *地圖)

詳細說明

定義在檔案input.h的第409行。

現場文檔

input_device_definition_t *(* create_device_definition)( input_host_t *host)

分配設備定義,該定義將描述設備的輸入功能。設備定義可用於註冊所需數量的設備。

文件input.h424行的定義。

input_device_identifier_t *(* create_device_identifier)( input_host_t *主機、const char *名稱、int32_t 產品_id、int32_t 供應商_id、 input_bus_t匯流排、const char *唯一_id)

建立具有給定屬性的裝置識別碼。唯一 ID 應該是精確標識給定硬體的字串。例如,透過藍牙連接的輸入裝置可以使用其 MAC 位址作為其唯一 ID。

文件input.h416行的定義。

input_report_definition_t *(* create_input_report_definition)( input_host_t *host)

指派一個輸入報告(HAL 將使用該報告告知主機傳入的輸入事件)或輸出報告(主機將使用該報告告知 HAL 所需的狀態變更(例如設定 LED))。

文件input.h431行的定義。

input_report_definition_t *(* create_output_report_definition)( input_host_t *host)

文件input.h432行的定義。

void(* free_report_definition)( input_host_t *host, input_report_definition_t *report_def)

釋放報告定義。

文件input.h437行的定義。

input_report_t *(* input_allocate_report)( input_host_t *host, input_report_definition_t *r)

分配一個包含給定報告所描述的所有狀態的報告。

文件input.h488行的定義。

void(* input_device_definition_add_report)( input_host_t *host, input_device_definition_t *d, input_report_definition_t *r)

將報告附加到給定的輸入設備。

文件input.h442行的定義。

void(* input_free_device_property)( input_host_t *主機, input_property_t *屬性)

釋放 input_property_t*。

定義位於檔案input.h的第535行。

void(* input_free_device_property_map)( input_host_t *主機, input_property_map_t *地圖)

釋放 input_property_map_t*。

文件input.h540行的定義。

input_property_t *(* input_get_device_property)( input_host_t *host, input_property_map_t *map, const char *key)

使用給定密鑰檢索設備的屬性。如果鍵不存在,則傳回 NULL,或必須使用input_free_device_property()釋放 input_property_t* 。在釋放對應的 input_property_map_t 後使用 input_property_t 是未定義的。

定義在檔案input.h的第517行。

input_property_map_t *(* input_get_device_property_map)( input_host_t *主機, input_device_identifier_t *id)

檢索設備的屬性集。傳回的 input_property_map_t* 可用來透過 input_get_device_property 回呼查詢特定屬性。

定義在檔案input.h的第509行。

const char*(* input_get_property_key)( input_host_t *主機, input_property_t *屬性)

取得輸入屬性的鍵。如果屬性為 NULL,則傳回 NULL。傳回的 const char* 歸 input_property_t 所有。

文件input.h524行的定義。

const char*(* input_get_property_value)( input_host_t *主機, input_property_t *屬性)

取得輸入屬性的值。如果屬性為 NULL,則傳回 NULL。傳回的 const char* 歸 input_property_t 所有。

文件input.h530行的定義。

void(* input_report_definition_add_collection)( input_host_t *主機, input_report_definition_t *報告, input_collection_id_t id, int32_t arity)

新增具有給定數量和 ID 的集合。集合描述一組邏輯分組的屬性,例如單一手指觸摸的 X 和 Y 座標或鍵盤上的一組按鍵。數量聲明該集合的重複實例將出現在其附加的任何報告中。 ID 描述了集合所表示的分組類型。例如,能夠同時報告最多 2 個手指的觸控螢幕可能具有 X 和 Y 座標、數量為 2 且 ID 為 INPUT_COLLECTION_USAGE_TOUCHSCREEN 的集合。對於給定的報告,任何給定的 ID 只能出現一次。

定義在檔案input.h的第455行。

void(* input_report_definition_declare_usage_int)( input_host_t *host, input_report_definition_t *report, input_collection_id_t id, input_usage_t用法, int32_t 最小值, int32_t 最大值, 浮點分辨率)

聲明具有給定屬性的 int 用法。報告和集合定義了聲明使用的位置。

文件input.h462行的定義。

void(* input_report_definition_declare_usages_bool)( input_host_t *主機, input_report_definition_t *報告, input_collection_id_t id, input_usage_t *使用情況, size_t 使用計數)

聲明一組具有給定屬性的布林用法。報表和集合定義了聲明用途的位置。

文件input.h470行的定義。

void(* input_report_set_usage_bool)( input_host_t *host, input_report_t *r, input_collection_id_t id, input_usage_t用法, bool 值, int32_t arity_index)

將布林使用值新增至報表。

定義位於檔案input.h的第499行。

void(* input_report_set_usage_int)( input_host_t *host, input_report_t *r, input_collection_id_t id, input_usage_t用法, int32_t 值, int32_t arity_index)

將 int 使用值加入報告中。

定義位於檔案input.h的第493行。

註冊給定的輸入設備定義。這會通知主機輸入裝置已連接並給出其所有功能的描述。

定義位於檔案input.h的第479行。

void(* report_event)( input_host_t *host, input_device_handle_t *d, input_report_t *report)

定義在檔案input.h的第502行。

void(* unregister_device)( input_host_t *主機, input_device_handle_t *句柄)

取消註冊給定設備

文件input.h483行的定義。


該結構的文檔是從以下文件產生的:
  • 硬體/libhardware/include/hardware/input.h