登録して招待リンクを共有すると、動画再生報酬と紹介報酬を獲得できます。

Ryan Peterman
@ryanlpeterman
Quit my job to build the podcast & ergonomic keyboard I wish existed • ex-software engineer @instagram, @meta • See what I'm building here ↓
参加 February 2017
467 フォロー中    29.7K ファン
I asked Fable 5.1 to summarize how it did this in a concise technical writeup. Here's what it did: Goal: Use a Compose Keyboard with a jailbroken Kindle Scribe to edit Markdown on a Mac mini through kterm and SSH. 1. Connect over BLE. The firmware used Amazon's ACE userspace stack, with a classic-only public interface. We cross-compiled a GATT client using kindlebt and ACE libraries to access BLE directly. Connections still timed out: ACE used a public address type for the keyboard's random address. An LD_PRELOAD shim in btmanagerd tracked its advertising address and corrected outgoing HCI connection commands. 2. Complete pairing. The Kindle generated a six-digit passkey but provided no keyboard-pairing UI. We captured the btPairNumericPinToDisplay event and entered the code on the Compose Keyboard, completing authenticated pairing. 3. Persist the bond. Restarting btmanagerd immediately after pairing discarded unsaved keys. Allowing the stack to save its encryption and identity keys to bt_config.conf preserved the bond across reboots. 4. Capture input. The stock input path did not handle BLE HID reports. The shim extracted keyboard notifications from decrypted ATT traffic and forwarded them through a FIFO to an injector. 5. Deliver input to kterm. Xorg did not pick up the uinput virtual keyboard. We switched to XTEST injection, restored kterm's focus before injecting events, and handled X protocol errors without exiting. Launching kterm in the foreground from a tap-scriptlet prevented launch and home-screen redraw issues. 6. Stabilize the pipeline. We removed competing FIFO readers, opened the reader with O_RDWR to avoid startup deadlock, and checked traces when a measurement tool incorrectly reported lost keystrokes. The launcher starts the pipeline, opens kterm in landscape, and connects to the Mac using SSH key authentication. A helper re-arms background BLE connection requests every 15 seconds; stored identity keys support reconnection when the keyboard wakes. The changes are reversible. Note: this writeup was AI generated but I figured it'd still be helpful since a bunch of people were asking. You can probably feed this into your LLM and ask it to follow a similar plan. It churned on this for ~3-4 hours until it got everything working.
もっと見る
Used Fable 5.1 to turn my Kindle into a Linux terminal so I could work without blue light at night