seveibar/keyboard-default60

A tscircuit package created by seveibar.

Usage: To import and use the "@tsci/seveibar.keyboard-default60" package: 1. Import the component: ```tsx import { default60 } from "@tsci/seveibar.keyboard-default60" ``` 2. Use in a tscircuit board: ```tsx <board> <KeyMatrix layout={default60} colToMicroPin={[/* column pins */]} rowToMicroPin={[/* row pins */]} /> </board> ``` The package provides a keyboard layout array (`default60`) that can be used with the `KeyMatrix` component from the keyboard utilities package.

Version
1.0.5
License
unset
Stars
5

dist/index.esm.js

PCBPCB preview for dist/index.esm.js
SchematicSchematic preview for dist/index.esm.js
import React$1 from 'react';
import { createUseComponent } from '@tscircuit/core';

// biome-ignore lint: This file contains keyboard layout data
const default60 = [["~\n`", "!\n1", "@\n2", "#\n3", "$\n4", "%\n5", "^\n6", "&\n7", "*\n8", "(\n9", ")\n0", "_\n-", "+\n=", {
  w: 2
}, "Backspace"], [{
  w: 1.5
}, "Tab", "Q", "W", "E", "R", "T", "Y", "U", "I", "O", "P", "{\n[", "}\n]", {
  w: 1.5
}, "|\n\\"], [{
  w: 1.75
}, "Caps Lock", "A", "S", "D", "F", "G", "H", "J", "K", "L", ":\n;", "\"\n'", {
  w: 2.25
}, "Enter"], [{
  w: 2.25
}, "Shift", "Z", "X", "C", "V", "B", "N", "M", "<\n,", ">\n.", "?\n/", {
  w: 2.75
}, "Shift"], [{
  w: 1.25
}, "Ctrl", {
  w: 1.25
}, "Win", {
  w: 1.25
}, "Alt", {
  a: 7,
  w: 6.25
}, "", {
  a: 4,
  w: 1.25
}, "Alt", {
  w: 1.25
}, "Win", {
  w: 1.25
}, "Menu", {
  w: 1.25
}, "Ctrl"]];

function _extends$3() { return _extends$3 = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends$3.apply(null, arguments); }
const pinLabels$3 = {
  pin1: ["GP0", "UART0_TX", "I2C0_SDA", "SPI0_RX"],
  pin2: ["GP1", "UART0_RX", "I2C0_SCL", "SPI0_CSn"],
  pin3: ["GND1"],
  pin4: ["GP2", "I2C1_SDA", "SPI0_SCK"],
  pin5: ["GP3", "I2C1_SCL", "SPI0_TX"],
  pin6: ["GP4", "UART1_TX", "I2C0_SDA", "SPI0_RX"],
  pin7: ["GP5", "UART1_RX", "I2C0_SCL", "SPI0_CSn"],
  pin8: ["GND2"],
  pin9: ["GP6", "I2C1_SDA", "SPI0_SCK"],
  pin10: ["GP7", "I2C1_SCL", "SPI0_TX"],
  pin11: ["GP8", "UART1_TX", "I2C0_SDA", "SPI1_RX"],
  pin12: ["GP9", "UART1_RX", "I2C0_SCL", "SPI1_CSn"],
  pin13: ["GND3"],
  pin14: ["GP10", "I2C1_SDA", "SPI1_SCK"],
  pin15: ["GP11", "I2C1_SCL", "SPI1_TX"],
  pin16: ["GP12", "UART0_TX", "I2C0_SDA", "SPI1_RX"],
  pin17: ["GP13", "UART0_RX", "I2C0_SCL", "SPI1_CSn"],
  pin18: ["GND4"],
  pin19: ["GP14", "I2C1_SDA", "SPI1_SCK"],
  pin20: ["GP15", "I2C1_SCL", "SPI1_TX"],
  pin21: ["GP16", "SPI0_RX", "I2C0_SDA", "UART0_TX"],
  pin22: ["GP17", "SPI0_CSn", "I2C0_SCL", "UART0_RX"],
  pin23: ["GND5"],
  pin24: ["GP18", "SPI0_SCK", "I2C1_SDA"],
  pin25: ["GP19", "SPI0_TX", "I2C1_SCL"],
  pin26: ["GP20", "I2C0_SDA"],
  pin27: ["GP21", "I2C0_SCL"],
  pin28: ["GND6"],
  pin29: ["GP22"],
  pin30: ["RUN"],
  pin31: ["GP26", "ADC0", "I2C1_SDA"],
  pin32: ["GP27", "ADC1", "I2C1_SCL"],
  pin33: ["GND7", "AGND"],
  pin34: ["GP28", "ADC2"],
  pin35: ["ADC_VREF"],
  pin36: ["3V3_OUT"],
  pin37: ["3V3_EN"],
  pin38: ["GND8"],
  pin39: ["VSYS"],
  pin40: ["VBUS"],
  pin41: ["SWCLK"],
  pin42: ["GND9"],
  pin43: ["SWDIO"],
  pin44: ["TP1"],
  pin45: ["TP2"],
  pin46: ["TP3"],
  pin47: ["TP4"],
  pin48: ["TP5"],
  pin49: ["TP6"]
};
const PICO = props => {
  return /*#__PURE__*/React.createElement("chip", _extends$3({
    pinLabels: pinLabels$3,
    supplierPartNumbers: {
      "jlcpcb": ["C7203002"]
    },
    schWidth: 2,
    manufacturerPartNumber: "PICO",
    footprint: /*#__PURE__*/React.createElement("footprint", null, /*#__PURE__*/React.createElement("smtpad", {
      portHints: ["pin21"],
      pcbX: "23.3898757500001mm",
      pcbY: "10.087356mm",
      width: "1.5999967999999998mm",
      height: "3.1999935999999995mm",
      shape: "rect"
    }), /*#__PURE__*/React.createElement("smtpad", {
      portHints: ["pin20"],
      pcbX: "23.3898757500001mm",
      pcbY: "-10.087355999999886mm",
      width: "1.5999967999999998mm",
      height: "3.1999935999999995mm",
      shape: "rect"
    }), /*#__PURE__*/React.createElement("smtpad", {
      portHints: ["pin22"],
      pcbX: "20.849875750000024mm",
      pcbY: "10.087356mm",
      width: "1.5999967999999998mm",
      height: "3.1999935999999995mm",
      shape: "rect"
    }), /*#__PURE__*/React.createElement("smtpad", {
      portHints: ["pin19"],
      pcbX: "20.849875750000024mm",
      pcbY: "-10.087355999999886mm",
      width: "1.5999967999999998mm",
      height: "3.1999935999999995mm",
      shape: "rect"
    }), /*#__PURE__*/React.createElement("smtpad", {
      portHints: ["pin23"],
      pcbX: "18.30987575000006mm",
      pcbY: "10.087356mm",
      width: "1.5999967999999998mm",
      height: "3.1999935999999995mm",
      shape: "rect"
    }), /*#__PURE__*/React.createElement("smtpad", {
      portHints: ["pin18"],
      pcbX: "18.30987575000006mm",
      pcbY: "-10.087355999999886mm",
      width: "1.5999967999999998mm",
      height: "3.1999935999999995mm",
      shape: "rect"
    }), /*#__PURE__*/React.createElement("smtpad", {
      portHints: ["pin24"],
      pcbX: "15.769875750000097mm",
      pcbY: "10.087356mm",
      width: "1.5999967999999998mm",
      height: "3.1999935999999995mm",
      shape: "rect"
    }), /*#__PURE__*/React.createElement("smtpad", {
      portHints: ["pin17"],
      pcbX: "15.769875750000097mm",
      pcbY: "-10.087355999999886mm",
      width: "1.5999967999999998mm",
      height: "3.1999935999999995mm",
      shape: "rect"
    }), /*#__PURE__*/React.createElement("smtpad", {
      portHints: ["pin25"],
      pcbX: "13.22987575000002mm",
      pcbY: "10.087356mm",
      width: "1.5999967999999998mm",
      height: "3.1999935999999995mm",
      shape: "rect"
    }), /*#__PURE__*/React.createElement("smtpad", {
      portHints: ["pin16"],
      pcbX: "13.22987575000002mm",
      pcbY: "-10.087355999999886mm",
      width: "1.5999967999999998mm",
      height: "3.1999935999999995mm",
      shape: "rect"
    }), /*#__PURE__*/React.createElement("smtpad", {
      portHints: ["pin26"],
      pcbX: "10.689875750000056mm",
      pcbY: "10.087356mm",
      width: "1.5999967999999998mm",
      height: "3.1999935999999995mm",
      shape: "rect"
    }), /*#__PURE__*/React.createElement("smtpad", {
      portHints: ["pin15"],
      pcbX: "10.689875750000056mm",
      pcbY: "-10.087355999999886mm",
      width: "1.5999967999999998mm",
      height: "3.1999935999999995mm",
      shape: "rect"
    }), /*#__PURE__*/React.createElement("smtpad", {
      portHints: ["pin27"],
      pcbX: "8.149875750000092mm",
      pcbY: "10.087356mm",
      width: "1.5999967999999998mm",
      height: "3.1999935999999995mm",
      shape: "rect"
    }), /*#__PURE__*/React.createElement("smtpad", {
      portHints: ["pin14"],
      pcbX: "8.149875750000092mm",
      pcbY: "-10.087355999999886mm",
      width: "1.5999967999999998mm",
      height: "3.1999935999999995mm",
      shape: "rect"
    }), /*#__PURE__*/React.createElement("smtpad", {
      portHints: ["pin28"],
      pcbX: "5.609875750000015mm",
      pcbY: "10.087356mm",
      width: "1.5999967999999998mm",
      height: "3.1999935999999995mm",
      shape: "rect"
    }), /*#__PURE__*/React.createElement("smtpad", {
      portHints: ["pin13"],
      pcbX: "5.609875750000015mm",
      pcbY: "-10.087355999999886mm",
      width: "1.5999967999999998mm",
      height: "3.1999935999999995mm",
      shape: "rect"
    }), /*#__PURE__*/React.createElement("smtpad", {
      portHints: ["pin29"],
      pcbX: "3.069875750000051mm",
      pcbY: "10.087356mm",
      width: "1.5999967999999998mm",
      height: "3.1999935999999995mm",
      shape: "rect"
    }), /*#__PURE__*/React.createElement("smtpad", {
      portHints: ["pin12"],
      pcbX: "3.069875750000051mm",
      pcbY: "-10.087355999999886mm",
      width: "1.5999967999999998mm",
      height: "3.1999935999999995mm",
      shape: "rect"
    }), /*#__PURE__*/React.createElement("smtpad", {
      portHints: ["pin30"],
      pcbX: "0.5298757500000875mm",
      pcbY: "10.087356mm",
      width: "1.5999967999999998mm",
      height: "3.1999935999999995mm",
      shape: "rect"
    }), /*#__PURE__*/React.createElement("smtpad", {
      portHints: ["pin11"],
      pcbX: "0.5298757500000875mm",
      pcbY: "-10.087355999999886mm",
      width: "1.5999967999999998mm",
      height: "3.1999935999999995mm",
      shape: "rect"
    }), /*#__PURE__*/React.createElement("smtpad", {
      portHints: ["pin31"],
      pcbX: "-2.01012424999999mm",
      pcbY: "10.087356mm",
      width: "1.5999967999999998mm",
      height: "3.1999935999999995mm",
      shape: "rect"
    }), /*#__PURE__*/React.createElement("smtpad", {
      portHints: ["pin10"],
      pcbX: "-2.01012424999999mm",
      pcbY: "-10.087355999999886mm",
      width: "1.5999967999999998mm",
      height: "3.1999935999999995mm",
      shape: "rect"
    }), /*#__PURE__*/React.createElement("smtpad", {
      portHints: ["pin32"],
      pcbX: "-4.5501242499999535mm",
      pcbY: "10.087356mm",
      width: "1.5999967999999998mm",
      height: "3.1999935999999995mm",
      shape: "rect"
    }), /*#__PURE__*/React.createElement("smtpad", {
      portHints: ["pin9"],
      pcbX: "-4.5501242499999535mm",
      pcbY: "-10.087355999999886mm",
      width: "1.5999967999999998mm",
      height: "3.1999935999999995mm",
      shape: "rect"
    }), /*#__PURE__*/React.createElement("smtpad", {
      portHints: ["pin33"],
      pcbX: "-7.090124249999917mm",
      pcbY: "10.087356mm",
      width: "1.5999967999999998mm",
      height: "3.1999935999999995mm",
      shape: "rect"
    }), /*#__PURE__*/React.createElement("smtpad", {
      portHints: ["pin8"],
      pcbX: "-7.090124249999917mm",
      pcbY: "-10.087355999999886mm",
      width: "1.5999967999999998mm",
      height: "3.1999935999999995mm",
      shape: "rect"
    }), /*#__PURE__*/React.createElement("smtpad", {
      portHints: ["pin34"],
      pcbX: "-9.630124249999994mm",
      pcbY: "10.087356mm",
      width: "1.5999967999999998mm",
      height: "3.1999935999999995mm",
      shape: "rect"
    }), /*#__PURE__*/React.createElement("smtpad", {
      portHints: ["pin7"],
      pcbX: "-9.630124249999994mm",
      pcbY: "-10.087355999999886mm",
      width: "1.5999967999999998mm",
      height: "3.1999935999999995mm",
      shape: "rect"
    }), /*#__PURE__*/React.createElement("smtpad", {
      portHints: ["pin35"],
      pcbX: "-12.170124249999958mm",
      pcbY: "10.087356mm",
      width: "1.5999967999999998mm",
      height: "3.1999935999999995mm",
      shape: "rect"
    }), /*#__PURE__*/React.createElement("smtpad", {
      portHints: ["pin6"],
      pcbX: "-12.170124249999958mm",
      pcbY: "-10.087355999999886mm",
      width: "1.5999967999999998mm",
      height: "3.1999935999999995mm",
      shape: "rect"
    }), /*#__PURE__*/React.createElement("smtpad", {
      portHints: ["pin36"],
      pcbX: "-14.710124249999922mm",
      pcbY: "10.087356mm",
      width: "1.5999967999999998mm",
      height: "3.1999935999999995mm",
      shape: "rect"
    }), /*#__PURE__*/React.createElement("smtpad", {
      portHints: ["pin5"],
      pcbX: "-14.710124249999922mm",
      pcbY: "-10.087355999999886mm",
      width: "1.5999967999999998mm",
      height: "3.1999935999999995mm",
      shape: "rect"
    }), /*#__PURE__*/React.createElement("smtpad", {
      portHints: ["pin37"],
      pcbX: "-17.25012425mm",
      pcbY: "10.087356mm",
      width: "1.5999967999999998mm",
      height: "3.1999935999999995mm",
      shape: "rect"
    }), /*#__PURE__*/React.createElement("smtpad", {
      portHints: ["pin4"],
      pcbX: "-17.25012425mm",
      pcbY: "-10.087355999999886mm",
      width: "1.5999967999999998mm",
      height: "3.1999935999999995mm",
      shape: "rect"
    }), /*#__PURE__*/React.createElement("smtpad", {
      portHints: ["pin38"],
      pcbX: "-19.790124249999963mm",
      pcbY: "10.087356mm",
      width: "1.5999967999999998mm",
      height: "3.1999935999999995mm",
      shape: "rect"
    }), /*#__PURE__*/React.createElement("smtpad", {
      portHints: ["pin3"],
      pcbX: "-19.790124249999963mm",
      pcbY: "-10.087355999999886mm",
      width: "1.5999967999999998mm",
      height: "3.1999935999999995mm",
      shape: "rect"
    }), /*#__PURE__*/React.createElement("smtpad", {
      portHints: ["pin39"],
      pcbX: "-22.330124249999926mm",
      pcbY: "10.087356mm",
      width: "1.5999967999999998mm",
      height: "3.1999935999999995mm",
      shape: "rect"
    }), /*#__PURE__*/React.createElement("smtpad", {
      portHints: ["pin2"],
      pcbX: "-22.330124249999926mm",
      pcbY: "-10.087355999999886mm",
      width: "1.5999967999999998mm",
      height: "3.1999935999999995mm",
      shape: "rect"
    }), /*#__PURE__*/React.createElement("smtpad", {
      portHints: ["pin40"],
      pcbX: "-24.870124250000003mm",
      pcbY: "10.087356mm",
      width: "1.5999967999999998mm",
      height: "3.1999935999999995mm",
      shape: "rect"
    }), /*#__PURE__*/React.createElement("smtpad", {
      portHints: ["pin1"],
      pcbX: "-24.870124250000003mm",
      pcbY: "-10.087355999999886mm",
      width: "1.5999967999999998mm",
      height: "3.1999935999999995mm",
      shape: "rect"
    }), /*#__PURE__*/React.createElement("smtpad", {
      portHints: ["pin41"],
      pcbX: "24.18997575000003mm",
      pcbY: "-2.5399999999999636mm",
      width: "3.1999935999999995mm",
      height: "1.5999967999999998mm",
      shape: "rect"
    }), /*#__PURE__*/React.createElement("smtpad", {
      portHints: ["pin42"],
      pcbX: "24.18997575000003mm",
      pcbY: "1.1368683772161603e-13mm",
      width: "3.1999935999999995mm",
      height: "1.5999967999999998mm",
      shape: "rect"
    }), /*#__PURE__*/React.createElement("smtpad", {
      portHints: ["pin43"],
      pcbX: "24.18997575000003mm",
      pcbY: "2.5400000000000773mm",
      width: "3.1999935999999995mm",
      height: "1.5999967999999998mm",
      shape: "rect"
    }), /*#__PURE__*/React.createElement("smtpad", {
      portHints: ["pin44"],
      pcbX: "-21.739980649999893mm",
      pcbY: "-0.00005079999993995443mm",
      width: "1.499997mm",
      height: "1.499997mm",
      shape: "rect"
    }), /*#__PURE__*/React.createElement("smtpad", {
      portHints: ["pin45"],
      pcbX: "-25.039974049999955mm",
      pcbY: "0.999998000000005mm",
      width: "1.499997mm",
      height: "1.499997mm",
      shape: "rect"
    }), /*#__PURE__*/React.createElement("smtpad", {
      portHints: ["pin46"],
      pcbX: "-25.039974049999955mm",
      pcbY: "-0.9999979999998914mm",
      width: "1.499997mm",
      height: "1.499997mm",
      shape: "rect"
    }), /*#__PURE__*/React.createElement("smtpad", {
      portHints: ["pin47"],
      pcbX: "-18.239987649999875mm",
      pcbY: "-2.4999950000000126mm",
      width: "1.499997mm",
      height: "1.499997mm",
      shape: "rect"
    }), /*#__PURE__*/React.createElement("smtpad", {
      portHints: ["pin48"],
      pcbX: "-15.612967249999883mm",
      pcbY: "-2.4999950000000126mm",
      width: "1.499997mm",
      height: "1.499997mm",
      shape: "rect"
    }), /*#__PURE__*/React.createElement("smtpad", {
      portHints: ["pin49"],
      pcbX: "-13.239997649999964mm",
      pcbY: "-2.4999950000000126mm",
      width: "1.499997mm",
      height: "1.499997mm",
      shape: "rect"
    }), /*#__PURE__*/React.createElement("silkscreenpath", {
      route: [{
        "x": 24.4210903500001,
        "y": -10.49997899999994
      }, {
        "x": 24.759926350000114,
        "y": -10.49997899999994
      }, {
        "x": 24.759926350000114,
        "y": -3.571163800000022
      }]
    }), /*#__PURE__*/React.createElement("silkscreenpath", {
      route: [{
        "x": 24.759926350000114,
        "y": 3.5710368000000017
      }, {
        "x": 24.759926350000114,
        "y": 10.499979000000053
      }, {
        "x": 24.4210903500001,
        "y": 10.499979000000053
      }]
    }), /*#__PURE__*/React.createElement("silkscreenpath", {
      route: [{
        "x": 24.759926350000114,
        "y": 1.0310368000001517
      }, {
        "x": 24.759926350000114,
        "y": 1.5088362000001325
      }]
    }), /*#__PURE__*/React.createElement("silkscreenpath", {
      route: [{
        "x": 24.759926350000114,
        "y": -1.5089631999999256
      }, {
        "x": 24.759926350000114,
        "y": -1.0311637999999448
      }]
    }), /*#__PURE__*/React.createElement("silkscreenpath", {
      route: [{
        "x": -25.901059449999934,
        "y": 10.499852000000033
      }, {
        "x": -26.23981924999987,
        "y": 10.499852000000033
      }]
    }), /*#__PURE__*/React.createElement("silkscreenpath", {
      route: [{
        "x": -26.239997049999943,
        "y": 10.499979000000053
      }, {
        "x": -26.239997049999943,
        "y": -10.49997899999994
      }, {
        "x": -25.901161049999814,
        "y": -10.49997899999994
      }]
    }), /*#__PURE__*/React.createElement("silkscreenpath", {
      route: [{
        "x": -27.539842049999834,
        "y": 3.999534799999992
      }, {
        "x": -27.139665049999962,
        "y": 3.999534799999992
      }, {
        "x": -27.139665049999962,
        "y": -4.000347599999941
      }, {
        "x": -27.539842049999834,
        "y": -4.000347599999941
      }]
    }), /*#__PURE__*/React.createElement("silkscreenpath", {
      route: [{
        "x": -27.139665049999962,
        "y": -3.8090347999998357
      }, {
        "x": -26.26529544999994,
        "y": -3.8090347999998357
      }, {
        "x": -26.23981924999987,
        "y": -3.834460199999967
      }]
    }), /*#__PURE__*/React.createElement("silkscreenpath", {
      route: [{
        "x": -27.139665049999962,
        "y": 3.802405399999998
      }, {
        "x": -26.23981924999987,
        "y": 3.802405399999998
      }]
    }), /*#__PURE__*/React.createElement("silkscreenpath", {
      route: [{
        "x": -27.539842049999834,
        "y": 3.999534799999992
      }, {
        "x": -27.539842049999834,
        "y": -4.000347599999941
      }]
    }), /*#__PURE__*/React.createElement("silkscreenpath", {
      route: [{
        "x": -23.361161049999964,
        "y": 10.499979000000053
      }, {
        "x": -23.838909649999778,
        "y": 10.499979000000053
      }]
    }), /*#__PURE__*/React.createElement("silkscreenpath", {
      route: [{
        "x": -20.821161049999887,
        "y": 10.499979000000053
      }, {
        "x": -21.298909649999928,
        "y": 10.499979000000053
      }]
    }), /*#__PURE__*/React.createElement("silkscreenpath", {
      route: [{
        "x": -18.28116104999981,
        "y": 10.499979000000053
      }, {
        "x": -18.75890964999985,
        "y": 10.499979000000053
      }]
    }), /*#__PURE__*/React.createElement("silkscreenpath", {
      route: [{
        "x": -15.74116104999996,
        "y": 10.499979000000053
      }, {
        "x": -16.218909649999887,
        "y": 10.499979000000053
      }]
    }), /*#__PURE__*/React.createElement("silkscreenpath", {
      route: [{
        "x": -13.201161049999882,
        "y": 10.499979000000053
      }, {
        "x": -13.678909649999923,
        "y": 10.499979000000053
      }]
    }), /*#__PURE__*/React.createElement("silkscreenpath", {
      route: [{
        "x": -10.661161049999805,
        "y": 10.499979000000053
      }, {
        "x": -11.138909649999846,
        "y": 10.499979000000053
      }]
    }), /*#__PURE__*/React.createElement("silkscreenpath", {
      route: [{
        "x": -8.121161049999955,
        "y": 10.499979000000053
      }, {
        "x": -8.598909649999996,
        "y": 10.499979000000053
      }]
    }), /*#__PURE__*/React.createElement("silkscreenpath", {
      route: [{
        "x": -5.581161049999878,
        "y": 10.499979000000053
      }, {
        "x": -6.058909649999919,
        "y": 10.499979000000053
      }]
    }), /*#__PURE__*/React.createElement("silkscreenpath", {
      route: [{
        "x": -3.0411610499998005,
        "y": 10.499979000000053
      }, {
        "x": -3.5189096499998413,
        "y": 10.499979000000053
      }]
    }), /*#__PURE__*/React.createElement("silkscreenpath", {
      route: [{
        "x": -0.5011610499999506,
        "y": 10.499979000000053
      }, {
        "x": -0.9789096499999914,
        "y": 10.499979000000053
      }]
    }), /*#__PURE__*/React.createElement("silkscreenpath", {
      route: [{
        "x": 2.0388389500001267,
        "y": 10.499979000000053
      }, {
        "x": 1.561090350000086,
        "y": 10.499979000000053
      }]
    }), /*#__PURE__*/React.createElement("silkscreenpath", {
      route: [{
        "x": 4.578838950000204,
        "y": 10.499979000000053
      }, {
        "x": 4.101090350000163,
        "y": 10.499979000000053
      }]
    }), /*#__PURE__*/React.createElement("silkscreenpath", {
      route: [{
        "x": 7.118838950000054,
        "y": 10.499979000000053
      }, {
        "x": 6.641090350000013,
        "y": 10.499979000000053
      }]
    }), /*#__PURE__*/React.createElement("silkscreenpath", {
      route: [{
        "x": 9.658838950000131,
        "y": 10.499979000000053
      }, {
        "x": 9.18109035000009,
        "y": 10.499979000000053
      }]
    }), /*#__PURE__*/React.createElement("silkscreenpath", {
      route: [{
        "x": 12.198838950000209,
        "y": 10.499979000000053
      }, {
        "x": 11.721090350000168,
        "y": 10.499979000000053
      }]
    }), /*#__PURE__*/React.createElement("silkscreenpath", {
      route: [{
        "x": 14.738838950000059,
        "y": 10.499979000000053
      }, {
        "x": 14.261090350000018,
        "y": 10.499979000000053
      }]
    }), /*#__PURE__*/React.createElement("silkscreenpath", {
      route: [{
        "x": 17.278838950000136,
        "y": 10.499979000000053
      }, {
        "x": 16.801090350000095,
        "y": 10.499979000000053
      }]
    }), /*#__PURE__*/React.createElement("silkscreenpath", {
      route: [{
        "x": 19.818838950000213,
        "y": 10.499979000000053
      }, {
        "x": 19.341090350000172,
        "y": 10.499979000000053
      }]
    }), /*#__PURE__*/React.createElement("silkscreenpath", {
      route: [{
        "x": 22.358838950000063,
        "y": 10.499979000000053
      }, {
        "x": 21.881090350000022,
        "y": 10.499979000000053
      }]
    }), /*#__PURE__*/React.createElement("silkscreenpath", {
      route: [{
        "x": 21.881090350000022,
        "y": -10.49997899999994
      }, {
        "x": 22.358838950000063,
        "y": -10.49997899999994
      }]
    }), /*#__PURE__*/React.createElement("silkscreenpath", {
      route: [{
        "x": 19.341090350000172,
        "y": -10.49997899999994
      }, {
        "x": 19.818838950000213,
        "y": -10.49997899999994
      }]
    }), /*#__PURE__*/React.createElement("silkscreenpath", {
      route: [{
        "x": 16.801090350000095,
        "y": -10.49997899999994
      }, {
        "x": 17.278838950000136,
        "y": -10.49997899999994
      }]
    }), /*#__PURE__*/React.createElement("silkscreenpath", {
      route: [{
        "x": 14.261090350000018,
        "y": -10.49997899999994
      }, {
        "x": 14.738838950000059,
        "y": -10.49997899999994
      }]
    }), /*#__PURE__*/React.createElement("silkscreenpath", {
      route: [{
        "x": 11.721090350000168,
        "y": -10.49997899999994
      }, {
        "x": 12.198838950000209,
        "y": -10.49997899999994
      }]
    }), /*#__PURE__*/React.createElement("silkscreenpath", {
      route: [{
        "x": 9.18109035000009,
        "y": -10.49997899999994
      }, {
        "x": 9.658838950000131,
        "y": -10.49997899999994
      }]
    }), /*#__PURE__*/React.createElement("silkscreenpath", {
      route: [{
        "x": 6.641090350000013,
        "y": -10.49997899999994
      }, {
        "x": 7.118838950000054,
        "y": -10.49997899999994
      }]
    }), /*#__PURE__*/React.createElement("silkscreenpath", {
      route: [{
        "x": 4.101090350000163,
        "y": -10.49997899999994
      }, {
        "x": 4.578838950000204,
        "y": -10.49997899999994
      }]
    }), /*#__PURE__*/React.createElement("silkscreenpath", {
      route: [{
        "x": 1.561090350000086,
        "y": -10.49997899999994
      }, {
        "x": 2.0388389500001267,
        "y": -10.49997899999994
      }]
    }), /*#__PURE__*/React.createElement("silkscreenpath", {
      route: [{
        "x": -0.9789096499999914,
        "y": -10.49997899999994
      }, {
        "x": -0.5011610499999506,
        "y": -10.49997899999994
      }]
    }), /*#__PURE__*/React.createElement("silkscreenpath", {
      route: [{
        "x": -3.5189096499998413,
        "y": -10.49997899999994
      }, {
        "x": -3.0411610499998005,
        "y": -10.49997899999994
      }]
    }), /*#__PURE__*/React.createElement("silkscreenpath", {
      route: [{
        "x": -6.058909649999919,
        "y": -10.49997899999994
      }, {
        "x": -5.581161049999878,
        "y": -10.49997899999994
      }]
    }), /*#__PURE__*/React.createElement("silkscreenpath", {
      route: [{
        "x": -8.598909649999996,
        "y": -10.49997899999994
      }, {
        "x": -8.121161049999955,
        "y": -10.49997899999994
      }]
    }), /*#__PURE__*/React.createElement("silkscreenpath", {
      route: [{
        "x": -11.138909649999846,
        "y": -10.49997899999994
      }, {
        "x": -10.661161049999805,
        "y": -10.49997899999994
      }]
    }), /*#__PURE__*/React.createElement("silkscreenpath", {
      route: [{
        "x": -13.678909649999923,
        "y": -10.49997899999994
      }, {
        "x": -13.201161049999882,
        "y": -10.49997899999994
      }]
    }), /*#__PURE__*/React.createElement("silkscreenpath", {
      route: [{
        "x": -16.218909649999887,
        "y": -10.49997899999994
      }, {
        "x": -15.74116104999996,
        "y": -10.49997899999994
      }]
    }), /*#__PURE__*/React.createElement("silkscreenpath", {
      route: [{
        "x": -18.75890964999985,
        "y": -10.49997899999994
      }, {
        "x": -18.28116104999981,
        "y": -10.49997899999994
      }]
    }), /*#__PURE__*/React.createElement("silkscreenpath", {
      route: [{
        "x": -21.298909649999928,
        "y": -10.49997899999994
      }, {
        "x": -20.821161049999887,
        "y": -10.49997899999994
      }]
    }), /*#__PURE__*/React.createElement("silkscreenpath", {
      route: [{
        "x": -23.838909649999778,
        "y": -10.49997899999994
      }, {
        "x": -23.361161049999964,
        "y": -10.49997899999994
      }]
    }))
  }, props));
};

const refDesMap = {
  "~": "K_TILDE",
  "~`": "K_TILDE",
  "!": "K_EXCLAMATION",
  "@": "K_AT",
  "#": "K_HASH",
  $: "K_DOLLAR",
  "%": "K_PERCENT",
  "^": "K_CARET",
  "&": "K_AMPERSAND",
  "*": "K_ASTERISK",
  "(": "K_LPAREN",
  ")": "K_RPAREN",
  "{": "K_LBRACE",
  "}": "K_RBRACE",
  "|": "K_PIPE",
  "[": "K_LSQBRAK",
  "]": "K_RSQBRAK",
  '"': "K_QUOTE",
  "'": "K_SINGLEQUOTE",
  "<": "K_LT",
  ">": "K_GT",
  "?": "K_QUESTION",
  "/": "K_SLASH",
  windows: "K_WINDOWS",
  win: "K_WINDOWS",
  menu: "K_MENU",
  "caps lock": "K_CAPSLOCK",
  ":": "K_COLON",
  ";": "K_SEMICOLON",
  "1": "K_N1",
  "2": "K_N2",
  "3": "K_N3",
  "4": "K_N4",
  "5": "K_N5",
  "6": "K_N6",
  "7": "K_N7",
  "8": "K_N8",
  "9": "K_N9",
  "0": "K_N0",
  "-": "K_MINUS",
  "+": "K_PLUS",
  backspace: "K_BACKSPACE",
  tab: "K_TAB",
  " ": "K_SPACE",
  enter: "K_ENTER",
  shift: "K_SHIFT",
  ctrl: "K_CTRL",
  alt: "K_ALT",
  escape: "K_ESCAPE",
  arrowleft: "K_ARROW_LEFT",
  arrowright: "K_ARROW_RIGHT",
  arrowup: "K_ARROW_UP",
  arrowdown: "K_ARROW_DOWN",
  backquote: "K_BACKQUOTE",
  quote: "K_QUOTE",
  semicolon: "K_SEMICOLON",
  comma: "K_COMMA",
  period: "K_PERIOD",
  slash: "K_SLASH",
  backslash: "K_BACKSLASH",
  bracketleft: "K_BRACKET_LEFT",
  bracketright: "K_BRACKET_RIGHT",
  a: "K_A",
  b: "K_B",
  c: "K_C",
  d: "K_D",
  e: "K_E",
  f: "K_F",
  g: "K_G",
  h: "K_H",
  i: "K_I",
  j: "K_J",
  k: "K_K",
  l: "K_L",
  m: "K_M",
  n: "K_N",
  o: "K_O",
  p: "K_P",
  q: "K_Q",
  r: "K_R",
  s: "K_S",
  t: "K_T",
  u: "K_U",
  v: "K_V",
  w: "K_W",
  x: "K_X",
  y: "K_Y",
  z: "K_Z"
};
const getRefDesForKey = key => {
  const normKeyLabels = key.toLowerCase().split("\n");
  for (const normKeyLabel of normKeyLabels) {
    if (normKeyLabel in refDesMap) {
      return refDesMap[normKeyLabel];
    }
  }
  if (key === "") {
    return "K_SPACE";
  }
  if (key.match(/^[a-zA-Z0-9]+$/)) {
    return `K_${key.toUpperCase()}`;
  }
  throw new Error(`No defined refDes for key "${key}"`);
};

// Define the types for keyboard-layout-editor.com JSON format

// Helper function to parse keyboard-layout-editor JSON

const parseKLELayout = layout => {
  // Default key size in millimeters
  const KEY_SIZE = 19.05; // Standard keycap size (19.05mm or 0.75 inches)
  const keys = [];
  let currentX = 0;
  let currentY = 0;
  let currentRotation = 0;
  let currentRotationX = 0;
  let currentRotationY = 0;

  // Default properties for keys
  let currentProps = {
    width: 1,
    height: 1,
    x: 0,
    y: 0,
    align: undefined
  };
  const nameCounters = new Map();
  layout.forEach((row, rowIndex) => {
    currentX = 0;
    let colIndex = 0;

    // Process each item in the row
    row.forEach(item => {
      // If it's an object, it's a key with special properties
      if (typeof item === "object") {
        // Update current properties based on the item
        if (item.x !== undefined) currentX += item.x;
        if (item.y !== undefined) currentY += item.y;
        if (item.w !== undefined) currentProps.width = item.w;
        if (item.h !== undefined) currentProps.height = item.h;
        if (item.r !== undefined) currentRotation = item.r;
        if (item.rx !== undefined) currentRotationX = item.rx;
        if (item.ry !== undefined) currentRotationY = item.ry;
        if (item.a !== undefined) currentProps.align = item.a;
      }

      // If it's a string, it's a key label
      else if (typeof item === "string") {
        let refDes = getRefDesForKey(item);
        if (nameCounters.has(refDes)) {
          // Edit the original item to include the counter (if it doesn't have it)
          const ogKey = keys.find(k => k.name === refDes);
          if (ogKey) {
            ogKey.name = `${refDes}${nameCounters.get(refDes)}`;
          }
          nameCounters.set(refDes, nameCounters.get(refDes) + 1);
          refDes = `${refDes}${nameCounters.get(refDes)}`;
        } else {
          nameCounters.set(refDes, 1);
        }
        keys.push({
          name: refDes,
          x: (currentX + currentProps.width / 2) * KEY_SIZE,
          y: -(currentY + currentProps.height / 2) * KEY_SIZE,
          width: currentProps.width * KEY_SIZE,
          height: currentProps.height * KEY_SIZE,
          rotation: currentRotation,
          rotationX: currentRotationX * KEY_SIZE,
          rotationY: currentRotationY * KEY_SIZE,
          row: rowIndex,
          col: colIndex
        });

        // Move to the next position
        currentX += currentProps.width;
        colIndex++;

        // Reset width and height to default for the next key
        currentProps.width = 1;
        currentProps.height = 1;
      }
    });

    // Move to the next row
    currentY++;
  });
  return keys;
};

function _extends$1() { return _extends$1 = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends$1.apply(null, arguments); }
const pinLabels$1 = {
  "1": "pin1",
  "2": "pin2"
};
const pinNames$1 = Object.values(pinLabels$1);
const KeyHotSocket = props => {
  return /*#__PURE__*/React.createElement("pushbutton", _extends$1({
    layer: "bottom"
  }, props, {
    footprint: /*#__PURE__*/React.createElement("footprint", null, /*#__PURE__*/React.createElement("hole", {
      pcbX: "3.1749999999999545mm",
      pcbY: "-1.2699999999999818mm",
      diameter: "2.9999939999999996mm"
    }), /*#__PURE__*/React.createElement("hole", {
      pcbX: "-3.1749999999999545mm",
      pcbY: "1.2700000000000955mm",
      diameter: "2.9999939999999996mm"
    }), /*#__PURE__*/React.createElement("smtpad", {
      portHints: ["2"],
      pcbX: "6.724904000000038mm",
      pcbY: "-1.2699999999999818mm",
      width: "2.8999941999999996mm",
      height: "2.4999949999999997mm",
      shape: "rect"
    }), /*#__PURE__*/React.createElement("smtpad", {
      portHints: ["1"],
      pcbX: "-6.724904000000038mm",
      pcbY: "1.2699999999999818mm",
      width: "2.8999941999999996mm",
      height: "2.4999949999999997mm",
      shape: "rect"
    }), /*#__PURE__*/React.createElement("silkscreenpath", {
      route: [{
        x: -5.461000000000013,
        y: -0.4611370000000079
      }, {
        x: -5.461000000000013,
        y: -2.9209999999999354
      }, {
        x: -5.461000000000013,
        y: -2.9209999999999354
      }]
    }), /*#__PURE__*/React.createElement("silkscreenpath", {
      route: [{
        x: 5.4500017999999955,
        y: -2.950006799999869
      }, {
        x: -5.461000000000013,
        y: -2.950006799999869
      }]
    }), /*#__PURE__*/React.createElement("silkscreenpath", {
      route: [{
        x: 0.18298159999994823,
        y: 1.0549889999999778
      }, {
        x: 5.450027199999909,
        y: 1.0549889999999778
      }]
    }), /*#__PURE__*/React.createElement("silkscreenpath", {
      route: [{
        x: 5.450027199999909,
        y: 1.0549889999999778
      }, {
        x: 5.450027199999909,
        y: 0.4611370000000079
      }]
    }), /*#__PURE__*/React.createElement("silkscreenpath", {
      route: [{
        x: -2.944114000000127,
        y: 2.9450030000000424
      }, {
        x: -5.461000000000013,
        y: 2.9450030000000424
      }]
    }), /*#__PURE__*/React.createElement("silkscreenpath", {
      route: [{
        x: -1.707006999999976,
        y: 2.9450030000000424
      }, {
        x: -2.944114000000127,
        y: 2.9450030000000424
      }]
    }), /*#__PURE__*/React.createElement("silkscreenpath", {
      route: [{
        x: -1.707006999999976,
        y: 2.9450030000000424
      }, {
        x: -1.460311886129034,
        y: 2.9288336092640748
      }, {
        x: -1.2178378661753868,
        y: 2.8806021044970294
      }, {
        x: -0.9837338087377248,
        y: 2.801133754218995
      }, {
        x: -0.762005367588813,
        y: 2.6917883071702136
      }, {
        x: -0.5564464426572613,
        y: 2.5544367262343712
      }, {
        x: -0.37057426423848483,
        y: 2.3914291751993915
      }, {
        x: -0.20756921118118044,
        y: 2.2055548061152876
      }, {
        x: -0.07022039279377168,
        y: 1.9999940353145576
      }, {
        x: 0.03912207440475868,
        y: 1.7782641246765252
      }, {
        x: 0.11858727851722506,
        y: 1.5441589992735771
      }, {
        x: 0.1668155246366041,
        y: 1.301684331151364
      }, {
        x: 0.18298159999994823,
        y: 1.0549889999999778
      }]
    })),
    supplierPartNumbers: {
      jlcpcb: ["C41430893"]
    },
    cadModel: {
      objUrl: "https://modelcdn.tscircuit.com/easyeda_models/download?uuid=c886ec2b42464573a88fc1f647577a49&pn=C5184526",
      rotationOffset: {
        x: 0,
        y: 0,
        z: 0
      },
      positionOffset: {
        x: 0,
        y: 0,
        z: 0
      }
    },
    pinLabels: pinLabels$1,
    schPortArrangement: {
      leftSide: {
        direction: "top-to-bottom",
        pins: [1]
      },
      rightSide: {
        direction: "bottom-to-top",
        pins: [2]
      }
    }
  }));
};
createUseComponent(KeyHotSocket, pinNames$1);

function _extends$2() { return _extends$2 = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends$2.apply(null, arguments); }
const pinLabels$2 = {
  "1": "pin1",
  "2": "pin2"
};
const pinNames = Object.values(pinLabels$2);
const KeyShaftForHotSocket = props => {
  return /*#__PURE__*/React.createElement("chip", _extends$2({}, props, {
    noSchematicRepresentation: true,
    schWidth: 0.1,
    schHeight: 0.1,
    supplierPartNumbers: {
      jlcpcb: ["C400227"]
    },
    footprint: /*#__PURE__*/React.createElement("footprint", null, /*#__PURE__*/React.createElement("hole", {
      pcbX: "0.6349999999999909mm",
      pcbY: "-3.1149987999999666mm",
      diameter: "4.1999916mm"
    }), /*#__PURE__*/React.createElement("silkscreenpath", {
      route: [{
        x: -7.165009800000007,
        y: 4.685011000000031
      }, {
        x: 8.435009799999989,
        y: 4.685011000000031
      }]
    }), /*#__PURE__*/React.createElement("silkscreenpath", {
      route: [{
        x: -7.165009800000007,
        y: -10.915008600000078
      }, {
        x: 8.435009799999989,
        y: -10.915008600000078
      }]
    }), /*#__PURE__*/React.createElement("silkscreenpath", {
      route: [{
        x: -7.165009800000007,
        y: 4.685011000000031
      }, {
        x: -7.165009800000007,
        y: -10.915008600000078
      }]
    }), /*#__PURE__*/React.createElement("silkscreenpath", {
      route: [{
        x: 8.435009799999989,
        y: 4.685011000000031
      }, {
        x: 8.435009799999989,
        y: -10.915008600000078
      }]
    })),
    cadModel: {
      objUrl: "https://modelcdn.tscircuit.com/easyeda_models/download?uuid=c00f29e7afb64c29bc388e168980ded2&pn=C400227",
      rotationOffset: {
        x: 0,
        y: 0,
        z: 90
      },
      positionOffset: {
        x: 0,
        y: 0,
        z: 0
      }
    },
    pinLabels: pinLabels$2,
    schPinSpacing: 0.75,
    schPortArrangement: {}
  }));
};
createUseComponent(KeyShaftForHotSocket, pinNames);

const Key = props => {
  return /*#__PURE__*/React.createElement("group", {
    pcbX: props.pcbX,
    pcbY: props.pcbY,
    schX: props.schX,
    schY: props.schY
  }, /*#__PURE__*/React.createElement(KeyHotSocket, {
    name: props.name,
    connections: props.connections
  }), /*#__PURE__*/React.createElement(KeyShaftForHotSocket, {
    name: `${props.name}_shaft`,
    pcbX: 0,
    pcbY: -0.52
  }), /*#__PURE__*/React.createElement("footprint", null, /*#__PURE__*/React.createElement("silkscreentext", {
    text: props.name,
    pcbY: 5
  })));
};

function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
const pinLabels = {
  pin1: ["C"],
  pin2: ["A"]
};
const A_1N4148WS = props => {
  return /*#__PURE__*/React.createElement("chip", _extends({
    pinLabels: pinLabels,
    symbolName: "diode",
    supplierPartNumbers: {
      jlcpcb: ["C57759"]
    },
    manufacturerPartNumber: "A_1N4148WS",
    footprint: /*#__PURE__*/React.createElement("footprint", null, /*#__PURE__*/React.createElement("smtpad", {
      portHints: ["pin1"],
      pcbX: "-1.1725910000000113mm",
      pcbY: "0mm",
      width: "0.9999979999999999mm",
      height: "0.7500112mm",
      shape: "rect"
    }), /*#__PURE__*/React.createElement("smtpad", {
      portHints: ["pin2"],
      pcbX: "1.1725910000000113mm",
      pcbY: "0mm",
      width: "0.9999979999999999mm",
      height: "0.7500112mm",
      shape: "rect"
    }), /*#__PURE__*/React.createElement("silkscreenpath", {
      route: [{
        x: 0.9012427999999773,
        y: -0.726211400000011
      }, {
        x: 0.9012427999999773,
        y: -0.5199887999999646
      }]
    }), /*#__PURE__*/React.createElement("silkscreenpath", {
      route: [{
        x: 0.9012427999999773,
        y: 0.726211400000011
      }, {
        x: 0.9012427999999773,
        y: 0.5299964000000728
      }]
    }), /*#__PURE__*/React.createElement("silkscreenpath", {
      route: [{
        x: -0.8512047999998913,
        y: 0.726211400000011
      }, {
        x: 0.9012427999999773,
        y: 0.726211400000011
      }]
    }), /*#__PURE__*/React.createElement("silkscreenpath", {
      route: [{
        x: -0.8512047999998913,
        y: -0.726211400000011
      }, {
        x: 0.9012427999999773,
        y: -0.726211400000011
      }]
    }), /*#__PURE__*/React.createElement("silkscreenpath", {
      route: [{
        x: -0.44676059999994777,
        y: 0.726211400000011
      }, {
        x: -0.44676059999994777,
        y: -0.726211400000011
      }]
    })),
    cadModel: {
      objUrl: "https://modelcdn.tscircuit.com/easyeda_models/download?uuid=973acf8a660c48b1975f1ba1c890421a&pn=C57759",
      rotationOffset: {
        x: 0,
        y: 0,
        z: 0
      },
      positionOffset: {
        x: 0,
        y: 0,
        z: 0
      }
    }
  }, props));
};

const KeyMatrix = ({
  layout,
  rowToMicroPin,
  colToMicroPin,
  name = "KB",
  pcbX = 0,
  pcbY = 0,
  schX = 0,
  schY = 0
}) => {
  const keys = parseKLELayout(layout);
  const minX = Math.min(...keys.map(k => k.x));
  const maxX = Math.max(...keys.map(k => k.x + k.width));
  const minY = Math.min(...keys.map(k => k.y));
  const maxY = Math.max(...keys.map(k => k.y + k.height));
  return /*#__PURE__*/React$1.createElement("group", {
    pcbX: pcbX,
    pcbY: pcbY,
    schX: schX,
    schY: schY
  }, keys.map((key, index) => {
    // Calculate the relative position from the center of the keyboard
    const relX = key.x - (minX + maxX) / 2;
    const relY = key.y - (minY + maxY) / 2;
    return /*#__PURE__*/React$1.createElement("group", {
      key: key.name,
      pcbX: relX,
      pcbY: relY,
      schX: relX / 5 // Scale down for schematic view
      ,
      schY: relY / 7 // Scale down for schematic view
    }, /*#__PURE__*/React$1.createElement(Key, {
      name: key.name
    }), rowToMicroPin?.[key.row] !== undefined && /*#__PURE__*/React$1.createElement(A_1N4148WS, {
      name: `${key.name}_DIO`,
      connections: {
        A: `.${key.name} .pin1`,
        C: rowToMicroPin[key.row]
      },
      pcbX: 0.5,
      pcbY: -13.5,
      schY: -1,
      layer: "bottom"
    }), colToMicroPin?.[key.col] !== undefined && /*#__PURE__*/React$1.createElement("trace", {
      from: `.${key.name} .pin2`,
      to: colToMicroPin[key.col]
    }));
  }));
};

var index = () => /*#__PURE__*/React.createElement("board", null, /*#__PURE__*/React.createElement(KeyMatrix, {
  layout: default60,
  colToMicroPin: ["net.COL0", "net.COL1", "net.COL2", "net.COL3", "net.COL4", "net.COL5", "net.COL6", "net.COL7", "net.COL8", "net.COL9", "net.COL10", "net.COL11", "net.COL12", "net.COL13", "net.COL14"],
  rowToMicroPin: ["net.ROW1", "net.ROW2", "net.ROW3", "net.ROW4", "net.ROW5"]
}), /*#__PURE__*/React.createElement(PICO, {
  name: "U1",
  pcbRotation: "90deg",
  layer: "bottom",
  pcbX: -175,
  pcbY: 7,
  connections: {
    GP0: "net.COL0",
    GP1: "net.COL1",
    GP2: "net.COL2",
    GP3: "net.COL3",
    GP4: "net.COL4",
    GP5: "net.COL5",
    GP6: "net.COL6",
    GP7: "net.COL7",
    GP8: "net.COL8",
    GP9: "net.COL9",
    GP10: "net.COL10",
    GP11: "net.COL11",
    GP12: "net.COL12",
    GP13: "net.COL13",
    GP14: "net.COL14",
    GP15: "net.ROW1",
    GP16: "net.ROW2",
    GP17: "net.ROW3",
    GP18: "net.ROW4",
    GP19: "net.ROW5"
  }
}), /*#__PURE__*/React.createElement("hole", {
  pcbX: -180,
  pcbY: -56,
  diameter: "2.2mm"
}), /*#__PURE__*/React.createElement("hole", {
  pcbX: 115,
  pcbY: -32,
  diameter: "2.2mm"
}), /*#__PURE__*/React.createElement("hole", {
  pcbX: 119,
  pcbY: 26,
  diameter: "2.2mm"
}));

export { index as default };