# Game Controller Kit暂不支持动态查询手柄按键类型及震动等高级特性

## 问题现象

在HarmonyOS应用开发中，使用Game Controller Kit接入手柄设备时，当前API仅支持获取手柄基本信息和标准按键监听，无法动态查询以下高级特性：手柄支持的按键数量及按键类型（部分手柄的LT和RT键可能为按键类型或轴类型按键）、手柄是否支持震动/加速器/陀螺仪等特性、手柄电量及充电状态。开发者在实现串流类应用的手柄功能时，由于无法动态获取上述信息，只能将常见手柄信息固定在程序中，缺乏灵活性。

## 背景知识

Game Controller Kit是HarmonyOS提供的游戏手柄接入服务，支持应用获取手柄设备的基本信息和标准按键事件监听。当前阶段该Kit主要聚焦于手柄基础操控能力的稳定与完善，对于按键类型动态查询、震动能力检测、传感器特性查询、电量与充电状态获取等高级能力暂未提供对应API。更多参考请参见[Game Controller Kit](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/game-controller-introduction)。

## 问题定位

1. 开发者在使用Game Controller Kit时，需要动态查询接入手柄的按键数量、按键类型（区分按键类型与轴类型按键）、震动支持情况、加速器和陀螺仪特性、电量及充电状态等信息。
2. 查阅当前Game Controller Kit提供的API能力范围，发现仅包含手柄设备基本信息获取和标准按键事件监听，未提供按键类型动态查询、震动能力检测、传感器特性查询、电量与充电状态获取等接口。
3. 确认上述高级查询能力尚未纳入当前版本的API规划，属于长期规划范畴。

## 分析结论

当前实际适配手柄的厂商数量有限，高级查询能力的需求优先级相对较低，Game Controller Kit现阶段优先保障手柄基础操控能力的稳定与完善。按键类型动态查询、震动/加速器/陀螺仪特性检测、电量与充电状态获取等能力已记录并纳入长期规划，待条件成熟后适时推进。

## 修改建议

以当前Game Controller Kit提供的基础能力实现手柄操控功能：

1. 使用现有API获取手柄设备基本信息和标准按键事件监听，完成基础手柄操控逻辑。
2. 对于按键类型区分（如LT和RT键为按键类型或轴类型按键），在应用层根据常见手柄型号将按键类型映射固定在程序中，通过设备型号匹配判断按键类型。
3. 对于震动、加速器、陀螺仪、电量及充电状态等高级特性，暂不支持动态查询，可在应用层做兼容性降级处理，当检测到不支持时跳过相关功能逻辑。
4. 持续关注Game Controller Kit后续版本更新，待官方提供高级查询API后，替换应用层硬编码逻辑为动态查询实现。

