3 Commits
Author SHA1 Message Date
andyandClaude Fable 5.1 02f799cf9c Fix Back being trapped on the connecting popup (all three connect flows)
BT Inspector, BLE HID Host and Sensor Dashboard showed a "Connecting..." /
"Discovering..." popup whose Back handler ignored the key, so if a connect or
service discovery ran long the user was stuck until it timed out. Back on that
popup now sets a cancel flag and returns to the scan list immediately; the
worker thread notices the flag when its current operation finishes, drops the
half-made connection and resumes scanning, and the completion handler ignores
the cancelled result instead of jumping into the device/readings view.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LEaD4ZeAfvWLBUxXp8G11r
2026-09-10 23:48:11 +01:00
andyandClaude Fable 5.1 575cffb395 Add GPLv3 license and per-file copyright headers
License Flipper Blue++ under GPL-3.0-or-later, matching the Flipper Zero
firmware it builds on and links against. Add the verbatim GPLv3 text as
LICENSE, an SPDX + copyright header to every original source file and
build.sh, and a License section to the README noting the app sources are
(C) 2026 Andy Dixon while the upstream firmware/SDK remain (C) Flipper
Devices Inc., both GPLv3. Headers are comment-only; the full suite still
builds and all faps link.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LEaD4ZeAfvWLBUxXp8G11r
2026-09-10 22:10:00 +01:00
andy 888582e9a3 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.
2026-07-07 00:53:32 +01:00