ble_hid

Advertise an ESP-Claw composite HID device and send keyboard, mouse, and media reports.

2.0k|410|Updated Apr 17, 2026
One-click install
npx skills add https://github.com/espressif/esp-claw --skill ble-hid
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: ble_hid
Source: https://github.com/espressif/esp-claw/tree/main/components/lua_modules/lua_module_ble_hid/skills/ble_hid
Command: npx skills add https://github.com/espressif/esp-claw --skill ble-hid

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) components.

What problem does it solve?

It solves the need to control devices through standard HID inputs (keyboard, mouse, media keys) without writing a full host-side app, so your ESP32 can behave like a human user.

Core Features & Use Cases

  • Start BLE HID advertising: make the device appear as a composite HID peripheral supporting media, keyboard, and mouse actions at once.
  • Send media/keyboard/mouse actions: drive media playback controls, type keys or text, and perform mouse movement and clicks.
  • Composite report control by action type: choose which HID report is sent by the requested action type (media, keyboard_key, keyboard_combo, keyboard_text, or mouse_move).

Use case example: You need an ESP32 to quickly pause/play media and type a short command sequence on a nearby computer by emulating a keyboard and media controller.

Quick Start

Tell the agent: "Start the ble_hid skill, advertise as a BLE HID device named esp-claw-hid, then send a keyboard combo CTRL+C to trigger the action I need."

Frequently Asked Questions about ble_hid

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I use an ESP32 for BLE keyboard emulation and mouse control?

ESP32 BLE keyboard emulation and mouse control is achieved by advertising the device as a composite HID peripheral, allowing it to send keyboard, mouse, and media key inputs to a host without a dedicated app.

Can I send media keys and keyboard shortcuts simultaneously from an ESP32?

Yes, the ESP32 can send media keys and keyboard shortcuts simultaneously by advertising as a composite HID device and routing inputs through specific action types like keyboard_combo or media.

What is the best way to automate remote input on a computer using IoT devices?

Automating remote input via IoT devices is best handled by emulating standard human interface devices, enabling deterministic execution of scripts that send mouse movements, clicks, and text inputs.

Does Lua scripting support sending mouse movement deltas for HID automation?

Lua scripting supports HID automation by accepting parameters for mouse movement deltas, allowing precise control over cursor behavior during interactive demo prompts and rapid device testing.

How to start BLE HID advertising on an ESP32 using Lua scripts?

To start BLE HID advertising on an ESP32, execute the provided Lua scripts with parameters specifying the device name, making it discoverable as a composite keyboard, mouse, and media controller.

When should I use ESP32 HID emulation instead of a host-side application for device testing?

ESP32 HID emulation is ideal for rapid device testing and interactive demos where a microcontroller must act as a human user, bypassing the need to write and maintain a full host-side application.