This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

HID Keyboard Example Not Recognized by iPad

I programmed a PCA10001 with the HID Keyboard example and changed the preprocessor code from NRF6310 to PCA10001. The functions were tested according to the online HID Keyboard Application notes and everything worked as expected. (Note: The Application notes used were flagged as "old documentation" but it still worked.)

I then tried to connect the HID to an iPad. After enabling BT in Settings on the iPad the HID was not recognized. I thought the problem might be that the Company ID needed to be changed from Nodic's (x59) to Apple's (4C) but answers from a previous post say that the HID does not use Company ID so this should not be a problem. I installed the LightBlue app on the iPad and it does find the HID. Why can I not link to the iPad directly?

Parents
  • I am not switching between beacon and HID Keyboard - HID Keyboard only. Just a note, I am connecting to an iPad and not an iPhone (probably not a significant point).

    I just did a test running off a battery (not debugger) and found that when the battery was inserted it would not connect in Settings unless it connected through NRF MCP first.

    Then I removed the battery and reinserted it again. Same thing - required NRF MCP to connect first before Settings would show it connected.

    I have never installed or used the sniffer so it may take some time to get that information if you think it is necessary.

    I still have the problem where the "hello" is not received on the iPad when Button 0 is pressed. This was working on July 1 but when I came back to the project several days later the device would not advertise. There were no changes to the code or hardware during that time. I then started from scratch by loading the original Nordic HID Keyboard example (no source changes). As mentioned before, the only change made was setting PCA10001 in the preprocessor. Also, using Debug the code runs through ble_hids_inp_rep_send() in ble_hids.c with good err_code (not DATA_SIZE, INVALID_STATE, or INVALID_PARAM errors) as mentioned before.

Reply
  • I am not switching between beacon and HID Keyboard - HID Keyboard only. Just a note, I am connecting to an iPad and not an iPhone (probably not a significant point).

    I just did a test running off a battery (not debugger) and found that when the battery was inserted it would not connect in Settings unless it connected through NRF MCP first.

    Then I removed the battery and reinserted it again. Same thing - required NRF MCP to connect first before Settings would show it connected.

    I have never installed or used the sniffer so it may take some time to get that information if you think it is necessary.

    I still have the problem where the "hello" is not received on the iPad when Button 0 is pressed. This was working on July 1 but when I came back to the project several days later the device would not advertise. There were no changes to the code or hardware during that time. I then started from scratch by loading the original Nordic HID Keyboard example (no source changes). As mentioned before, the only change made was setting PCA10001 in the preprocessor. Also, using Debug the code runs through ble_hids_inp_rep_send() in ble_hids.c with good err_code (not DATA_SIZE, INVALID_STATE, or INVALID_PARAM errors) as mentioned before.

Children
No Data
Related