* Initial commit
commit
3e1f906899
|
@ -0,0 +1,12 @@
|
|||
# CuteBoard
|
||||
|
||||
(pronounced "Qt Board")
|
||||
|
||||
A custom 60% mechanical keyboard built around parts I've already had at home or that I could 3d print.
|
||||
A writeup about making this keyboard is available [here](https://sdomi.pl/weblog/14-cuteboard-mechanical-keyboard-from-scratch/), go check it out :3
|
||||
|
||||
No STL files; get OpenSCAD and hack the source yourself! Also because I think that my math isn't 100% right and one of the walls may be thicker than the other.
|
||||
|
||||
|
||||
|
||||
by sdomi
|
|
@ -0,0 +1,43 @@
|
|||
h=9;
|
||||
btm_h=1.3;
|
||||
a=13;
|
||||
|
||||
difference() {
|
||||
cube([93.75+6+4.5,254+6+4.5,btm_h+h+a]);
|
||||
translate([1.5,1.5,btm_h]) {
|
||||
cube([93.75+6.5,254+6.5,btm_h+h+a]);
|
||||
}
|
||||
tilty_boi();
|
||||
translate([93.75,240,btm_h+1]) cube([20,8.5,3]);
|
||||
}
|
||||
|
||||
difference() {
|
||||
translate([2.7,1.5,btm_h]) {
|
||||
translate([3,3,0]) {
|
||||
for (j = [1:5]) {
|
||||
for (i = [0:2:14]) {
|
||||
translate([j*(15+4.5),i*(14+4.5),0]) translate([-(.75/2),-(.75/2),0]) translate([-3,-3,0]) cube([2,2,30]);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
translate([0,0,-5]) tilty_boi();
|
||||
}
|
||||
|
||||
module tilty_boi() {
|
||||
translate([1.5,1.5,h]) rotate([0,-7,0]) translate([-1.5,-1.5,0]) {
|
||||
cube([150,300,50]);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//translate([1.5,1.5,h-4.5]) rotate([0,-7,0]) difference() {
|
||||
// cube([93.75+6,254+6,5]);
|
||||
// translate([3,3,0]) {
|
||||
// for (j = [0:4]) {
|
||||
// for (i = [0:13]) {
|
||||
// translate([j*(15+4.5),i*(14+4.5),0]) translate([-(.75/2),-(.75/2),0]) cube([15.75,14.75,10]);
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
//}
|
|
@ -0,0 +1,10 @@
|
|||
difference() {
|
||||
cube([93.75+6,254+6,5]);
|
||||
translate([3,3,0]) {
|
||||
for (j = [0:4]) {
|
||||
for (i = [0:13]) {
|
||||
translate([j*(15+4.5),i*(14+4.5),0]) translate([-(.75/2),-(.75/2),0]) cube([15.75,14.75,10]);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
import supervisor
|
||||
import usb_hid
|
||||
import usb_midi
|
||||
|
||||
usb_hid.enable(
|
||||
(usb_hid.Device.KEYBOARD)
|
||||
)
|
||||
usb_midi.disable()
|
||||
supervisor.set_next_stack_limit(4096 + 4096)
|
|
@ -0,0 +1,35 @@
|
|||
import board
|
||||
|
||||
from kmk.kmk_keyboard import KMKKeyboard
|
||||
from kmk.keys import KC
|
||||
from kmk.matrix import DiodeOrientation
|
||||
from kmk.modules.layers import Layers
|
||||
|
||||
keyboard = KMKKeyboard()
|
||||
keyboard.modules.append(Layers())
|
||||
|
||||
keyboard.row_pins = (board.GP16,board.GP17,board.GP18,board.GP19,board.GP20,)
|
||||
keyboard.col_pins = (board.GP13,board.GP12,board.GP11,board.GP10,board.GP9,board.GP8,board.GP7,board.GP6,board.GP5,board.GP4,board.GP3,board.GP2,board.GP1,board.GP0)
|
||||
keyboard.diode_orientation = DiodeOrientation.ROW2COL
|
||||
|
||||
keyboard.keymap = [
|
||||
[
|
||||
KC.ESC, KC.N1, KC.N2, KC.N3, KC.N4, KC.N5, KC.N6, KC.N7, KC.N8, KC.N9, KC.N0, KC.MINUS, KC.EQUAL, KC.BSPC,
|
||||
KC.TAB, KC.Q, KC.W, KC.E, KC.R, KC.T, KC.Y, KC.U, KC.I, KC.O, KC.P, KC.LBRC, KC.RBRC, KC.BSLS,
|
||||
KC.MO(1), KC.A, KC.S, KC.D, KC.F, KC.G, KC.H, KC.J, KC.K, KC.L, KC.SCLN, KC.QUOT, KC.ENT, KC.ENT,
|
||||
KC.LSFT, KC.Z, KC.X, KC.C, KC.V, KC.B, KC.N, KC.M, KC.COMM, KC.DOT, KC.SLSH, KC.INS, KC.UP, KC.DEL,
|
||||
KC.LCTL, KC.F13, KC.LALT, KC.SPC, KC.SPC, KC.SPC, KC.SPC, KC.SPC, KC.RALT, KC.RALT, KC.MO(1), KC.LEFT, KC.DOWN, KC.RIGHT,
|
||||
],
|
||||
[
|
||||
KC.GRAVE, KC.F1, KC.F2, KC.F3, KC.F4, KC.F5, KC.F6, KC.F7, KC.F8, KC.F9, KC.F10, KC.F11, KC.F12, KC.PSCR,
|
||||
KC.NO, KC.F13, KC.F14, KC.F15, KC.F16, KC.F17, KC.F18, KC.F19, KC.F20, KC.F21, KC.F22, KC.F23, KC.F24, KC.NO,
|
||||
KC.NO, KC.VOLD, KC.VOLU, KC.MUTE, KC.NO, KC.TRNS,KC.NO, KC.NO, KC.NO, KC.NO, KC.NO, KC.VOLD, KC.VOLU, KC.MUTE,
|
||||
KC.TRNS, KC.NO, KC.NO, KC.NO, KC.NO, KC.NO, KC.NO, KC.NO, KC.NO, KC.NO, KC.NO, KC.NO, KC.PGUP, KC.NO,
|
||||
KC.TRNS, KC.NO, KC.TRNS, KC.NO, KC.NO, KC.NO, KC.NO, KC.NO, KC.TRNS, KC.TRNS, KC.NO, KC.HOME, KC.PGDN, KC.END,
|
||||
]
|
||||
]
|
||||
|
||||
keyboard.debug_enabled = True
|
||||
|
||||
if __name__ == '__main__':
|
||||
keyboard.go()
|
Loading…
Reference in New Issue