qmk_firmware

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

keyboard.json (13275B)


      1 {
      2   "keyboard_name": "Planck",
      3   "manufacturer": "Drop",
      4   "url": "https://olkb.com/planck",
      5   "maintainer": "jackhumbert",
      6   "usb": {
      7     "vid": "0x03A8",
      8     "pid": "0xA4F9",
      9     "device_version": "0.0.7"
     10   },
     11   "ws2812": {
     12     "pin": "A1",
     13     "driver": "pwm"
     14   },
     15   "rgb_matrix": {
     16     "driver": "ws2812",
     17     "layout": [
     18         {"matrix": [2, 5], "x": 112, "y": 39, "flags": 255},
     19         {"matrix": [7, 1], "x": 148, "y": 60, "flags": 255},
     20         {"matrix": [3, 4], "x": 206, "y": 53, "flags": 255},
     21         {"matrix": [4, 4], "x": 206, "y": 3, "flags": 255},
     22         {"matrix": [4, 1], "x": 150, "y": 3, "flags": 255},
     23         {"matrix": [0, 4], "x": 74, "y": 3, "flags": 255},
     24         {"matrix": [0, 1], "x": 18, "y": 3, "flags": 255},
     25         {"matrix": [3, 1], "x": 18, "y": 54, "flags": 255},
     26         {"matrix": [7, 4], "x": 77, "y": 60, "flags": 255}
     27     ],
     28     "sleep": true
     29   },
     30   "matrix_pins": {
     31     "cols": ["B11", "B10", "B2", "B1", "A7", "B0"],
     32     "rows": ["A10", "A9", "A8", "B15", "C13", "C14", "C15", "A2"]
     33   },
     34   "diode_direction": "COL2ROW",
     35   "dip_switch": {
     36     "pins": ["B14", "A15", "A0", "B9"]
     37   },
     38   "encoder": {
     39     "rotary": [
     40         {"pin_a": "B12", "pin_b": "B13"},
     41         {"pin_a": "B12", "pin_b": "B13"},
     42         {"pin_a": "B12", "pin_b": "B13"},
     43         {"pin_a": "B12", "pin_b": "B13"},
     44         {"pin_a": "B12", "pin_b": "B13"},
     45         {"pin_a": "B12", "pin_b": "B13"},
     46         {"pin_a": "B12", "pin_b": "B13"},
     47         {"pin_a": "B12", "pin_b": "B13"}
     48     ]
     49   },
     50   "features": {
     51     "audio": true,
     52     "bootmagic": true,
     53     "command": true,
     54     "console": true,
     55     "encoder": true,
     56     "dip_switch": true,
     57     "extrakey": true,
     58     "mousekey": true,
     59     "nkro": true,
     60     "rgblight": true
     61   },
     62   "rgblight": {
     63     "led_count": 9
     64   },
     65   "processor": "STM32F303",
     66   "bootloader": "stm32-dfu",
     67   "community_layouts": ["ortho_4x12", "planck_mit"],
     68   "layout_aliases": {
     69     "LAYOUT": "LAYOUT_ortho_4x12",
     70     "LAYOUT_planck_grid": "LAYOUT_ortho_4x12",
     71     "LAYOUT_planck_mit": "LAYOUT_planck_1x2uC"
     72   },
     73   "layouts": {
     74     "LAYOUT_ortho_4x12": {
     75       "layout": [
     76         { "matrix": [0, 0], "x": 0, "y": 0 },
     77         { "matrix": [0, 1], "x": 1, "y": 0 },
     78         { "matrix": [0, 2], "x": 2, "y": 0 },
     79         { "matrix": [0, 3], "x": 3, "y": 0 },
     80         { "matrix": [0, 4], "x": 4, "y": 0 },
     81         { "matrix": [0, 5], "x": 5, "y": 0 },
     82         { "matrix": [4, 0], "x": 6, "y": 0 },
     83         { "matrix": [4, 1], "x": 7, "y": 0 },
     84         { "matrix": [4, 2], "x": 8, "y": 0 },
     85         { "matrix": [4, 3], "x": 9, "y": 0 },
     86         { "matrix": [4, 4], "x": 10, "y": 0 },
     87         { "matrix": [4, 5], "x": 11, "y": 0 },
     88 
     89         { "matrix": [1, 0], "x": 0, "y": 1 },
     90         { "matrix": [1, 1], "x": 1, "y": 1 },
     91         { "matrix": [1, 2], "x": 2, "y": 1 },
     92         { "matrix": [1, 3], "x": 3, "y": 1 },
     93         { "matrix": [1, 4], "x": 4, "y": 1 },
     94         { "matrix": [1, 5], "x": 5, "y": 1 },
     95         { "matrix": [5, 0], "x": 6, "y": 1 },
     96         { "matrix": [5, 1], "x": 7, "y": 1 },
     97         { "matrix": [5, 2], "x": 8, "y": 1 },
     98         { "matrix": [5, 3], "x": 9, "y": 1 },
     99         { "matrix": [5, 4], "x": 10, "y": 1 },
    100         { "matrix": [5, 5], "x": 11, "y": 1 },
    101 
    102         { "matrix": [2, 0], "x": 0, "y": 2 },
    103         { "matrix": [2, 1], "x": 1, "y": 2 },
    104         { "matrix": [2, 2], "x": 2, "y": 2 },
    105         { "matrix": [2, 3], "x": 3, "y": 2 },
    106         { "matrix": [2, 4], "x": 4, "y": 2 },
    107         { "matrix": [2, 5], "x": 5, "y": 2 },
    108         { "matrix": [6, 0], "x": 6, "y": 2 },
    109         { "matrix": [6, 1], "x": 7, "y": 2 },
    110         { "matrix": [6, 2], "x": 8, "y": 2 },
    111         { "matrix": [6, 3], "x": 9, "y": 2 },
    112         { "matrix": [6, 4], "x": 10, "y": 2 },
    113         { "matrix": [6, 5], "x": 11, "y": 2 },
    114 
    115         { "matrix": [3, 0], "x": 0, "y": 3 },
    116         { "matrix": [3, 1], "x": 1, "y": 3 },
    117         { "matrix": [3, 2], "x": 2, "y": 3 },
    118         { "matrix": [7, 3], "x": 3, "y": 3 },
    119         { "matrix": [7, 4], "x": 4, "y": 3 },
    120         { "matrix": [7, 5], "x": 5, "y": 3 },
    121         { "matrix": [7, 0], "x": 6, "y": 3 },
    122         { "matrix": [7, 1], "x": 7, "y": 3 },
    123         { "matrix": [7, 2], "x": 8, "y": 3 },
    124         { "matrix": [3, 3], "x": 9, "y": 3 },
    125         { "matrix": [3, 4], "x": 10, "y": 3 },
    126         { "matrix": [3, 5], "x": 11, "y": 3 }
    127       ]
    128     },
    129     "LAYOUT_planck_1x2uC": {
    130       "layout": [
    131         { "matrix": [0, 0], "x": 0, "y": 0 },
    132         { "matrix": [0, 1], "x": 1, "y": 0 },
    133         { "matrix": [0, 2], "x": 2, "y": 0 },
    134         { "matrix": [0, 3], "x": 3, "y": 0 },
    135         { "matrix": [0, 4], "x": 4, "y": 0 },
    136         { "matrix": [0, 5], "x": 5, "y": 0 },
    137         { "matrix": [4, 0], "x": 6, "y": 0 },
    138         { "matrix": [4, 1], "x": 7, "y": 0 },
    139         { "matrix": [4, 2], "x": 8, "y": 0 },
    140         { "matrix": [4, 3], "x": 9, "y": 0 },
    141         { "matrix": [4, 4], "x": 10, "y": 0 },
    142         { "matrix": [4, 5], "x": 11, "y": 0 },
    143 
    144         { "matrix": [1, 0], "x": 0, "y": 1 },
    145         { "matrix": [1, 1], "x": 1, "y": 1 },
    146         { "matrix": [1, 2], "x": 2, "y": 1 },
    147         { "matrix": [1, 3], "x": 3, "y": 1 },
    148         { "matrix": [1, 4], "x": 4, "y": 1 },
    149         { "matrix": [1, 5], "x": 5, "y": 1 },
    150         { "matrix": [5, 0], "x": 6, "y": 1 },
    151         { "matrix": [5, 1], "x": 7, "y": 1 },
    152         { "matrix": [5, 2], "x": 8, "y": 1 },
    153         { "matrix": [5, 3], "x": 9, "y": 1 },
    154         { "matrix": [5, 4], "x": 10, "y": 1 },
    155         { "matrix": [5, 5], "x": 11, "y": 1 },
    156 
    157         { "matrix": [2, 0], "x": 0, "y": 2 },
    158         { "matrix": [2, 1], "x": 1, "y": 2 },
    159         { "matrix": [2, 2], "x": 2, "y": 2 },
    160         { "matrix": [2, 3], "x": 3, "y": 2 },
    161         { "matrix": [2, 4], "x": 4, "y": 2 },
    162         { "matrix": [2, 5], "x": 5, "y": 2 },
    163         { "matrix": [6, 0], "x": 6, "y": 2 },
    164         { "matrix": [6, 1], "x": 7, "y": 2 },
    165         { "matrix": [6, 2], "x": 8, "y": 2 },
    166         { "matrix": [6, 3], "x": 9, "y": 2 },
    167         { "matrix": [6, 4], "x": 10, "y": 2 },
    168         { "matrix": [6, 5], "x": 11, "y": 2 },
    169 
    170         { "matrix": [3, 0], "x": 0, "y": 3 },
    171         { "matrix": [3, 1], "x": 1, "y": 3 },
    172         { "matrix": [3, 2], "x": 2, "y": 3 },
    173         { "matrix": [7, 3], "x": 3, "y": 3 },
    174         { "matrix": [7, 4], "x": 4, "y": 3 },
    175         { "matrix": [7, 0], "x": 5, "y": 3, "w": 2 },
    176         { "matrix": [7, 1], "x": 7, "y": 3 },
    177         { "matrix": [7, 2], "x": 8, "y": 3 },
    178         { "matrix": [3, 3], "x": 9, "y": 3 },
    179         { "matrix": [3, 4], "x": 10, "y": 3 },
    180         { "matrix": [3, 5], "x": 11, "y": 3 }
    181       ]
    182     },
    183     "LAYOUT_planck_1x2uL": {
    184       "layout": [
    185         { "matrix": [0, 0], "x": 0, "y": 0 },
    186         { "matrix": [0, 1], "x": 1, "y": 0 },
    187         { "matrix": [0, 2], "x": 2, "y": 0 },
    188         { "matrix": [0, 3], "x": 3, "y": 0 },
    189         { "matrix": [0, 4], "x": 4, "y": 0 },
    190         { "matrix": [0, 5], "x": 5, "y": 0 },
    191         { "matrix": [4, 0], "x": 6, "y": 0 },
    192         { "matrix": [4, 1], "x": 7, "y": 0 },
    193         { "matrix": [4, 2], "x": 8, "y": 0 },
    194         { "matrix": [4, 3], "x": 9, "y": 0 },
    195         { "matrix": [4, 4], "x": 10, "y": 0 },
    196         { "matrix": [4, 5], "x": 11, "y": 0 },
    197 
    198         { "matrix": [1, 0], "x": 0, "y": 1 },
    199         { "matrix": [1, 1], "x": 1, "y": 1 },
    200         { "matrix": [1, 2], "x": 2, "y": 1 },
    201         { "matrix": [1, 3], "x": 3, "y": 1 },
    202         { "matrix": [1, 4], "x": 4, "y": 1 },
    203         { "matrix": [1, 5], "x": 5, "y": 1 },
    204         { "matrix": [5, 0], "x": 6, "y": 1 },
    205         { "matrix": [5, 1], "x": 7, "y": 1 },
    206         { "matrix": [5, 2], "x": 8, "y": 1 },
    207         { "matrix": [5, 3], "x": 9, "y": 1 },
    208         { "matrix": [5, 4], "x": 10, "y": 1 },
    209         { "matrix": [5, 5], "x": 11, "y": 1 },
    210 
    211         { "matrix": [2, 0], "x": 0, "y": 2 },
    212         { "matrix": [2, 1], "x": 1, "y": 2 },
    213         { "matrix": [2, 2], "x": 2, "y": 2 },
    214         { "matrix": [2, 3], "x": 3, "y": 2 },
    215         { "matrix": [2, 4], "x": 4, "y": 2 },
    216         { "matrix": [2, 5], "x": 5, "y": 2 },
    217         { "matrix": [6, 0], "x": 6, "y": 2 },
    218         { "matrix": [6, 1], "x": 7, "y": 2 },
    219         { "matrix": [6, 2], "x": 8, "y": 2 },
    220         { "matrix": [6, 3], "x": 9, "y": 2 },
    221         { "matrix": [6, 4], "x": 10, "y": 2 },
    222         { "matrix": [6, 5], "x": 11, "y": 2 },
    223 
    224         { "matrix": [3, 0], "x": 0, "y": 3 },
    225         { "matrix": [3, 1], "x": 1, "y": 3 },
    226         { "matrix": [3, 2], "x": 2, "y": 3 },
    227         { "matrix": [7, 3], "x": 3, "y": 3 },
    228         { "matrix": [7, 5], "x": 4, "y": 3, "w": 2 },
    229         { "matrix": [7, 0], "x": 6, "y": 3 },
    230         { "matrix": [7, 1], "x": 7, "y": 3 },
    231         { "matrix": [7, 2], "x": 8, "y": 3 },
    232         { "matrix": [3, 3], "x": 9, "y": 3 },
    233         { "matrix": [3, 4], "x": 10, "y": 3 },
    234         { "matrix": [3, 5], "x": 11, "y": 3 }
    235       ]
    236     },
    237     "LAYOUT_planck_1x2uR": {
    238       "layout": [
    239         { "matrix": [0, 0], "x": 0, "y": 0 },
    240         { "matrix": [0, 1], "x": 1, "y": 0 },
    241         { "matrix": [0, 2], "x": 2, "y": 0 },
    242         { "matrix": [0, 3], "x": 3, "y": 0 },
    243         { "matrix": [0, 4], "x": 4, "y": 0 },
    244         { "matrix": [0, 5], "x": 5, "y": 0 },
    245         { "matrix": [4, 0], "x": 6, "y": 0 },
    246         { "matrix": [4, 1], "x": 7, "y": 0 },
    247         { "matrix": [4, 2], "x": 8, "y": 0 },
    248         { "matrix": [4, 3], "x": 9, "y": 0 },
    249         { "matrix": [4, 4], "x": 10, "y": 0 },
    250         { "matrix": [4, 5], "x": 11, "y": 0 },
    251 
    252         { "matrix": [1, 0], "x": 0, "y": 1 },
    253         { "matrix": [1, 1], "x": 1, "y": 1 },
    254         { "matrix": [1, 2], "x": 2, "y": 1 },
    255         { "matrix": [1, 3], "x": 3, "y": 1 },
    256         { "matrix": [1, 4], "x": 4, "y": 1 },
    257         { "matrix": [1, 5], "x": 5, "y": 1 },
    258         { "matrix": [5, 0], "x": 6, "y": 1 },
    259         { "matrix": [5, 1], "x": 7, "y": 1 },
    260         { "matrix": [5, 2], "x": 8, "y": 1 },
    261         { "matrix": [5, 3], "x": 9, "y": 1 },
    262         { "matrix": [5, 4], "x": 10, "y": 1 },
    263         { "matrix": [5, 5], "x": 11, "y": 1 },
    264 
    265         { "matrix": [2, 0], "x": 0, "y": 2 },
    266         { "matrix": [2, 1], "x": 1, "y": 2 },
    267         { "matrix": [2, 2], "x": 2, "y": 2 },
    268         { "matrix": [2, 3], "x": 3, "y": 2 },
    269         { "matrix": [2, 4], "x": 4, "y": 2 },
    270         { "matrix": [2, 5], "x": 5, "y": 2 },
    271         { "matrix": [6, 0], "x": 6, "y": 2 },
    272         { "matrix": [6, 1], "x": 7, "y": 2 },
    273         { "matrix": [6, 2], "x": 8, "y": 2 },
    274         { "matrix": [6, 3], "x": 9, "y": 2 },
    275         { "matrix": [6, 4], "x": 10, "y": 2 },
    276         { "matrix": [6, 5], "x": 11, "y": 2 },
    277 
    278         { "matrix": [3, 0], "x": 0, "y": 3 },
    279         { "matrix": [3, 1], "x": 1, "y": 3 },
    280         { "matrix": [3, 2], "x": 2, "y": 3 },
    281         { "matrix": [7, 3], "x": 3, "y": 3 },
    282         { "matrix": [7, 4], "x": 4, "y": 3 },
    283         { "matrix": [7, 5], "x": 5, "y": 3 },
    284         { "matrix": [7, 1], "x": 6, "y": 3, "w": 2 },
    285         { "matrix": [7, 2], "x": 8, "y": 3 },
    286         { "matrix": [3, 3], "x": 9, "y": 3 },
    287         { "matrix": [3, 4], "x": 10, "y": 3 },
    288         { "matrix": [3, 5], "x": 11, "y": 3 }
    289       ]
    290     },
    291     "LAYOUT_planck_2x2u": {
    292       "layout": [
    293         { "matrix": [0, 0], "x": 0, "y": 0 },
    294         { "matrix": [0, 1], "x": 1, "y": 0 },
    295         { "matrix": [0, 2], "x": 2, "y": 0 },
    296         { "matrix": [0, 3], "x": 3, "y": 0 },
    297         { "matrix": [0, 4], "x": 4, "y": 0 },
    298         { "matrix": [0, 5], "x": 5, "y": 0 },
    299         { "matrix": [4, 0], "x": 6, "y": 0 },
    300         { "matrix": [4, 1], "x": 7, "y": 0 },
    301         { "matrix": [4, 2], "x": 8, "y": 0 },
    302         { "matrix": [4, 3], "x": 9, "y": 0 },
    303         { "matrix": [4, 4], "x": 10, "y": 0 },
    304         { "matrix": [4, 5], "x": 11, "y": 0 },
    305 
    306         { "matrix": [1, 0], "x": 0, "y": 1 },
    307         { "matrix": [1, 1], "x": 1, "y": 1 },
    308         { "matrix": [1, 2], "x": 2, "y": 1 },
    309         { "matrix": [1, 3], "x": 3, "y": 1 },
    310         { "matrix": [1, 4], "x": 4, "y": 1 },
    311         { "matrix": [1, 5], "x": 5, "y": 1 },
    312         { "matrix": [5, 0], "x": 6, "y": 1 },
    313         { "matrix": [5, 1], "x": 7, "y": 1 },
    314         { "matrix": [5, 2], "x": 8, "y": 1 },
    315         { "matrix": [5, 3], "x": 9, "y": 1 },
    316         { "matrix": [5, 4], "x": 10, "y": 1 },
    317         { "matrix": [5, 5], "x": 11, "y": 1 },
    318 
    319         { "matrix": [2, 0], "x": 0, "y": 2 },
    320         { "matrix": [2, 1], "x": 1, "y": 2 },
    321         { "matrix": [2, 2], "x": 2, "y": 2 },
    322         { "matrix": [2, 3], "x": 3, "y": 2 },
    323         { "matrix": [2, 4], "x": 4, "y": 2 },
    324         { "matrix": [2, 5], "x": 5, "y": 2 },
    325         { "matrix": [6, 0], "x": 6, "y": 2 },
    326         { "matrix": [6, 1], "x": 7, "y": 2 },
    327         { "matrix": [6, 2], "x": 8, "y": 2 },
    328         { "matrix": [6, 3], "x": 9, "y": 2 },
    329         { "matrix": [6, 4], "x": 10, "y": 2 },
    330         { "matrix": [6, 5], "x": 11, "y": 2 },
    331 
    332         { "matrix": [3, 0], "x": 0, "y": 3 },
    333         { "matrix": [3, 1], "x": 1, "y": 3 },
    334         { "matrix": [3, 2], "x": 2, "y": 3 },
    335         { "matrix": [7, 3], "x": 3, "y": 3 },
    336         { "matrix": [7, 5], "x": 4, "y": 3, "w": 2 },
    337         { "matrix": [7, 1], "x": 6, "y": 3, "w": 2 },
    338         { "matrix": [7, 2], "x": 8, "y": 3 },
    339         { "matrix": [3, 3], "x": 9, "y": 3 },
    340         { "matrix": [3, 4], "x": 10, "y": 3 },
    341         { "matrix": [3, 5], "x": 11, "y": 3 }
    342       ]
    343     }
    344   }
    345 }