This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] LAUNCHXL-CC2650:HID 键盘 board_key.h 常量问题?

Guru**** 2562120 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/569187/launchxl-cc2650-hid-keyboard-board_key-h-constants-question

器件型号:LAUNCHXL-CC2650

您好!

  我已经测试了 hid_emu_kbd_cc2650em_app 示例程序。 这些开关使您可以在笔记本电脑 Windows 应用程序(如 Excel)中向左或向右移动。 我修改 了 hid_emu_kbd_cc2650em_app 以输出密钥 q、w、e、r、t。当我向左按时、字母"t"也会被打印出来。 我认为它与 board_key.h 上的常量声明有关

  正如您在下面看到的、KEY 左侧和 KEY 右侧都是最大的十六进制值0x8。 因此、我想这就是我按下左侧按钮时打印字母"t"的原因。 那么、为了避免冲突、正确的常量值是多少?

/*********
*包括
*

/
*外部变量
*/

/*********
*常量
*/
#define KEY_select 0x0001
#define KEY_UP 0x0002
#define KEY_DOWN 0x0004
#define KEY_LEFT 0x0008
#define KEY_RIGHT 0x0010

#define KEY_Q 0x0020
#define KEY_W 0x0022
#define KEY_E 0x0024
#define KEY_R 0x0026
#define KEY_T 0x0028 

-克尔

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    它应该是位标志、因此应该如下所示:

    #define KEY_Q 0x0020
    #define KEY_W 0x0040
    #define KEY_E 0x0080
    #define KEY_R 0x0100
    #define KEY_T 0x0200
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    谢谢、Yikai。

    -克尔
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Yikai、

      我尝试使用4x4按键执行 BLE 键盘。 我将尝试下面的这些常数。 但是、如果我扩展到更大的键盘矩阵、例如桌面键盘、那么我可以定义的常量似乎会受到限制。

    /*********
    *外部变量
    */
    
    /*********
    *常量
    */
    #define KEY_select 0x0001
    #define KEY_UP 0x0002
    #define KEY_DOWN 0x0004
    #define KEY_LEFT 0x0008
    #define KEY_RIGHT 0x0010
    
    //由 Markel 常量
    
    #define key_1添加 0x0020
    #define KEY_2 0x0040
    #define KEY_3 0x0080
    #define KEY_4 0x0100
    #define KEY_Q 0x0200
    #define KEY_W 0x0400
    #define KEY_E 0x0800
    #define KEY_R 0x1000
    #define KEY_A 0x2000
    #define KEY_S 0x4000
    #define KEY_D 0x8000
    #define KEY_F 0x10000
    #define KEY_Z 0x20000
    #define KEY_X 0x40000
    #define KEY_C 0x80000
    #define KEY_V 0x100000 

    -克尔

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    是的、这是关键功能的限制。 但是、我认为您可以尝试与4个关键事件(1x4、2x4、3x4和4x4)共享您的4x4、并处理触发器、将其映射到应用程序中的4x4密钥中的哪个触发器。