create new "ergo" layout based on a 30mm WASD layout
for both left and right hands, these layouts have a WASD layout as a base, with the left and right sides pulled slightly down from the center, and with 8+ button layouts pulling down even further to match the arg for the pinky finger locations. I've been playing with this for a while, and think I like it, at least like it enough to commit it Signed-off-by: Brian S. Stephan <bss@incorporeal.org>
This commit is contained in:
parent
4c045951c7
commit
d187312cd3
@ -510,6 +510,76 @@ module sega_2p_eleven() {
|
||||
translate([sega_2p_column_5_offset, -19-9-11, 0]) sega_2p_p1();
|
||||
}
|
||||
|
||||
// BSS ERGO - 30mm
|
||||
|
||||
module ergo_wasd_30mm() {
|
||||
button_30mm_hole(); // W
|
||||
translate([0, -36, 0]) button_30mm_hole(); // S
|
||||
translate([-34.5, -36-9, 0]) button_30mm_hole(); // A
|
||||
translate([34.5, -36-9, 0]) button_30mm_hole(); // D
|
||||
}
|
||||
|
||||
module ergo_six_30mm() {
|
||||
ergo_wasd_30mm();
|
||||
translate([-34.5, -9, 0]) button_30mm_hole(); // left of W
|
||||
translate([34.5, -9, 0]) button_30mm_hole(); // right of W
|
||||
}
|
||||
|
||||
module ergo_eight_30mm() {
|
||||
ergo_six_30mm();
|
||||
translate([34.5*1.9, -9*3, 0]) button_30mm_hole(); // top right of right of W
|
||||
translate([34.5*1.9, -36-9*3, 0]) button_30mm_hole(); // right of D
|
||||
}
|
||||
|
||||
module ergo_wasd_five_30mm() {
|
||||
translate([-51.75, 65.5, 0]) rotate([0, 0, 10]) {
|
||||
ergo_wasd_30mm();
|
||||
}
|
||||
translate([0, 0, 0]) sega_2p_nine_thumb_button();
|
||||
}
|
||||
|
||||
module ergo_nine_30mm() {
|
||||
translate([-51.75, 65.5, 0]) rotate([0, 0, 10]) {
|
||||
ergo_eight_30mm();
|
||||
}
|
||||
translate([0, 0, 0]) sega_2p_nine_thumb_button();
|
||||
}
|
||||
|
||||
// untested
|
||||
// BSS ERGO - 24mm
|
||||
/* module ergo_wasd() { */
|
||||
/* button_24mm_hole(); // W */
|
||||
/* translate([0, -27, 0]) button_24mm_hole(); // S */
|
||||
/* translate([-26, -27-7, 0]) button_24mm_hole(); // A */
|
||||
/* translate([26, -27-7, 0]) button_24mm_hole(); // D */
|
||||
/* } */
|
||||
|
||||
/* module ergo_six() { */
|
||||
/* ergo_wasd(); */
|
||||
/* translate([-26, -7, 0]) button_24mm_hole(); // left of W */
|
||||
/* translate([26, -7, 0]) button_24mm_hole(); // right of W */
|
||||
/* } */
|
||||
|
||||
/* module ergo_eight() { */
|
||||
/* ergo_six(); */
|
||||
/* translate([26*2-2, -7*3, 0]) button_24mm_hole(); // top right of right of W */
|
||||
/* translate([26*2-2, -27-7*3, 0]) button_24mm_hole(); // top right of right of W */
|
||||
/* } */
|
||||
|
||||
/* module ergo_wasd_five() { */
|
||||
/* translate([-63.25, 65.5, 0]) rotate([0, 0, 10]) { */
|
||||
/* ergo_wasd(); */
|
||||
/* } */
|
||||
/* translate([0, 0, 0]) sega_2p_nine_thumb_button(); */
|
||||
/* } */
|
||||
|
||||
/* module ergo_nine() { */
|
||||
/* translate([-63.25, 65.5, 0]) rotate([0, 0, 10]) { */
|
||||
/* ergo_eight(); */
|
||||
/* } */
|
||||
/* translate([0, 0, 0]) sega_2p_nine_thumb_button(); */
|
||||
/* } */
|
||||
|
||||
module shiokenstar() {
|
||||
translate([-172, 32, 0]) dir_arc_24mm_directionals();
|
||||
sega_2p();
|
||||
|
@ -0,0 +1,24 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: © 2025 Brian S. Stephan <bss@incorporeal.org>
|
||||
* SPDX-License-Identifier: GPL-3.0-or-later
|
||||
*/
|
||||
|
||||
include <parameters.scad>
|
||||
include <components.scad>
|
||||
|
||||
module ergo_wasd_five_30mm_and_ergo_nine_30mm_decorative_plate() {
|
||||
difference() {
|
||||
// get a 2mm slice of the jumbo decorative button cylinders
|
||||
union() {
|
||||
translate([-panel_x/2, 0, -70]) mirror([1, 0, 0]) ergo_wasd_five_30mm();
|
||||
translate([panel_x/2, 0, -70]) ergo_nine_30mm();
|
||||
}
|
||||
translate([0, 0, -100]) cube([500, 500, 198], center=true);
|
||||
translate([0, 0, 100]) cube([500, 500, 198], center=true);
|
||||
// cut out the normal holes
|
||||
translate([-panel_x/2, 0, -1]) mirror([1, 0, 0]) ergo_wasd_five_30mm();
|
||||
translate([panel_x/2, 0, -1]) ergo_nine_30mm();
|
||||
}
|
||||
}
|
||||
|
||||
ergo_wasd_five_30mm_and_ergo_nine_30mm_decorative_plate();
|
15
src/panels/inset/ergo-nine-plus-aux-button-with-mount.scad
Normal file
15
src/panels/inset/ergo-nine-plus-aux-button-with-mount.scad
Normal file
@ -0,0 +1,15 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: © 2025 Brian S. Stephan <bss@incorporeal.org>
|
||||
* SPDX-License-Identifier: GPL-3.0-or-later
|
||||
*/
|
||||
|
||||
include <parameters.scad>
|
||||
include <components.scad>
|
||||
use <ergo-nine-plus-aux-button.scad>
|
||||
|
||||
module ergo_nine_plus_aux_button_panel_with_mount() {
|
||||
ergo_nine_plus_aux_button_panel();
|
||||
translate([30, -50, -(panel_z/2) - 3]) pcb_mount();
|
||||
}
|
||||
|
||||
ergo_nine_plus_aux_button_panel_with_mount();
|
17
src/panels/inset/ergo-nine-plus-aux-button.scad
Normal file
17
src/panels/inset/ergo-nine-plus-aux-button.scad
Normal file
@ -0,0 +1,17 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: © 2025 Brian S. Stephan <bss@incorporeal.org>
|
||||
* SPDX-License-Identifier: GPL-3.0-or-later
|
||||
*/
|
||||
|
||||
include <parameters.scad>
|
||||
include <components.scad>
|
||||
|
||||
module ergo_nine_plus_aux_button_panel() {
|
||||
difference() {
|
||||
panel();
|
||||
ergo_nine_30mm();
|
||||
translate([89, 30, 0]) button_24mm_hole();
|
||||
}
|
||||
}
|
||||
|
||||
ergo_nine_plus_aux_button_panel();
|
@ -0,0 +1,18 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: © 2025 Brian S. Stephan <bss@incorporeal.org>
|
||||
* SPDX-License-Identifier: GPL-3.0-or-later
|
||||
*/
|
||||
|
||||
include <parameters.scad>
|
||||
include <components.scad>
|
||||
use <lever-and-ergo-wasd-five-panel.scad>
|
||||
|
||||
module lever_and_ergo_wasd_five_panel_with_oled() {
|
||||
difference() {
|
||||
lever_and_ergo_wasd_five_panel();
|
||||
translate([0, -(panel_y/2 - 22), 0]) adafruit_pid_326_oled_ssd1306_mount_cutout();
|
||||
}
|
||||
translate([0, -(panel_y/2 - 22), 0]) adafruit_pid_326_oled_ssd1306_mount();
|
||||
}
|
||||
|
||||
lever_and_ergo_wasd_five_panel_with_oled();
|
18
src/panels/inset/lever-and-ergo-wasd-five-panel.scad
Normal file
18
src/panels/inset/lever-and-ergo-wasd-five-panel.scad
Normal file
@ -0,0 +1,18 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: © 2025 Brian S. Stephan <bss@incorporeal.org>
|
||||
* SPDX-License-Identifier: GPL-3.0-or-later
|
||||
*/
|
||||
|
||||
include <parameters.scad>
|
||||
include <components.scad>
|
||||
|
||||
module lever_and_ergo_wasd_five_panel() {
|
||||
difference() {
|
||||
panel();
|
||||
mirror([1, 0, 0]) ergo_wasd_five_30mm();
|
||||
translate([(-panel_x/2)+55, (panel_y/2)-75, 0]) levermountholes();
|
||||
translate([(-panel_x/2)+55, (panel_y/2)-75, 0]) levermountcountersinks();
|
||||
}
|
||||
}
|
||||
|
||||
lever_and_ergo_wasd_five_panel();
|
Loading…
x
Reference in New Issue
Block a user