2401_83237561 2024-07-12 15:14 采纳率: 0%
浏览 145
已结题

杰里69芯片 关于HID 配置和实现功能的问题

Hi Rambo 有一个问题想请教一下 ,我现在用的是杰里的69芯片 希望实现HID 功能,发送键值,例如 单机 双击 三击,然后对应发送不同的键值, 同时我还挂载了ancs 苹果通知协议, 目前的情况是 我使用 HID的demo keyboard,但是IOS 和 安卓设备连接后,不能够识别到是 按键指针类设备, 请问这个要怎么处理可以实现?

  • 写回答

30条回答 默认 最新

  • 专家-赤兔[在线] 优质创作者: 编程框架技术领域 2024-07-12 15:14
    关注
    获得0.30元问题酬金

    引自免费微信小程序:皆我百晓生

    首先,你需要确保你的杰里69芯片已经正确安装并配置好。这可能涉及到与硬件相关的设置,例如电源管理、驱动程序等。

    对于安卓设备来说,你需要确保设备支持HID(Human Interface Device)输入输出接口。这通常意味着Android系统应该允许在特定的应用程序之间共享输入/输出设备。此外,你应该检查安卓设备上的USB调试模式是否打开,因为某些应用程序可能需要通过USB进行编程。

    对于iOS设备,你需要确保应用能够在开发者选项中启用HID输入。具体步骤可能会有所不同,但通常涉及访问设置菜单中的“辅助功能”或“控制中心”,在那里找到“通用”标签页,并启用“显示触摸输入”。

    一旦这些基础设置都已准备就绪,你可以尝试编写一个简单的C++程序来读取HID设备的按键状态。这是一个基本的例子:

    #include <hidapi/hidapi.h>
    
    int main()
    {
        hid_device *dev;
        hid_device_info *info;
    
        hid_init();
    
        // 查找HID设备
        if (hid_find_devices(&info, NULL) != HIDE_OK)
            return -1;
    
        for (int i = 0; info[i].path != NULL; ++i) {
            dev = hid_open(info[i].path);
            if (!dev) continue;
    
            hid_report report;
            while (hid_read(dev, &report, sizeof(report)) == sizeof(report))
                printf("Report: %d\n", report.type);
    
            hid_close(dev);
        }
    
        hid_exit();
        return 0;
    }
    

    这段代码只是一个起点,你需要根据实际的硬件配置和需求对其进行修改。例如,你需要添加代码来处理单击、双击和三击的逻辑,以及如何将这些逻辑映射到具体的按键上。

    如果你有更具体的需求,比如如何处理多个按键或者如何从按键事件转换为UI交互,那么你可能需要提供更多的信息。

    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 7月20日
  • 创建了问题 7月12日