From 1fbc0c413709b4d5b05722350135d1ff47a78e78 Mon Sep 17 00:00:00 2001 From: Daniele Verducci Date: Wed, 28 Jan 2026 22:02:22 +0100 Subject: [PATCH] Fixed keys --- enclosure/keys.scad | 27 +++++++++++++++++-------- enclosure/printables/buttons_track.scad | 4 ++++ enclosure/printables/buttons_vol.scad | 4 ++++ 3 files changed, 27 insertions(+), 8 deletions(-) create mode 100644 enclosure/printables/buttons_track.scad create mode 100644 enclosure/printables/buttons_vol.scad diff --git a/enclosure/keys.scad b/enclosure/keys.scad index 98dc1b8..0bb5007 100644 --- a/enclosure/keys.scad +++ b/enclosure/keys.scad @@ -3,9 +3,10 @@ distance_from_key_to_enclosure = 6; enclosure_hole_depth = 6; button_height_above_enclosure_surface = 4; +stopper_flange_height = 2; +symbol_height = 1; module keycap() { - stopper_flange_height = 2; // Keycap cylinder(h = enclosure_hole_depth + stopper_flange_height + button_height_above_enclosure_surface, d = 18, $fn = 128); // Stopper flange @@ -14,24 +15,34 @@ module keycap() { stem_height = distance_from_key_to_enclosure - stopper_flange_height; translate([0, 0, -stem_height / 2]){ difference() { - cube([5, 3.89, stem_height], true); - cube([1, 3.9, stem_height + 0.1], true); - cube([3.9, 1, stem_height + 0.1], true); + cube([6.4, 4.4, stem_height], true); + cube([1.2, 4.5, stem_height + 0.1], true); + cube([4.5, 1.4, stem_height + 0.1], true); } } } module next_keycap() { - keycap(); + keycap(); + translate([0, 0, enclosure_hole_depth + stopper_flange_height + button_height_above_enclosure_surface - 0.1]) cylinder(h = symbol_height, d = 12, $fn = 3); } module prev_keycap() { keycap(); + rotate([0, 0, 180]) translate([0, 0, enclosure_hole_depth + stopper_flange_height + button_height_above_enclosure_surface - 0.1]) cylinder(h = symbol_height, d = 12, $fn = 3); } module vol_up_keycap() { - keycap(); + keycap(); + translate([0, 0, enclosure_hole_depth + stopper_flange_height + button_height_above_enclosure_surface - 0.1]) cylinder(h = symbol_height, d = 12, $fn = 5); } module vol_down_keycap() { - keycap(); + keycap(); + translate([0, 0, enclosure_hole_depth + stopper_flange_height + button_height_above_enclosure_surface - 0.1]) cylinder(h = symbol_height, d = 6, $fn = 5); } -keycap(); \ No newline at end of file +//keycap(); + +// Stem only: +intersection() { + keycap(); + translate([0, 0, -1.5]) cube([8, 6, 5], true); +} \ No newline at end of file diff --git a/enclosure/printables/buttons_track.scad b/enclosure/printables/buttons_track.scad new file mode 100644 index 0000000..e9f53c8 --- /dev/null +++ b/enclosure/printables/buttons_track.scad @@ -0,0 +1,4 @@ +use <../keys.scad> + +translate([20, 0, 0]) next_keycap(); +translate([-20, 0, 0]) prev_keycap(); diff --git a/enclosure/printables/buttons_vol.scad b/enclosure/printables/buttons_vol.scad new file mode 100644 index 0000000..b808b84 --- /dev/null +++ b/enclosure/printables/buttons_vol.scad @@ -0,0 +1,4 @@ +use <../keys.scad> + +translate([20, 0, 0]) vol_up_keycap(); +translate([-20, 0, 0]) vol_down_keycap();