     (->> (color [20/255 163/255 163/255 1])
          (hull side-cylinder
                (mirror [-1 0 0] side-cylinder))
-         (rotate (/ π 2) [1 0 0])
          (translate [0 (/ teensy-length 2) (- side-radius)])
          (translate [0 0 (- 1)])
          (translate [0 0 (- teensy-offset-height)])
-         (key-place 0 1))))
+         (on-wall-place 1 20))))
+
 
 
 (spit "repl.scad"

(defn key-place [column row shape]
  (let [row-placed-shape (->> shape
                              (translate [0 0 (- row-radius)])
                              (rotate (* α 
                                        (- cornerrow row 1) ; controls front-back tilt
                                      ) [1 0 0])      
                              (translate [0 0 row-radius]))
        column-offset (cond
                        (= column 2) [0 2.82 -4.5]
                        (>= column 4) [0 -5.8 5.64]
                        :else [0 0 0])
        column-angle (* β (- 3 column))                      ; controls left-right tilt / tenting
        placed-shape (->> row-placed-shape
                          (translate [0 0 (- column-radius)])
                          (rotate column-angle [0 1 0])

(def cornerrow (dec lastrow))
(def α (/ π 12))                        ; curvature of the columns
(def β (/ π (if (= nrows 4) 26 36)))    ; curvature of the rows
(def centerrow (- cornerrow 1))         ; controls front-back tilt
(def centercol 3)                       ; controls left-right tilt / tenting


;;;;;;;;;;;;;;;;;
;; Switch Hole ;;
