esphome / esphome/feature-requests
Add support for BLE HID keyboard
Nobody has claimed this yet.
- Dominant language
- No language data
- Stars
- 450
- Forks
- 29
- PR merge metrics
- No merged PRs in 30d
Description
**Describe the problem you have/What new integration you would like**
Implement a BLE HID Keyboard to send keystrokes to connected tablets or smartphones.
**Please describe your use case for this integration and alternatives you've tried:**
Use-case: Wall-mounted iPad which is used as a smart home (status) display which is supposed to be woken up by sending for example ESC key to wake it up from sleep. OR: control the global screenbrightness by sending keystrokes via BLE HID keyboard.
All this is not really possible from an app itself as iOS does not support this easily.
I have already done this with my quick and dirty Arduino sketch using an ESP32 and my iPad. It is working as expected, but I would like to see this in ESPHome too.
**Additional context**
Basically most of this code could be used: https://github.com/olegos76/nimble_kbdhid_example
It also works with the older ESP-IDF 3.3.4.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing the linked nimble_kbdhid_example and the existing Arduino sketch described in the issue, including its ESP-IDF 3.3.4 compatibility. Determine where ESPHome handles ESP32 Bluetooth integrations. Done means a configured BLE HID keyboard can send keystrokes such as ESC to connected tablets or smartphones.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- arduino
- Domain
- embedded-iot
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 28/100