mkbd65

Mobile 65% keyboard addon for modern smartphones

Features

  • Full qwerty keyboard layout
  • Fully customizable through QMK firmware
  • Primary target layout is "English US intl. with AltGr"
  • Uses the phones USB-C port
  • Supports USB Power Delivery, phone can still fast charge while keyboard is plugged in
  • No Bluetooth – No additional battery
  • Very thin footprint
  • Open source firmware (QMK)
  • Open source hardware

Roadmap

Revision 0 (Prototype)

  • Standard qwerty keyboard
  • USB connection with USB-C cable

Revision 1 (planned)

  • Slide out mechanism
  • Keyboard can be permanently connected to the phone
  • USB connection with USB-C flex cable
  • Charging the phone with additional USB-C port (no data)

Revision 2 (planned)

  • Integrated USB Hub
    • Charging the phone via additional USB-C port with USB-PD passthrough and data!
    • Get an additional USB-C port to connect other accessories
  • Key frontlight

Future revisions may include

  • Headphone jack with dedicated sound card connected to the on board USB hub
  • Headphone jack using USB-C SBU pins
  • Key backlight

Example layouts

English US International (ANSI)

English US International (ANSI) layout
English US International (ANSI) layout Fn combinations

German (ISO)

German (ISO) layout
German (ISO) layout Fn combinations

Tips

The Fn key unlocks a lot of the missing keys and other functions.

The key labeled Alt is actually the AltGr key. Because the Alt key is not very useful on Android but the AltGr key is used heavily in many layouts.

The AltGr key is also a sticky key. That means that it remains active until the next key is pressed and then it is released. This allows you to type keyboard combinations without pressing more than one key at a time.

This keyboard uses the Esc-Grave option from QMK to combine the Esc and `~ (^° in German layout) keys

Useful combinations:

  • Hold left thumb on Fn and right thumb on ⏎ to press Super (Windows key)
  • Get ` key by pressing Fn with left thumb and ' with right thumb
  • Get ~ key by pressing Shift with right thumb and Esc with left thumb (This is the mentioned Grave Escape feature of the QMK firmware)
  • Get € by tapping AltGr followed by 5 in the English (US) international layout
  • Get the german umlaut ä by tapping AltGr followed by q in the English (US) international layout
  • Get the german umlaut ü by tapping AltGr followed by y in the English (US) international layout
  • Get the german umlaut ö by tapping AltGr followed by p in the English (US) international layout
  • Cycle through open applications with Fn+O and Fn+P (macro for Alt+Tab and Alt+Shift+Tab)
  • I'm sorry french typists using the English US International layout:
    • Tapping AltGr followed by Fn+' is the only way to get ` and combine it with the next char
    • Tapping AltGr followed by Shift+Fn+' is the only way to get ~ and combine it with the next char

Hardware

Revision 0 (Prototype)

mkbd65 has the USB Vendor ID 1209 and Product ID 4803. You can find it here.

The PCB is made with KiCAD. You can download the files here.

It costs about 7-25€ to produce the PCB in a fab like JLCPCB. The full BOM can be found here.

Case

The CAD files for the case are generated from adaptable file using OpenSCAD.

The case and keyboard parts can be easily adapted to any phones shape. Some expections are phone with "weird" camera bumps.

Imagine some nice pictures of colorful 3D prints here!

Compatible phones

The final PCB will be compatible with any phone that has a USB-C port and fits some minimal size requirements. The CAD files for the case can be easily adapted to most phones. The limiting factor is mostly the shape of the camera bump.

Currently only these models have been tested and are known to work:

Phones that will never end up on this list include the newer Google Pixel phone with the visor camera bump because it doesn't have any space for the keyboard. So don't get your hopes up to use these with it. I hope the Pixel 8 will have a different design.

You want your phone on this list? Open an issue here and use the "New phone" template.