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
2022-01-05 01:26:04 +01:00
.gitignore foo 2022-01-03 17:58:56 +01:00
generate_scad.py dumped stuff from old repo 2020-04-30 17:49:40 +02:00
layout_en_us-intl.py updated from other repo 2021-11-04 18:58:07 +01:00
mkbd65.dxf foo 2022-01-03 17:58:56 +01:00
mkbd65.FCStd default keymap is now ansi 2022-01-05 01:26:04 +01:00
mkbd65.FCStd1 default keymap is now ansi 2022-01-05 01:26:04 +01:00
mkbd65.svg foo 2022-01-03 17:58:56 +01:00
oneplus5t.ini dumped stuff from old repo 2020-04-30 17:49:40 +02:00
README.md updated from other repo 2021-11-04 18:58:07 +01:00
requirements.txt dumped stuff from old repo 2020-04-30 17:49:40 +02:00

CAD files

To generate the CAD files for the mkbd65 run the following command:

./generate_scad.py

Layout files

These files define the layoout that gets printed on the keymat. Currently the only file included is layout_en_us.py for an english US international layout. you can use that as a template for your layout.

The file should define a single variable LAYOUT which is a list of roaws. These rows are also lists of columns. Each column has keys, which are a list of the strings that should be printed at different positions.

Example for a one button keyboard with the labels foo in the top left corner and bar in the bottom left:

LAYOUT = [
    [
        ['foo', 'bar', '', '', ''],
    ],
]

The label string will be used as [TopLeft, BottomLeft, TopRight, BottomRight, Middle].

Some strings need special escaping to be used in OpenScad later on. See the en_us layout for examples.

Phone config

Properties for different phones are saved in INI files. Currently the only file included is oneplus5t.ini for the Oneplus 5t phone with a english US international layout with the DejaVu Sans font.

In the config file you can define phone specific aspects and style such as the used font and layout. Here is a list of the possile options:

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

OpenScad files

The generator script generate_scad.py creates multiple files.

File Material Description
mkbd65_keymat.scad TPU Keymat should be printed with a 3D printer
mkbd65_pcb.scad - Just a spacer for the 3D model fitting
mkbd65_top_plate.scad Aluminum Laser cut on a CNC
mkbd65_internals.scad ABS/PLA Inner structure should be printed with a 3D printer
mkbd65.scad - Combination of the above files