zones: matrix: anchor: angle: 5 columns: - name: pinky rotate: -5 origin: [7, -7] - name: ring stagger: 12 - name: middle stagger: 5 - name: index stagger: -6 - name: inner stagger: -2 rows: - name: bottom - name: home - name: top thumbfan: anchor: ref: inner_bottom shift: [-7, -19] columns: - name: near column_wire: ring padding: 21.25 rotate: -28 origin: [9.5, -9] - name: home column_wire: middle padding: 21.25 rotate: -28 origin: [11.75, -9] - name: far column_wire: index 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 outline: top: left: inner_top right: mirror_inner_top bottom: left: far_thumb right: mirror_far_thumb hole: 14 expansion: 5