CAD files for the case and key caps of mkbd65
  • Python 63.2%
  • OpenSCAD 35.4%
  • Makefile 1.4%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2023-05-24 22:24:56 +00:00
.gitlab/issue_templates Update Add phone.md 2022-02-22 17:46:29 +00:00
lib reset 2023-05-24 23:53:03 +02:00
OLD reset 2023-05-24 23:53:03 +02:00
phones reset 2023-05-24 23:53:03 +02:00
.editorconfig reset 2023-05-24 23:53:03 +02:00
.gitignore reset 2023-05-24 23:53:03 +02:00
.gitlab-ci.yml fix dependencies 2023-05-25 00:14:00 +02:00
keyset_de.scad reset 2023-05-24 23:53:03 +02:00
keyset_en-us-intl.scad reset 2023-05-24 23:53:03 +02:00
LICENSE Update README.md, LICENSE 2022-02-22 18:27:12 +00:00
main.scad reset 2023-05-24 23:53:03 +02:00
Makefile generate files with every commit 2023-05-25 00:08:37 +02:00
README.md Update README.md 2023-05-24 22:24:56 +00:00

mkbd65 case

The case and key set for mkbd65 is still a work in progress!

This is the case for mkbd65. It is build using OpenSCAD to be able to generate multiple cases fitting different phones from a single file. Follow the guide at https://mkbd65.xengi.de to build a case for your phone.

Generate a case

Edit the file main.scad and import your phones scad file from the lib/ folder. If your phone is not in there it's not supported yet. Please open a ticket or join the #mkbd65 channel on hackint via IRC or Matrix and ask for support. Adding support for a new phone is pretty easy as long as some requirements are met.

If your phone is supported and you have edited the file, run this command to generate the 3MF and STL files for your 3D printers slicer software. You can use whatever material you like. PLA has proven to be easy to print and working well for the case.

make main

Generate a key set

To generate the key set you can either use a predefined layout or generate your own. There are two predefined layouts for English US International and German. You can generate the 3D files for them with the following commands:

make keys_en-us-intl
make keys_de

This will generate the neccessary 3MF and STL files that you can use for your 3D printers slicer software. I recommend a flexible filament like Filaflex 40 for the best typing experience.

Custom layout

If you want to build your own custom layout follow the instruction in the file custom_keyset.scad. It will explain how to write the openscad code for a key set and generate the 3MF and STL files. You can use any of the keys from a 5x14 matrix and also combine them however you like. Remember that you have to duplicate the keys in the config of the QMK software for every non 1x1 key too. Because electrically every switch is still a single unique key and gets detected as such.

So if you want to create a 3x1 space bar at position (0, 5) you can create a key cap by using key(x=0, y=5, w=3). In the QMK config you have to create 3 distinct space bar keys next to each other.

In theory the maximum width of a key is 3. You can use more then that but the key will get sliced at different points to avoid accidental duble presses of the switches underneath.



old docs

Generate CAD files

  1. Install dependencies
    pip3 install --user -r requirements.txt
    
  2. Generate files for your phone for example the Oneplus 8T
    ./mkbd65.py --layout=ansi --3mf oneplus_8t.ini
    

Build instructions

3D printing

Most of the case can be 3D printed using a home 3D printer, any online 3D printing service or at your local hack/make space. You can find your local hack/make space here.

Print out these files with a sturdy filament like PLA:

  • lower_case

Print out the key_mat with a flexible filament like FilaFlexible40.

Config files

Properties for different phones are saved in INI files. Currently the only file included is oneplus_8t.ini for the Oneplus 8T phone. You can add your one phone by providing the INI file with measurements and a file describing it's camera bump.

In the config file you can define the phones size but also other aspects like the used font for the key mat. Here is a list of the possile options:

Group Option Type Default Description
keymap thickness Number 0.5 Thickness of the keymap in mm
key_mat thickness Number 1 Thickness of the key in mm
font String DejaVu Sans:style=Bold Font used for labels

OpenSCAD files

The generator script will create multiple files.

File Material Description
mkbd65_key_mat.scad TPU 3D printable
mkbd65_pcb.scad - Just a spacer for the 3D model fitting
mkbd65_top_plate.scad Acrylic Laser cut on a CNC
mkbd65_lower_case.scad PLA 3D printable
mkbd65_internals.scad PLA 3D printable
mkbd65.scad - Combination of the above files

CC BY-SA 4.0

mkbd65 case by XenGi is licensed under CC BY-SA 4.0