zones: matrix: anchor: angle: 5 columns: - name: pinky rotate: -5 origin: [7, -7] rows: - bind_x: - bind_x: right - bind_x: right - name: ring stagger: 12 rows: - bind_x: left - bind_x: right - bind_x: right - name: middle stagger: 5 rows: - bind_x: both - bind_x: both - bind_x: - name: index stagger: -6 rows: - bind_x: right - bind_x: left - bind_x: left - name: inner stagger: -2 rows: - bind_x: - bind_x: left - bind_x: left rows: - name: bottom bind_y: up - name: home bind_y: up - 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] rows: - bind_x: right - name: home column_wire: middle padding: 21.25 rotate: -28 origin: [11.75, -9] rows: - bind_x: both - name: far column_wire: index rows: - bind_x: left rows: - name: thumb bind_y: up 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: footprint: 18 bind: 10 corner: 0.5 glue: top: left: key: inner_top line: top right: key: mirror_inner_top line: top bottom: left: key: far_thumb line: right right: key: mirror_far_thumb line: left waypoints: - percent: 50 width: 100 - percent: 90 width: 50