From 44ac8c6c3c61554511aa0c6564274cde8f61b818 Mon Sep 17 00:00:00 2001 From: Sam Hadow Date: Tue, 24 Mar 2026 21:14:32 +0100 Subject: [PATCH] keycaps generation script --- keycaps.sh | 55 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100755 keycaps.sh diff --git a/keycaps.sh b/keycaps.sh new file mode 100755 index 0000000..b9775e1 --- /dev/null +++ b/keycaps.sh @@ -0,0 +1,55 @@ +#!/bin/bash + +labels=( +"A" "B" "C" "D" "E" "F" "G" "H" "I" "J" "K" "L" "M" "N" "O" "P" "Q" "R" "S" "T" "U" "V" "W" "X" "Y" "Z" +"⬆" "↓" "←" "→" +) +labels2=( +"1 !" "2 @" "3 #" "4 $" "5 %" "6 ^" "7 &" "8 *" "9 (" "0 )" +"\` ~" "- _" "= +" "[ {" "] }" "\\ |" "; :" "' \"" ", <" ". >" "/ ?" +) +labels3=( +"del" "shift" "enter" "alt" "fn" "alt gr" "space" "meta" "ctrl" "esc" "tab" +) + +mkdir -p keycaps_stl + +echo "Starting STL generation..." + +######################################## +# labels, legend_size = 5 +######################################## +for label in "${labels[@]}"; do + echo "Generating: $label.stl" + openscad \ + -o "keycaps_stl/$label.stl" \ + -D "legend_char=\"$label\"" \ + -D "legend_size=5" \ + ./xda_keycap.scad +done + +######################################## +# labels2, legend_size = 4 +######################################## +for label in "${labels2[@]}"; do + echo "Generating: $label.stl" + openscad \ + -o "keycaps_stl/$label.stl" \ + -D "legend_char=\"$label\"" \ + -D "legend_size=4" \ + ./xda_keycap.scad +done + +######################################## +# labels3, legend_size = 3 +######################################## +for label in "${labels3[@]}"; do + echo "Generating: $label.stl" + openscad \ + -o "keycaps_stl/$label.stl" \ + -D "legend_char=\"$label\"" \ + -D "legend_size=3" \ + ./xda_keycap.scad +done + +echo "Done! Check the 'keycaps_stl' folder."