fcoury/Keyboard

This code defines the physical layout of a 60% mechanical keyboard PCB, including placement of the microcontroller, power supply capacitors, and key switches arranged in standard rows with specific coordinates.

Usage: To use the "@tsci/fcoury.Keyboard" component: 1. Import the component: ```tsx import Keyboard from "@tsci/fcoury.Keyboard" ``` 2. Use in a React component or directly in a circuit design: ```tsx export default () => ( <Keyboard /> ) ``` The component represents a 60% mechanical keyboard PCB layout with predefined key positions, a microcontroller, and supporting capacitors. You can include it directly in a board design without additional configuration.

Version
0.0.1
License
unset
Stars
0

index.tsx

PCBPCB preview for index.tsx
SchematicSchematic preview for index.tsx
export default () => (
  <board width="280mm" height="95mm" title="60% Mechanical Keyboard PCB">
    {/* Microcontroller Unit - Positioned at the back center */}
    <chip name="MCU1" footprint="QFP100" x="140mm" y="85mm" />
    
    {/* Power Supply Capacitors near MCU */}
    <capacitor name="C1" capacitance="100nF" footprint="0603" x="130mm" y="75mm" />
    <capacitor name="C2" capacitance="100nF" footprint="0603" x="150mm" y="75mm" />
    <capacitor name="C3" capacitance="10uF" footprint="0805" x="140mm" y="72mm" />
    
    {/* 60% Keyboard - Standard 1U spacing (19.05mm) */}
    {/* Row 0: Number row - 13 keys starting at x=10mm, y=8mm */}
    <chip name="S_1" footprint="BGA2" x="10mm" y="8mm" />
    <chip name="S_2" footprint="BGA2" x="29mm" y="8mm" />
    <chip name="S_3" footprint="BGA2" x="48mm" y="8mm" />
    <chip name="S_4" footprint="BGA2" x="67mm" y="8mm" />
    <chip name="S_5" footprint="BGA2" x="86mm" y="8mm" />
    <chip name="S_6" footprint="BGA2" x="105mm" y="8mm" />
    <chip name="S_7" footprint="BGA2" x="124mm" y="8mm" />
    <chip name="S_8" footprint="BGA2" x="143mm" y="8mm" />
    <chip name="S_9" footprint="BGA2" x="162mm" y="8mm" />
    <chip name="S_0" footprint="BGA2" x="181mm" y="8mm" />
    <chip name="S_MINUS" footprint="BGA2" x="200mm" y="8mm" />
    <chip name="S_EQUAL" footprint="BGA2" x="219mm" y="8mm" />
    <chip name="S_BKSP" footprint="BGA2" x="238mm" y="8mm" />
    <chip name="S_BKSP2" footprint="BGA2" x="257mm" y="8mm" />
    
    {/* Row 1: QWERTY row - 13 keys, y=27mm (19mm down) */}
    <chip name="S_Q" footprint="BGA2" x="14mm" y="27mm" />
    <chip name="S_W" footprint="BGA2" x="33mm" y="27mm" />
    <chip name="S_E" footprint="BGA2" x="52mm" y="27mm" />
    <chip name="S_R" footprint="BGA2" x="71mm" y="27mm" />
    <chip name="S_T" footprint="BGA2" x="90mm" y="27mm" />
    <chip name="S_Y" footprint="BGA2" x="109mm" y="27mm" />
    <chip name="S_U" footprint="BGA2" x="128mm" y="27mm" />
    <chip name="S_I" footprint="BGA2" x="147mm" y="27mm" />
    <chip name="S_O" footprint="BGA2" x="166mm" y="27mm" />
    <chip name="S_P" footprint="BGA2" x="185mm" y="27mm" />
    <chip name="S_LBRACE" footprint="BGA2" x="204mm" y="27mm" />
    <chip name="S_RBRACE" footprint="BGA2" x="223mm" y="27mm" />
    <chip name="S_PIPE" footprint="BGA2" x="242mm" y="27mm" />
    
    {/* Row 2: Home row (ASDF) - 12 keys, y=46mm */}
    <chip name="S_CAPS" footprint="BGA2" x="10mm" y="46mm" />
    <chip name="S_A" footprint="BGA2" x="24mm" y="46mm" />
    <chip name="S_S" footprint="BGA2" x="43mm" y="46mm" />
    <chip name="S_D" footprint="BGA2" x="62mm" y="46mm" />
    <chip name="S_F" footprint="BGA2" x="81mm" y="46mm" />
    <chip name="S_G" footprint="BGA2" x="100mm" y="46mm" />
    <chip name="S_H" footprint="BGA2" x="119mm" y="46mm" />
    <chip name="S_J" footprint="BGA2" x="138mm" y="46mm" />
    <chip name="S_K" footprint="BGA2" x="157mm" y="46mm" />
    <chip name="S_L" footprint="BGA2" x="176mm" y="46mm" />
    <chip name="S_SEMI" footprint="BGA2" x="195mm" y="46mm" />
    <chip name="S_QUOTE" footprint="BGA2" x="214mm" y="46mm" />
    <chip name="S_ENTER" footprint="BGA2" x="247mm" y="46mm" />
    
    {/* Row 3: ZXCV row - 11 keys, y=65mm */}
    <chip name="S_LSHIFT" footprint="BGA2" x="10mm" y="65mm" />
    <chip name="S_Z" footprint="BGA2" x="33mm" y="65mm" />
    <chip name="S_X" footprint="BGA2" x="52mm" y="65mm" />
    <chip name="S_C" footprint="BGA2" x="71mm" y="65mm" />
    <chip name="S_V" footprint="BGA2" x="90mm" y="65mm" />
    <chip name="S_B" footprint="BGA2" x="109mm" y="65mm" />
    <chip name="S_N" footprint="BGA2" x="128mm" y="65mm" />
    <chip name="S_M" footprint="BGA2" x="147mm" y="65mm" />
    <chip name="S_COMMA" footprint="BGA2" x="166mm" y="65mm" />
    <chip name="S_PERIOD" footprint="BGA2" x="185mm" y="65mm" />
    <chip name="S_RSHIFT" footprint="BGA2" x="209mm" y="65mm" />
    
    {/* Row 4: Spacebar row - 7 keys, y=84mm */}
    <chip name="S_LCTRL" footprint="BGA2" x="12mm" y="84mm" />
    <chip name="S_LALT" footprint="BGA2" x="40mm" y="84mm" />
    <chip name="S_SPACE" footprint="BGA2" x="100mm" y="84mm" />
    <chip name="S_RALT" footprint="BGA2" x="160mm" y="84mm" />
    <chip name="S_FN" footprint="BGA2" x="188mm" y="84mm" />
    <chip name="S_RCTRL" footprint="BGA2" x="216mm" y="84mm" />
  </board>
)