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
  • No Bluetooth – No additional battery
  • Very thin footprint
  • Open source firmware
  • Open hardware

Roadmap

Revision 0 (Prototype)

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

Revision 1 (Initial release)

  • 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

Some of these features are a little insane, what can I do. ¯\_(ツ)_/¯

  • Headphone jack with dedicated sound card connected to the on board USB hub
  • Key backlight
  • Integrated KVM switch
    • Use the keyboard with a connected PC (headless server etc)
    • mkbd65 will advertise itself as a DisplayPort monitor over that USB cable and act as a webcam to the connected phone
    • Display content of the headless unit can then be shown in a dedicated KVM app or a compatible camera app
    • Inside the KVM app, the phones display area can be used as a touchpad/mouse for the headless unit

Layouts

ANSI

ANSI layout
ANSI layout Fn combinations

"ISO" (ANSI with big enter)

ISO layout
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 in the English US intl. layout.

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 `~ 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
  • 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/Alt+Shift+Tab)
  • I'm sorry french typists:
    • 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

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 configuration files with the help of Solidpython and OpenSCAD.

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 are generated from configuration files and can be adapted to most phones. The limiting factor is mostly the shape of the camera bump.

Currently only these models are officially supported:

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.