zones: matrix: anchor: angle: 5 columns: - name: pinky rotate: -5 origin: [7, -10] - name: ring stagger: 12 - name: middle stagger: 5 - name: index stagger: -6 padding: 16 - name: inner stagger: -2 rows: - name: bottom padding: 16 - name: home padding: 16 - name: top thumbfan: anchor: ref: inner_bottom shift: [-4, -22] columns: - name: wrong_near padding: 21.25 rotate: -28 origin: [9.5, -9] skip: yes - name: home column_wire: middle rotate: -28 origin: [9.5, -9] - name: far column_wire: index rows: - name: thumb thumbfan_reverse_pass: anchor: ref: home_thumb reverse: yes columns: - name: home_again rotate: 28 origin: [-9.5, -9] skip: yes - name: near padding: 16 column_wire: ring rows: - name: thumb angle: -20 mirror: ref: pinky_home # The mk1's origin was the bottom left corner of the bottom pinky key. # But it later got rotated by the bottom *right* corner as the pinky angle # and then rotated again for the inter-half angle so [0, 0] was nowhere on # the actual result. # # Since the new origin is the center of the pinky home, we have to convert # the old, round 250 width to this new coordinate system if we want backward # compatibility. The following snippet was used to arrive at this distance. # # old_origin = new Point(7, 7 + 19) # old_origin.rotate(5, [14, 0]) # old_origin.rotate(-20, [0, 0]) # new_width = 250 - (2 * old_origin.x) distance: 223.7529778