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)
 
void(*  free_report_definition )( input_host_t *host, input_report_definition_t *report_def)
 
void(*  input_device_definition_add_report )( input_host_t *host, input_device_definition_t *d, input_report_definition_t *r)
 
void(*  input_report_definition_add_collection )( input_host_t *host, input_report_definition_t *report, input_collection_id_t id, int32_t arity)
 
void(*  input_report_definition_declare_usage_int )( input_host_t *host, input_report_definition_t *report, input_collection_id_t id, input_usage_t usage, int32_t min, int32_t max, float resolution)
 
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_device_handle_t *(*  register_device )( input_host_t *host, input_device_identifier_t *id, input_device_definition_t *d)
 
void(*  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)
 
void(*  input_report_set_usage_int )( input_host_t *host, input_report_t *r, input_collection_id_t id, input_usage_t usage, int32_t value, int32_t arity_index)
 
void(*  input_report_set_usage_bool )( input_host_t *host, input_report_t *r, input_collection_id_t id, input_usage_t usage, bool value, int32_t arity_index)
 
void(*  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)
 
const char *(*  input_get_property_key )( input_host_t *host, input_property_t *property)
 
const char *(*  input_get_property_value )( input_host_t *host, input_property_t *property)
 
void(*  input_free_device_property )( input_host_t *host, input_property_t *property)
 
void(*  input_free_device_property_map )( input_host_t *host, input_property_map_t *map)
 

详细说明

定义位于文件 input.h 409 行。

字段文档

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.h 416 行

input_report_definition_t *(* create_input_report_definition)( input_host_t *host)

分配输入报告(HAL 将使用该报告告知主机传入的输入事件)或输出报告(主机将使用该报告告知 HAL 所需的状态更改,例如设置 LED)。

定义位于文件 input.h 431 行。

input_report_definition_t *(* create_output_report_definition)( input_host_t *host)

定义位于文件 input.h 432 行。

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

释放报告定义。

定义位于文件 input.h 437 行。

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

定义位于文件 input.h 488 行。

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

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

定义位于文件 input.h 442 行

void(* input_free_device_property)( input_host_t *host, input_property_t *property)

释放 input_property_t*。

定义位于文件 input.h 535 行。

void(* input_free_device_property_map)( input_host_t *host, input_property_map_t *map)

释放 input_property_map_t*。

定义位于文件 input.h 540 行。

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

使用给定键检索设备的属性。如果键不存在,则返回 NULL;如果键存在,则返回一个 input_property_t*,必须使用 input_free_device_property() 释放该值。在释放相应的 input_property_map_t 后使用 input_property_t 的行为未定义。

定义位于文件 input.h 517 行。

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.h 509 行。

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.h 530 行。

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

添加具有指定 arity 和 ID 的集合。集合用于描述一组逻辑分组的属性,例如单指触摸的 X 坐标和 Y 坐标,或键盘上的一组按键。arity 用于声明此集合在其所附加的任何报告中将显示的重复实例数量。该 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 usage, int32_t min, int32_t max, float resolution)

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

定义位于文件 input.h 462 行。

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.h 470 行。

void(* input_report_set_usage_bool)( input_host_t *host, input_report_t *r, input_collection_id_t id, input_usage_t usage, bool value, 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 usage, int32_t value, 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 *host, input_device_handle_t *handle)

取消注册指定设备

定义位于文件 input.h 483 行。


此结构体的文档是根据以下文件生成的:
  • hardware/libhardware/include/hardware/ input.h