![]() |
#1 |
Junior Member
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 2
Karma: 1008
Join Date: Mar 2025
Location: NYC
Device: Kindle (KV, PW5, PW6)
|
![]()
After much trial and error, false starts and...so much log reading, I managed to get a keyboard over Bluetooth classic (not BLE) working on my PW5/PW6 running jailbroken 5.18. (Older versions may also work, I just don't have any devices to test on.)
This definitely requires a jailbroken device and some kinda dangerous operations. Enabling Bluetooth HID devices This requires a small udev rule to keep things working after reboots, reconnects, or btmanagerd crashes ![]() The Kindle comes with a version of the X server (v1.8.2, from 2010) that requires udev 148 or newer to support "hot plugged" input devices, because the X server looks for certain properties on the devices that older versions don't set. Unfortunately, the Kindle firmware ships udev 146, so we have to do that part manually. Since Bluetooth keyboards will basically always be hot plugged (you don't want to restart the X server every time it connects), this is an important step. Create a small shell script (e.g. /usr/local/bin/dev_is_keyboard.sh, and don't forget to chmod +x) that detects whether an attached device is capable of keyboard input. Code:
#!/bin/sh DEVICE=$1 if evtest info $DEVICE | grep -q 'Event type 1 (Key)'; then if evtest info $DEVICE | grep -q 'Event code 16 (Q)'; then # Don't set these just because Key is supported -- that will # detect the touchscreen as a keyboard which breaks the UI echo ID_INPUT=1 echo ID_INPUT_KEY=1 echo ID_INPUT_KEYBOARD=1 fi fi Code:
KERNEL=="uhid", MODE="0660", GROUP="bluetooth" ACTION=="add", SUBSYSTEM=="input", IMPORT+="/usr/local/bin/dev_is_keyboard.sh %N" Run udevadm control --reload-rules once this is in place. Pairing a device The ace_bt_cli tool can be used to manipulate the Bluetooth (classic and BLE) system. Code:
ACEBTCLI BT Client :: start p_data (size:27) = 1B 00 00 00 00 00 00 00 00 00 00 61 63 65 5F 62 74 5F 63 6C 69 00 00 00 00 00 00 ACEBTCLI BT Client :: opened session with 0x19b9550 >: Run radiostate; you should see ACEBTCLI getRadioState() state:1 status:0. If it's not enabled, run enable. Run help to see all the options, but we're mostly just interested in pair here. Finding your Bluetooth address You can try classic scan here, but it also filters out non-audio devices. You'll need to know the Bluetooth address of your keyboard. (On macOS, you can find it in the Bluetooth settings: option-click on the icon for your keyboard in the device list. Alternately, install blueutil and run blueutil inquiry. I'm not sure how to do this on Windows or Linux, sorry.) Pairing Once you have the address, pair it -- the address must be colon separated (or no separator at all): Code:
>: pair 19:18:17:16:15:14 If it didn't work, you'll have some debugging to do. Debugging Spoiler:
While this is probably a bit more invasive than most would hope, I thought I'd share what I found and document the debugging steps for any future determined souls ![]() |
![]() |
![]() |
![]() |
#2 |
Wizard
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 1,517
Karma: 5000046
Join Date: Feb 2012
Location: Cape Canaveral
Device: Kindle Scribe
|
This is awesome, Thank you! Have you shared this over Kindle Modding on Discord?
![]() People will be ecstatic I will try this later on 5.17.x |
![]() |
![]() |
Advert | |
|
![]() |
#3 |
Evangelist
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 469
Karma: 3579113
Join Date: Jul 2023
Device: Scribe 2022, OA2, PRS-350
|
Nice sleuthing! I haven't set it up yet, but I've noticed one annoyance: rotation events show up as ESC codes when running ace_bt_cli and mangle your input.
Last edited by Frogm4n; Yesterday at 04:09 PM. |
![]() |
![]() |
![]() |
Tags |
bluetooth, keyboard, kindle |
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
PB741 - bluetooth keyboards. | Clort | PocketBook | 2 | 05-06-2022 01:40 AM |
Will Bluetooth hardware keyboards ever be supported? | arooni | KOReader | 4 | 09-22-2021 03:49 AM |
Do the T65s or T63s support bluetooth keyboards? | vagabondvivant | Boyue | 0 | 11-22-2019 01:13 PM |
InkBook Prime - Does it support Bluetooth-Keyboards? | openairwriter | More E-Book Readers | 7 | 08-12-2017 09:44 AM |
HD BlueTooth Keyboards ... Help | Barbara1955 | Kindle Fire | 1 | 12-18-2014 09:16 AM |