diff --git a/src/functions.scad b/src/functions.scad index 56907ee..47f5751 100644 --- a/src/functions.scad +++ b/src/functions.scad @@ -1,4 +1,5 @@ include +include // I use functions when I need to compute special variables off of other special variables // functions need to be explicitly included, unlike special variables, which diff --git a/src/key_profiles/asa.scad b/src/key_profiles/asa.scad index 691c119..8bf8e67 100644 --- a/src/key_profiles/asa.scad +++ b/src/key_profiles/asa.scad @@ -1,3 +1,6 @@ +use <../functions.scad> +include <../settings.scad> + module asa_row(row=3, column = 0) { $key_shape_type = "sculpted_square"; $bottom_key_height = 18.06; diff --git a/src/key_profiles/cherry.scad b/src/key_profiles/cherry.scad index fb5950f..8a11a8a 100644 --- a/src/key_profiles/cherry.scad +++ b/src/key_profiles/cherry.scad @@ -1,3 +1,6 @@ +use <../functions.scad> +include <../settings.scad> + // based off GMK keycap set module cherry_row(row=3, column=0) { diff --git a/src/key_profiles/dcs.scad b/src/key_profiles/dcs.scad index 4e6e461..646d07f 100644 --- a/src/key_profiles/dcs.scad +++ b/src/key_profiles/dcs.scad @@ -1,3 +1,6 @@ +use <../functions.scad> +include <../settings.scad> + module dcs_row(row=3, column=0) { $bottom_key_width = 18.16; $bottom_key_height = 18.16; diff --git a/src/key_profiles/dsa.scad b/src/key_profiles/dsa.scad index 51ffa3e..797c804 100644 --- a/src/key_profiles/dsa.scad +++ b/src/key_profiles/dsa.scad @@ -1,3 +1,6 @@ +use <../functions.scad> +include <../settings.scad> + module dsa_row(row=3, column = 0) { $key_shape_type = "sculpted_square"; $bottom_key_width = 18.24; // 18.4; diff --git a/src/key_profiles/dss.scad b/src/key_profiles/dss.scad index 26f521a..54269ba 100644 --- a/src/key_profiles/dss.scad +++ b/src/key_profiles/dss.scad @@ -1,3 +1,6 @@ +use <../functions.scad> +include <../settings.scad> + module dss_row(n=3, column=0) { $key_shape_type = "sculpted_square"; $bottom_key_width = 18.24; diff --git a/src/key_profiles/g20.scad b/src/key_profiles/g20.scad index 794da41..7f912aa 100644 --- a/src/key_profiles/g20.scad +++ b/src/key_profiles/g20.scad @@ -1,3 +1,6 @@ +use <../functions.scad> +include <../settings.scad> + module g20_row(row=3, column = 0) { $bottom_key_width = 18.16; $bottom_key_height = 18.16; diff --git a/src/key_profiles/grid.scad b/src/key_profiles/grid.scad index c81be46..86f1096 100644 --- a/src/key_profiles/grid.scad +++ b/src/key_profiles/grid.scad @@ -1,3 +1,6 @@ +use <../functions.scad> +include <../settings.scad> + module grid_row(row=3, column = 0) { $bottom_key_width = 18.16; $bottom_key_height = 18.16; diff --git a/src/key_profiles/hipro.scad b/src/key_profiles/hipro.scad index 1401dc9..87d8b9b 100644 --- a/src/key_profiles/hipro.scad +++ b/src/key_profiles/hipro.scad @@ -1,3 +1,6 @@ +use <../functions.scad> +include <../settings.scad> + module hipro_row(row=3, column=0) { $key_shape_type = "sculpted_square"; diff --git a/src/key_profiles/mt3.scad b/src/key_profiles/mt3.scad index fdcd728..3043020 100644 --- a/src/key_profiles/mt3.scad +++ b/src/key_profiles/mt3.scad @@ -1,3 +1,6 @@ +use <../functions.scad> +include <../settings.scad> + // This is an imperfect attempt to clone the MT3 profile module mt3_row(row=3, column=0, deep_dish=false) { $key_shape_type = "sculpted_square"; diff --git a/src/key_profiles/oem.scad b/src/key_profiles/oem.scad index 7594991..0011d3a 100644 --- a/src/key_profiles/oem.scad +++ b/src/key_profiles/oem.scad @@ -1,3 +1,6 @@ +use <../functions.scad> +include <../settings.scad> + module oem_row(row=3, column = 0) { $bottom_key_width = 18.05; $bottom_key_height = 18.05; diff --git a/src/key_profiles/regular_polygon.scad b/src/key_profiles/regular_polygon.scad index 2f93ca9..9297ac2 100644 --- a/src/key_profiles/regular_polygon.scad +++ b/src/key_profiles/regular_polygon.scad @@ -1,3 +1,5 @@ +use <../functions.scad> +include <../settings.scad> include <../constants.scad> // Regular polygon shapes CIRCUMSCRIBE the sphere of diameter $bottom_key_width // This is to make tiling them easier, like in the case of hexagonal keycaps etc diff --git a/src/key_profiles/sa.scad b/src/key_profiles/sa.scad index 9e741db..8176fbc 100644 --- a/src/key_profiles/sa.scad +++ b/src/key_profiles/sa.scad @@ -1,3 +1,6 @@ +use <../functions.scad> +include <../settings.scad> + module sa_row(n=3, column=0) { $key_shape_type = "sculpted_square"; $bottom_key_width = 18.4; diff --git a/src/key_profiles/typewriter.scad b/src/key_profiles/typewriter.scad index 7bac0a0..ed022bc 100644 --- a/src/key_profiles/typewriter.scad +++ b/src/key_profiles/typewriter.scad @@ -1,3 +1,5 @@ +use <../functions.scad> +include <../settings.scad> include <../constants.scad> // Regular polygon shapes CIRCUMSCRIBE the sphere of diameter $bottom_key_width // This is to make tiling them easier, like in the case of hexagonal keycaps etc diff --git a/src/key_types.scad b/src/key_types.scad index a6c1ab6..55d7cb6 100644 --- a/src/key_types.scad +++ b/src/key_types.scad @@ -1,4 +1,6 @@ include +use +use module spacebar() { $inverted_dish = $dish_type != "disable"; diff --git a/src/layouts/hhkb/default.scad b/src/layouts/hhkb/default.scad new file mode 100644 index 0000000..43611a3 --- /dev/null +++ b/src/layouts/hhkb/default.scad @@ -0,0 +1,21 @@ +include <../layout.scad> + +hhkb_layout = [ + [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1], + [1.5,1,1,1,1,1,1,1,1,1,1,1,1,1.5], + [1.75,1,1,1,1,1,1,1,1,1,1,1,2.25], + [2.25,1,1,1,1,1,1,1,1,1,1,1.75,1], + [-1.5,1,1.5,6,1.5,1] +]; + +hhkb_legends = [ + ["Esc", "1", "2", "3", "4", "5", "6", "7", "8", "9", "0", "-", "=", "\\", "`"], + ["Tab", "q", "w", "e", "r", "t", "y", "u", "i", "o", "p", "[", "]", "Delete"], + ["Ctrl", "a", "s", "d", "f", "g", "h", "j", "k", "l", ";", "'", "Return"], + ["Shift", "z", "x", "c", "v", "b", "n", "m", ",", ".", "/", "Shift", "Fn"], + ["", "Alt", "Cmd", "", "Cmd", "Alt"], +]; + +module hhkb_default(profile) { + layout(hhkb_layout, profile, hhkb_legends) children(); +} diff --git a/src/layouts/layout.scad b/src/layouts/layout.scad index cd3c9c2..51648e4 100644 --- a/src/layouts/layout.scad +++ b/src/layouts/layout.scad @@ -1,3 +1,8 @@ +use <../key_transformations.scad> +use <../key_profiles.scad> +use <../key_sizes.scad> +use <../key_types.scad> + // sums all values, unless a value is negative, in which case it makes it positive // dirty hack to allow for large gaps in keysets function abs_sum(list, x=0) =