BLE client -> radio bridge -> USB HID dongle

One keyboard. Any host.

Tybe turns your iPhone, Android device, or Mac into the keyboard for a machine that only sees a standard USB HID device. No host driver. No second Bluetooth pairing. Korean input stays on the host IME.

The target computer never learns Tybe exists.

It receives keystrokes from a boot keyboard dongle. The phone or Mac speaks only to the bridge, and the bridge owns the radio hop.

client app

iPhone, Android, or Mac

Choose keyboard mode for live keys, or compose mode for a buffered text send.

client spec
BLE GATT

Zephyr bridge

XIAO nRF52840 keeps BLE connected while it schedules radio TX inside MPSL timeslots.

bridge firmware
2.4 GHz frame

Raw radio hop

Opcode frames carry HID keys, modifiers, compose text, sequence IDs, and status feedback.

frame contract
USB HID

Dongle to target host

The target sees a normal USB keyboard. No host helper, no network, no Bluetooth keyboard slot.

bring-up notes
BLE control radio frame USB HID

Status before settings.

The client surface is built around the question a builder asks first: can I type now? Bridge, BLE, dongle, and last-key state stay above logs and raw counters.

BLE: connected
Bridge: OK
Dongle: linked
Queue: 0 framesseq 42
mode: keyboard accepted
⌘K
last key host IME handles Hangul

Start where the hardware starts.

Questions a builder will ask.

Does the target host need a driver?

No. The dongle presents as a standard USB HID boot keyboard, so the host receives normal keyboard reports.

Why not pair a Bluetooth keyboard directly?

Tybe keeps the host side simple. Your phone, Android device, or Mac talks to the bridge; the host only sees the USB keyboard dongle.

How does Korean input work?

Tybe sends jamo through the existing host Korean input source. It does not try to own language switching inside the client.

Is this production hardware?

No. The path works end-to-end on development hardware; ACK retry, custom PCBs, and enclosures are still open work.

Read the protocol, then flash the bridge.

The docs are the source of truth for anyone changing a client, bridge, dongle, or test vector.

Read protocol