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