https://github.com/arnav-kr/bluke
Bluke turns your phone into a Bluetooth mechanical keyboard, a Gamepad and a Trackpad
https://github.com/arnav-kr/bluke
andorid android-app bluetooth bluetooth-hid bluetooth-keyboard hid jetpack-compose keyboard kotlin mechanical-keyboard simulator wireless-keyboard
Last synced: about 17 hours ago
JSON representation
Bluke turns your phone into a Bluetooth mechanical keyboard, a Gamepad and a Trackpad
- Host: GitHub
- URL: https://github.com/arnav-kr/bluke
- Owner: arnav-kr
- License: agpl-3.0
- Created: 2026-06-04T20:13:49.000Z (18 days ago)
- Default Branch: main
- Last Pushed: 2026-06-15T21:09:55.000Z (7 days ago)
- Last Synced: 2026-06-16T19:33:05.676Z (6 days ago)
- Topics: andorid, android-app, bluetooth, bluetooth-hid, bluetooth-keyboard, hid, jetpack-compose, keyboard, kotlin, mechanical-keyboard, simulator, wireless-keyboard
- Language: Kotlin
- Homepage:
- Size: 4.18 MB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README

# Bluke
Bluke turns your Android device into a driverless, wireless Bluetooth HID mechanical keyboard simulator.
[](https://developer.android.com)
[](https://kotlinlang.org)
[](LICENSE)
[](https://github.com/arnav-kr/Bluke/releases)
---
## Features
* **No host software required**: Uses Android's native Bluetooth HID profile to connect directly with Windows, macOS, Linux, ChromeOS, Android TV, and game consoles.
* **Switch sound synthesis**: Generates mechanical switch acoustics (Cherry MX Brown, Holy Panda, Alpaca, Kailh Box Navy, Buckling Spring, and Topre) in real-time.
* **Themes and case colors**: Includes built-in presets (Olivia, Dracula, Oblivion, Retro, Cafe, and Mizu) and selectable case colors.
* **System integration**: Supports system haptics, OLED black mode, and Material You dynamic color schemes.
## Requirement
- **Android 9 (API level 28) or higher** (where the `BluetoothHidDevice` API was introduced).
- A device with hardware support for the **Bluetooth HID Device (HID-over-GATT)** profile. Note that profile availability may vary based on device chipset and manufacturer ROM.
## Build and Installation
### Prerequisites
- Android Studio Koala or higher.
- Android SDK 36.
- Global Gradle or Gradle Wrapper installed.
### Setup and Compilation
1. **Clone the repository**:
```bash
git clone https://github.com/arnav-kr/Bluke.git
cd Bluke
```
2. **Build with Gradle**:
```bash
gradle assembleDebug
```
3. **Install on device**:
Enable USB Debugging on your Android phone and install the app via Android Studio or run:
```bash
gradle installDebug
```
## License
This project is licensed under the [AGPL-3.0](LICENSE)
## Credits
* **[kbsim](https://github.com/tplai/kbsim)**: The user interface design is inspired by their web keyboard simulator ([kbs.im](https://kbs.im)), and the mechanical switch audio assets are sourced from their project.
## Author
- **Arnav Kumar** ([@arnav-kr](https://github.com/arnav-kr))