qmk_firmware

QMK firmware for my keyboards (Corne, Sweep Ferris) and trackball (Ploopy Adept)
Log | Files | Refs | Submodules | LICENSE

keyboard.json (14957B)


      1 {
      2     "manufacturer": "Arrow Mechanics",
      3     "keyboard_name": "WINGS Mark 1",
      4     "maintainer": "arrowmechanics",
      5     "bootloader": "rp2040",
      6     "diode_direction": "ROW2COL",
      7     "encoder": {
      8         "rotary": [
      9             {"pin_a": "GP6", "pin_b": "GP7", "resolution": 2}
     10         ]
     11     },
     12     "features": {
     13         "audio": true,
     14         "bootmagic": true,
     15         "encoder": true,
     16         "extrakey": true,
     17         "mousekey": true,
     18         "rgb_matrix": true
     19     },
     20     "audio": {
     21         "driver": "pwm_hardware"
     22     },
     23     "matrix_pins": {
     24         "cols": ["GP8", "GP9", "GP10", "GP11", "GP12", "GP13", "GP14", "GP15", "GP16"],
     25         "rows": ["GP22", "GP21", "GP20", "GP19", "GP18", "GP17"]
     26     },
     27     "processor": "RP2040",
     28     "rgb_matrix": {
     29         "animations": {
     30             "alphas_mods": true,
     31             "band_pinwheel_sat": true,
     32             "band_pinwheel_val": true,
     33             "band_sat": true,
     34             "band_spiral_sat": true,
     35             "band_spiral_val": true,
     36             "band_val": true,
     37             "breathing": true,
     38             "cycle_all": true,
     39             "cycle_left_right": true,
     40             "cycle_out_in": true,
     41             "cycle_out_in_dual": true,
     42             "cycle_pinwheel": true,
     43             "cycle_spiral": true,
     44             "cycle_up_down": true,
     45             "digital_rain": true,
     46             "dual_beacon": true,
     47             "gradient_left_right": true,
     48             "gradient_up_down": true,
     49             "hue_breathing": true,
     50             "hue_pendulum": true,
     51             "hue_wave": true,
     52             "jellybean_raindrops": true,
     53             "multisplash": true,
     54             "pixel_flow": true,
     55             "pixel_fractal": true,
     56             "pixel_rain": true,
     57             "rainbow_beacon": true,
     58             "rainbow_moving_chevron": true,
     59             "rainbow_pinwheels": true,
     60             "raindrops": true,
     61             "solid_multisplash": true,
     62             "solid_reactive": true,
     63             "solid_reactive_cross": true,
     64             "solid_reactive_multicross": true,
     65             "solid_reactive_multinexus": true,
     66             "solid_reactive_multiwide": true,
     67             "solid_reactive_nexus": true,
     68             "solid_reactive_simple": true,
     69             "solid_reactive_wide": true,
     70             "solid_splash": true,
     71             "splash": true,
     72             "typing_heatmap": true
     73         },
     74         "default": {
     75             "animation": "breathing",
     76             "hue": 192
     77         },
     78         "driver": "ws2812",
     79         "layout": [
     80             {"matrix": [0, 7], "x": 93, "y": 2, "flags": 4},
     81             {"matrix": [0, 6], "x": 80, "y": 1, "flags": 4},
     82             {"matrix": [0, 5], "x": 67, "y": 0, "flags": 4},
     83             {"matrix": [0, 4], "x": 54, "y": 1, "flags": 4},
     84             {"matrix": [0, 3], "x": 42, "y": 3, "flags": 4},
     85             {"matrix": [0, 2], "x": 29, "y": 5, "flags": 4},
     86             {"matrix": [0, 1], "x": 16, "y": 5, "flags": 4},
     87             {"matrix": [0, 0], "x": 3, "y": 5, "flags": 4},
     88 
     89             {"matrix": [1, 0], "x": 3, "y": 17, "flags": 4},
     90             {"matrix": [1, 1], "x": 16, "y": 17, "flags": 4},
     91             {"matrix": [1, 2], "x": 29, "y": 17, "flags": 4},
     92             {"matrix": [1, 3], "x": 42, "y": 15, "flags": 4},
     93             {"matrix": [1, 4], "x": 54, "y": 13, "flags": 4},
     94             {"matrix": [1, 5], "x": 67, "y": 12, "flags": 4},
     95             {"matrix": [1, 6], "x": 80, "y": 13, "flags": 4},
     96             {"matrix": [1, 7], "x": 93, "y": 14, "flags": 4},
     97 
     98             {"matrix": [2, 8], "x": 106, "y": 25, "flags": 4},
     99             {"matrix": [2, 7], "x": 93, "y": 25, "flags": 4},
    100             {"matrix": [2, 6], "x": 80, "y": 25, "flags": 4},
    101             {"matrix": [2, 5], "x": 67, "y": 24, "flags": 4},
    102             {"matrix": [2, 4], "x": 54, "y": 25, "flags": 4},
    103             {"matrix": [2, 3], "x": 42, "y": 27, "flags": 4},
    104             {"matrix": [2, 2], "x": 26, "y": 29, "flags": 4},
    105             {"matrix": [2, 0], "x": 6, "y": 29, "flags": 4},
    106 
    107             {"matrix": [3, 0], "x": 3, "y": 40, "flags": 4},
    108             {"matrix": [3, 2], "x": 22, "y": 40, "flags": 4},
    109             {"matrix": [3, 3], "x": 42, "y": 38, "flags": 4},
    110             {"matrix": [3, 4], "x": 54, "y": 36, "flags": 4},
    111             {"matrix": [3, 5], "x": 67, "y": 35, "flags": 4},
    112             {"matrix": [3, 6], "x": 80, "y": 36, "flags": 4},
    113             {"matrix": [3, 7], "x": 93, "y": 37, "flags": 4},
    114             {"matrix": [3, 8], "x": 106, "y": 37, "flags": 4},
    115 
    116             {"matrix": [4, 8], "x": 106, "y": 49, "flags": 4},
    117             {"matrix": [4, 7], "x": 93, "y": 49, "flags": 4},
    118             {"matrix": [4, 6], "x": 80, "y": 48, "flags": 4},
    119             {"matrix": [4, 5], "x": 67, "y": 47, "flags": 4},
    120             {"matrix": [4, 4], "x": 54, "y": 48, "flags": 4},
    121             {"matrix": [4, 3], "x": 42, "y": 50, "flags": 4},
    122             {"matrix": [4, 1], "x": 21, "y": 52, "flags": 4},
    123             {"matrix": [4, 0], "x": 0, "y": 52, "flags": 4},
    124 
    125             {"matrix": [5, 0], "x": 0, "y": 64, "flags": 4},
    126             {"matrix": [5, 1], "x": 13, "y": 64, "flags": 4},
    127             {"matrix": [5, 2], "x": 26, "y": 64, "flags": 4},
    128             {"matrix": [5, 3], "x": 43, "y": 62, "flags": 4},
    129             {"matrix": [5, 4], "x": 59, "y": 60, "flags": 4},
    130             {"matrix": [5, 6], "x": 75, "y": 60, "flags": 4},
    131             {"matrix": [5, 7], "x": 98, "y": 61, "flags": 4},
    132 
    133             {"matrix": [6, 1], "x": 131, "y": 2, "flags": 4},
    134             {"matrix": [6, 2], "x": 144, "y": 1, "flags": 4},
    135             {"matrix": [6, 3], "x": 157, "y": 0, "flags": 4},
    136             {"matrix": [6, 4], "x": 170, "y": 1, "flags": 4},
    137             {"matrix": [6, 5], "x": 182, "y": 3, "flags": 4},
    138             {"matrix": [6, 6], "x": 195, "y": 5, "flags": 4},
    139             {"matrix": [6, 7], "x": 208, "y": 5, "flags": 4},
    140             {"matrix": [6, 8], "x": 221, "y": 5, "flags": 4},
    141 
    142             {"matrix": [7, 8], "x": 214, "y": 17, "flags": 4},
    143             {"matrix": [7, 6], "x": 195, "y": 17, "flags": 4},
    144             {"matrix": [7, 5], "x": 182, "y": 15, "flags": 4},
    145             {"matrix": [7, 4], "x": 170, "y": 13, "flags": 4},
    146             {"matrix": [7, 3], "x": 157, "y": 12, "flags": 4},
    147             {"matrix": [7, 2], "x": 144, "y": 13, "flags": 4},
    148             {"matrix": [7, 1], "x": 131, "y": 14, "flags": 4},
    149 
    150             {"matrix": [8, 0], "x": 118, "y": 25, "flags": 4},
    151             {"matrix": [8, 1], "x": 131, "y": 25, "flags": 4},
    152             {"matrix": [8, 2], "x": 144, "y": 25, "flags": 4},
    153             {"matrix": [8, 3], "x": 157, "y": 24, "flags": 4},
    154             {"matrix": [8, 4], "x": 170, "y": 25, "flags": 4},
    155             {"matrix": [8, 5], "x": 182, "y": 27, "flags": 4},
    156             {"matrix": [8, 6], "x": 195, "y": 29, "flags": 4},
    157             {"matrix": [8, 7], "x": 208, "y": 29, "flags": 4},
    158             {"matrix": [8, 8], "x": 221, "y": 29, "flags": 4},
    159 
    160             {"matrix": [9, 8], "x": 216, "y": 40, "flags": 4},
    161             {"matrix": [9, 6], "x": 195, "y": 40, "flags": 4},
    162             {"matrix": [9, 5], "x": 182, "y": 38, "flags": 4},
    163             {"matrix": [9, 4], "x": 170, "y": 36, "flags": 4},
    164             {"matrix": [9, 3], "x": 157, "y": 35, "flags": 4},
    165             {"matrix": [9, 2], "x": 144, "y": 36, "flags": 4},
    166             {"matrix": [9, 1], "x": 131, "y": 37, "flags": 4},
    167             {"matrix": [9, 0], "x": 118, "y": 37, "flags": 4},
    168 
    169             {"matrix": [10, 0], "x": 118, "y": 49, "flags": 4},
    170             {"matrix": [10, 1], "x": 131, "y": 49, "flags": 4},
    171             {"matrix": [10, 2], "x": 144, "y": 48, "flags": 4},
    172             {"matrix": [10, 3], "x": 157, "y": 47, "flags": 4},
    173             {"matrix": [10, 4], "x": 170, "y": 48, "flags": 4},
    174             {"matrix": [10, 5], "x": 182, "y": 50, "flags": 4},
    175             {"matrix": [10, 6], "x": 197, "y": 52, "flags": 4},
    176             {"matrix": [10, 7], "x": 211, "y": 52, "flags": 4},
    177             {"matrix": [10, 8], "x": 224, "y": 52, "flags": 4},
    178 
    179             {"matrix": [11, 8], "x": 224, "y": 64, "flags": 4},
    180             {"matrix": [11, 7], "x": 211, "y": 64, "flags": 4},
    181             {"matrix": [11, 6], "x": 198, "y": 64, "flags": 4},
    182             {"matrix": [11, 5], "x": 181, "y": 62, "flags": 4},
    183             {"matrix": [11, 4], "x": 165, "y": 60, "flags": 4},
    184             {"matrix": [11, 2], "x": 149, "y": 60, "flags": 4},
    185             {"matrix": [11, 1], "x": 126, "y": 61, "flags": 4}
    186         ],
    187         "split_count": [47, 48]
    188     },
    189     "split": {
    190         "enabled": true,
    191         "serial": {
    192             "driver": "vendor"
    193         },
    194         "transport": {
    195             "sync": {
    196                 "layer_state": true,
    197                 "matrix_state": true
    198             }
    199         }
    200     },
    201     "tags": ["columnar", "split", "rgb", "hotswap", "encoder"],
    202     "url": "https://arrowmechanics.com",
    203     "usb": {
    204         "device_version": "1.0.0",
    205         "pid": "0x3134",
    206         "vid": "0xA880"
    207     },
    208     "ws2812": {
    209         "driver": "vendor",
    210         "pin": "GP26"
    211     },
    212     "layouts": {
    213         "LAYOUT": {
    214             "layout": [
    215                 {"matrix": [0, 0], "x": 0.25, "y": 0.43},
    216                 {"matrix": [0, 1], "x": 1.25, "y": 0.43},
    217                 {"matrix": [0, 2], "x": 2.25, "y": 0.43},
    218                 {"matrix": [0, 3], "x": 3.25, "y": 0.25},
    219                 {"matrix": [0, 4], "x": 4.25, "y": 0.08},
    220                 {"matrix": [0, 5], "x": 5.25, "y": 0},
    221                 {"matrix": [0, 6], "x": 6.25, "y": 0.08},
    222                 {"matrix": [0, 7], "x": 7.25, "y": 0.15},
    223 
    224                 {"matrix": [6, 1], "x": 10.45, "y": 0.15},
    225                 {"matrix": [6, 2], "x": 11.45, "y": 0.08},
    226                 {"matrix": [6, 3], "x": 12.45, "y": 0},
    227                 {"matrix": [6, 4], "x": 13.45, "y": 0.08},
    228                 {"matrix": [6, 5], "x": 14.45, "y": 0.25},
    229                 {"matrix": [6, 6], "x": 15.45, "y": 0.43},
    230                 {"matrix": [6, 7], "x": 16.45, "y": 0.43},
    231                 {"matrix": [6, 8], "x": 17.45, "y": 0.43},
    232 
    233                 {"matrix": [1, 0], "x": 0.25, "y": 1.43},
    234                 {"matrix": [1, 1], "x": 1.25, "y": 1.43},
    235                 {"matrix": [1, 2], "x": 2.25, "y": 1.43},
    236                 {"matrix": [1, 3], "x": 3.25, "y": 1.25},
    237                 {"matrix": [1, 4], "x": 4.25, "y": 1.08},
    238                 {"matrix": [1, 5], "x": 5.25, "y": 1},
    239                 {"matrix": [1, 6], "x": 6.25, "y": 1.08},
    240                 {"matrix": [1, 7], "x": 7.25, "y": 1.15},
    241                 {"matrix": [1, 8], "x": 8.25, "y": 1.15, "encoder": 0},
    242 
    243                 {"matrix": [7, 0], "x": 9.45, "y": 1.15, "encoder": 1},
    244                 {"matrix": [7, 1], "x": 10.45, "y": 1.15},
    245                 {"matrix": [7, 2], "x": 11.45, "y": 1.08},
    246                 {"matrix": [7, 3], "x": 12.45, "y": 1},
    247                 {"matrix": [7, 4], "x": 13.45, "y": 1.08},
    248                 {"matrix": [7, 5], "x": 14.45, "y": 1.25},
    249                 {"matrix": [7, 6], "x": 15.45, "y": 1.43},
    250                 {"matrix": [7, 8], "x": 16.45, "y": 1.43, "w": 2},
    251 
    252                 {"matrix": [2, 0], "x": 0.25, "y": 2.43, "w": 1.5},
    253                 {"matrix": [2, 2], "x": 1.75, "y": 2.43, "w": 1.5},
    254                 {"matrix": [2, 3], "x": 3.25, "y": 2.25},
    255                 {"matrix": [2, 4], "x": 4.25, "y": 2.08},
    256                 {"matrix": [2, 5], "x": 5.25, "y": 2},
    257                 {"matrix": [2, 6], "x": 6.25, "y": 2.08},
    258                 {"matrix": [2, 7], "x": 7.25, "y": 2.15},
    259                 {"matrix": [2, 8], "x": 8.25, "y": 2.15},
    260 
    261                 {"matrix": [8, 0], "x": 9.45, "y": 2.15},
    262                 {"matrix": [8, 1], "x": 10.45, "y": 2.15},
    263                 {"matrix": [8, 2], "x": 11.45, "y": 2.08},
    264                 {"matrix": [8, 3], "x": 12.45, "y": 2},
    265                 {"matrix": [8, 4], "x": 13.45, "y": 2.08},
    266                 {"matrix": [8, 5], "x": 14.45, "y": 2.25},
    267                 {"matrix": [8, 6], "x": 15.45, "y": 2.43},
    268                 {"matrix": [8, 7], "x": 16.45, "y": 2.43},
    269                 {"matrix": [8, 8], "x": 17.45, "y": 2.43},
    270 
    271                 {"matrix": [3, 0], "x": 0, "y": 3.43, "w": 1.5},
    272                 {"matrix": [3, 2], "x": 1.5, "y": 3.43, "w": 1.75},
    273                 {"matrix": [3, 3], "x": 3.25, "y": 3.25},
    274                 {"matrix": [3, 4], "x": 4.25, "y": 3.08},
    275                 {"matrix": [3, 5], "x": 5.25, "y": 3},
    276                 {"matrix": [3, 6], "x": 6.25, "y": 3.08},
    277                 {"matrix": [3, 7], "x": 7.25, "y": 3.15},
    278                 {"matrix": [3, 8], "x": 8.25, "y": 3.15},
    279 
    280                 {"matrix": [9, 0], "x": 9.45, "y": 3.15},
    281                 {"matrix": [9, 1], "x": 10.45, "y": 3.15},
    282                 {"matrix": [9, 2], "x": 11.45, "y": 3.08},
    283                 {"matrix": [9, 3], "x": 12.45, "y": 3},
    284                 {"matrix": [9, 4], "x": 13.45, "y": 3.08},
    285                 {"matrix": [9, 5], "x": 14.45, "y": 3.25},
    286                 {"matrix": [9, 6], "x": 15.45, "y": 3.43},
    287                 {"matrix": [9, 8], "x": 16.45, "y": 3.43, "w": 2.25},
    288 
    289                 {"matrix": [4, 0], "x": 0, "y": 4.43},
    290                 {"matrix": [4, 1], "x": 1, "y": 4.43, "w": 2.25},
    291                 {"matrix": [4, 3], "x": 3.25, "y": 4.25},
    292                 {"matrix": [4, 4], "x": 4.25, "y": 4.08},
    293                 {"matrix": [4, 5], "x": 5.25, "y": 4},
    294                 {"matrix": [4, 6], "x": 6.25, "y": 4.08},
    295                 {"matrix": [4, 7], "x": 7.25, "y": 4.15},
    296                 {"matrix": [4, 8], "x": 8.25, "y": 4.15},
    297 
    298                 {"matrix": [10, 0], "x": 9.45, "y": 4.15},
    299                 {"matrix": [10, 1], "x": 10.45, "y": 4.15},
    300                 {"matrix": [10, 2], "x": 11.45, "y": 4.08},
    301                 {"matrix": [10, 3], "x": 12.45, "y": 4},
    302                 {"matrix": [10, 4], "x": 13.45, "y": 4.08},
    303                 {"matrix": [10, 5], "x": 14.45, "y": 4.25},
    304                 {"matrix": [10, 6], "x": 15.45, "y": 4.43, "w": 1.25},
    305                 {"matrix": [10, 7], "x": 16.7, "y": 4.43},
    306                 {"matrix": [10, 8], "x": 17.7, "y": 4.43},
    307 
    308                 {"matrix": [5, 0], "x": 0, "y": 5.43},
    309                 {"matrix": [5, 1], "x": 1, "y": 5.43},
    310                 {"matrix": [5, 2], "x": 2, "y": 5.43},
    311                 {"matrix": [5, 3], "x": 3.25, "y": 5.25, "w": 1.25},
    312                 {"matrix": [5, 4], "x": 4.5, "y": 5.08, "w": 1.25},
    313                 {"matrix": [5, 6], "x": 5.75, "y": 5.08, "w": 1.25},
    314                 {"matrix": [5, 7], "x": 7, "y": 5.15, "w": 2.25},
    315 
    316                 {"matrix": [11, 1], "x": 9.45, "y": 5.15, "w": 2.25},
    317                 {"matrix": [11, 2], "x": 11.7, "y": 5.08, "w": 1.25},
    318                 {"matrix": [11, 4], "x": 12.95, "y": 5.08, "w": 1.25},
    319                 {"matrix": [11, 5], "x": 14.2, "y": 5.25, "w": 1.25},
    320                 {"matrix": [11, 6], "x": 15.7, "y": 5.43},
    321                 {"matrix": [11, 7], "x": 16.7, "y": 5.43},
    322                 {"matrix": [11, 8], "x": 17.7, "y": 5.43}
    323             ]
    324         }
    325     }
    326 }