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 键盘字母无法正常工作?

Guru**** 2560390 points
Other Parts Discussed in Thread: CC2650

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/571496/launchxl-cc2650-hid-keyboard-letter-not-working

器件型号:LAUNCHXL-CC2650
Thread 中讨论的其他器件:CC2650

您好!

  我正在使用 hid_emu_kbd_cc2650em_app 制作4 x 4 BLE 键盘。 因此、到目前为止、我能够输出1 - 3号。 但对于键盘字母 Q、W、E、R、A、 S、D、F、Z、X、C V 无输出。 对于测试、我用字母 G 和 H 替换左侧和右侧工作的。请参阅下面的代码修改。 但是、我的笔记本电脑上没有输出。 我试过几次。 在  USB HID 使用表中定义 HID_KEYBOARD_G 和 HID_KEYBOARD_H 相同。 这种情况发生在 Windows 7和 Windows 10笔记本电脑上。 为什么没有输出? HID 值是否未被识别?

hidmukbd.c.

if (keys & key_left)
{
//按键。
//HidEmuKBD_sendReport (HID_KEYBOARD_LEFT_ARROW);
HIDEMUKBD_sendReport (HID_KEYBOARD_G);

//密钥释放。
// NB:释放按键不会将信号传播到此函数,
//因此,在这里会立即报告“密钥释放”。
HIDEMUKBD_sendReport (key_none);
}

if (keys & key_right)
{
//按键。
//HidEmuKBD_sendReport (HID_KEYBOARD_RIGHT _ARROW);
HIDEMUKBD_sendReport (HID_KEYBOARD _H);

//密钥释放
// NB:释放按键不会将信号传播到此函数,
//因此,在这里会立即报告“密钥释放”。
HidEmukbd_sendReport (key_none);
} 

-克尔

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您能否提供监听器日志、以便我们可以查看是否确实有数据通过无线方式发送?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Christin:

      我的 BLE USB 软件狗固件已更改为适用于 BLE Device Monitor 和 BTool、因此我无法发送数据包监听器捕获。 通过我的测试、我能够通过蓝牙连接将号码发送到我的笔记本电脑。 但是、在这篇文章中提到的这些信函中、我无法通过蓝牙连接发送到我的笔记本电脑。 我试过几次。  

    -克尔

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

    我已经对 BLE USB 软件狗进行编程、以便与数据包监听器配合使用。 我正在尝试设置数据包监听器、以便从 TI Launchpad 捕获 BLE 数据包。 从何处获取启动器地址? 根据 A. Rebel 的回复,可以在“设备信息”->“系统 ID”中找到发起方地址。 我检查系统 ID、该值为"00000000 00000000"。 我使用 SensorTag 应用

    e2e.ti.com/.../551441

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

    我将原始 hid_emu_kbd_cc2650em_app 编程到我的 CC2650 Launchpad,并能够输出字母 a、g、h。 因此、我想这是代码中的一些修改、以前会导致不输出字母。 不过、奇怪的是、我所做的唯一重要变化是下面的变化。

    hidmukbd.c.

    静态空 HidEmuKBD_keyPressHandler (uint8_t keys);

    更改为

    静态空 HidEmuKBD_keyPressHandler (uint32_t keys);

    -克尔
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    因此、如果您将 HidEmukbd_keyPressHandler (uint32_t keys)更改为原来的程序、一切都将正常?

    此外、您还可以单步执行代码、查看在执行 uint32_t 时如何转换密钥
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    [引用 user="Christin Lee">因此、如果您更改了 HIDEMUKBD_keyPressHandler (uint32_t 密钥);在您的程序中、所有内容都将起作用? [/报价]

     我还不确定。  

     我认为在 CCS->Debug 步骤期间没有显示字母。 但是如果是数字、当我执行 CCS->Debug 步骤时会发生的情况是该数字在代码中打印出来。 我将从这次经历中学习。

    -克尔