• It looks to me like ble_hid_keyboard and ble_hid_controls might be mutually-exclusive. Is it feasible to send commands in both "mechanisms" without a rewrite of those modules?

    In the Adafruit Bluefruit LE services AT command API, I seem to remember it's possible to send both AT+BLEHIDCONTROLKEY and AT+BLEKEYBOARDCODE in the same "session" (so to speak). And, a typical Bluetooth keyboard with media keys can obviously do both media controls and keyboard presses simultaneously.

    I want to be able to send:

    • ble_hid_keyboard.KEY.RIGHT on single click;
    • ble_hid_keyboard.KEY.LEFT on double click;
    • and a control key (specifically control 0xb8 of the 0x0c Consumer Page, described on pg.77 of the HID Usage Tables PDF) on triple click.

    0xb8 is the "Show Keyboard / Eject" key, which should reveal the keyboard on iOS; if you connect even a one-button keyboard in iOS, it assumes you don't want the on-screen keyboard. I don't know of a way to tell iOS that it's a limited "auxiliary" keyboard, so without that, offering the Eject key is a workaround.

    I assume this is part of the HID report definition -- writing a comprehensive definition encompassing both -- but it's a bit beyond me. I'm wondering if @Gordon might know how to create a unified report definition capable of both, having written the two existing HID modules.


Avatar for tom.gidden @tom.gidden started