Add BLE HID Host app; share the central layer via libble/
Extract the reusable BLE central/GATT client and name/value decoders into
libble/ (moved out of bt_inspector). build.sh now stages libble/*.{c,h}
into each app dir at build time and builds every app in APPS=(...).
New app ble_hid_host: connects to a BLE keyboard or mouse, discovers the
HID service (0x1812), sets protocol mode (boot when offered, else report),
subscribes to the input-report characteristics, and decodes keyboard
(modifiers + key names) and mouse (buttons + dx/dy/wheel) reports live.
Events scroll on screen and are logged with raw bytes to
apps_data/ble_hid_host/. No pairing, so encryption-gated keyboards stay
silent; open devices and most mice work. Both faps build and pass APPCHK.
This commit is contained in:
@@ -0,0 +1,16 @@
|
||||
# External app. Needs firmware built by ../build.sh: full BLE stack plus the
|
||||
# ST aci_*/hci_* command API exported to apps.
|
||||
App(
|
||||
appid="ble_hid_host",
|
||||
name="BLE HID Host",
|
||||
apptype=FlipperAppType.EXTERNAL,
|
||||
entry_point="ble_hid_host_app",
|
||||
requires=["gui", "storage"],
|
||||
stack_size=4 * 1024,
|
||||
fap_category="Bluetooth",
|
||||
fap_icon="icon.png",
|
||||
fap_version="1.0",
|
||||
fap_description="Connect a BLE keyboard or mouse and watch its input reports",
|
||||
fap_author="andydixon",
|
||||
fap_weburl="https://github.com/andydixon/flipper-bt-inspector",
|
||||
)
|
||||
Reference in New Issue
Block a user