input_host_callbacks 结构参考

input_host_callbacks 结构参考

#include < input.h >

数据字段

input_device_identifier_t *(* create_device_identifier )( input_host_t *host, const char *name, int32_t product_id, int32_t vendor_id, input_bus_t bus, const char *unique_id)
input_device_definition_t *(* create_device_definition )( input_host_t *host)
input_report_definition_t *(* create_input_report_definition )( input_host_t *host)
input_report_definition_t *(* create_output_report_definition )( input_host_t *host)
空白(* 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 *host, input_report_definition_t *report, 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 min, int32_t max, 浮点分辨率)
空白(* input_report_definition_declare_usages_bool )( input_host_t *host, input_report_definition_t *report, input_collection_id_t id, input_usage_t *usage, size_t usage_count)
input_device_handle_t *(* register_device )( input_host_t *host, input_device_identifier_t *id, input_device_definition_t *d)
空白(* unregister_device )( input_host_t *host, input_device_handle_t *handle)
input_report_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)
空白(* report_event )( input_host_t *host, input_device_handle_t *d, input_report_t *report)
input_property_map_t *(* input_get_device_property_map )( input_host_t *host, input_device_identifier_t *id)
input_property_t *(* input_get_device_property )( input_host_t *host, input_property_map_t *map, const char *key)
常量字符 *(* input_get_property_key )( input_host_t *host, input_property_t *property)
常量字符 *(* input_get_property_value )( input_host_t *host, input_property_t *property)
空白(* input_free_device_property )( input_host_t *host, input_property_t *property)
空白(* input_free_device_property_map )( input_host_t *host, input_property_map_t *map)

详细说明

文件input.h409行的定义。

现场文件

input_device_definition_t *(* create_device_definition)( input_host_t *host)

分配将描述设备输入能力的设备定义。设备定义可用于注册任意数量的设备。

在文件input.h的第424行定义。

input_device_identifier_t *(* create_device_identifier)( input_host_t *host, const char *name, int32_t product_id, int32_t vendor_id, input_bus_t bus, const char *unique_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.h的第432行定义。

无效(* free_report_definition)( input_host_t *主机, input_report_definition_t *report_def)

释放报表定义。

在文件input.h的第437行定义。

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

分配一个包含给定报告所描述的所有状态的报告。

在文件input.h的第488行定义。

无效(* input_device_definition_add_report)( input_host_t *主机, input_device_definition_t *d, input_report_definition_t *r)

将报告附加到给定的输入设备。

文件input.h442行的定义。

无效(* input_free_device_property)( input_host_t *主机, input_property_t *property)

释放 input_property_t*。

在文件input.h的第535行定义。

无效(* input_free_device_property_map)( input_host_t *主机, input_property_map_t *map)

释放 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.h517行的定义。

input_property_map_t *(* input_get_device_property_map)( input_host_t *host, input_device_identifier_t *id)

检索设备的属性集。返回的 input_property_map_t* 可用于通过 input_get_device_property 回调查询特定属性。

文件input.h509行的定义。

const char*(* input_get_property_key)( input_host_t *host, input_property_t *property)

获取输入属性的键。如果属性为 NULL,则返回 NULL。返回的 const char* 归 input_property_t 所有。

在文件input.h的第524行定义。

const char*(* input_get_property_value)( input_host_t *host, input_property_t *property)

获取输入属性的值。如果属性为 NULL,则返回 NULL。返回的 const char* 归 input_property_t 所有。

文件input.h530行的定义。

void(* input_report_definition_add_collection)( input_host_t *host, input_report_definition_t *report, input_collection_id_t id, int32_t arity)

添加具有给定数量和 ID 的集合。集合描述了一组逻辑分组的属性,例如单指触摸的 X 和 Y 坐标或键盘上的一组键。 arity 声明该集合的重复实例数量将出现在它附加到的任何报告中。 ID 描述了集合所代表的分组类型。例如,一个能够同时报告最多 2 个手指的触摸屏可能有一个集合,其中包含 X 和 Y 坐标、数量为 2、ID 为 INPUT_COLLECTION_USAGE_TOUCHSCREEN。对于给定的报告,任何给定的 ID 只能出现一次。

文件input.h455行的定义。

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 min, int32_t max, 浮点分辨率)

用给定的属性声明一个 int 用法。报告和集合定义了声明使用的位置。

文件input.h462行的定义。

void(* input_report_definition_declare_usages_bool)( input_host_t *host, input_report_definition_t *report, input_collection_id_t id, input_usage_t *usage, size_t usage_count)

使用给定的属性声明一组布尔用法。报告和集合定义了声明使用的位置。

文件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.h499行的定义。

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.h493行的定义。

注册给定的输入设备定义。这会通知主机输入设备已连接,并提供其所有功能的描述。

文件input.h479行的定义。

无效(* report_event)( input_host_t *host, input_device_handle_t *d, input_report_t *report)

在文件input.h的第502行定义。

void(* unregister_device)( input_host_t *host, input_device_handle_t *handle)

取消注册给定的设备

文件input.h483行的定义。


此结构的文档是从以下文件生成的: