qmk_firmware

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

keyboard.json (7752B)


      1 {
      2     "manufacturer": "Controller Works",
      3     "keyboard_name": "city42",
      4     "maintainer": "controller-works",
      5     "bootloader": "rp2040",
      6     "build": {
      7         "lto": true
      8     },
      9     "diode_direction": "COL2ROW",
     10     "features": {
     11         "bootmagic": true,
     12         "extrakey": true,
     13         "mousekey": true,
     14         "nkro": true,
     15         "rgb_matrix": true,
     16         "pointing_device": true
     17     },
     18     "matrix_pins": {
     19         "cols": ["GP28", "GP27", "GP26", "GP25", "GP24", "GP23", "GP0", "GP1", "GP2", "GP3", "GP4", "GP5"],
     20         "rows": ["GP12", "GP13", "GP14", "GP15"]
     21     },
     22     "processor": "RP2040",
     23     "rgb_matrix": {
     24         "animations": {
     25             "alphas_mods": true,
     26             "gradient_up_down": true,
     27             "gradient_left_right": true,
     28             "breathing": true,
     29             "band_sat": true,
     30             "band_val": true,
     31             "band_pinwheel_sat": true,
     32             "band_pinwheel_val": true,
     33             "band_spiral_sat": true,
     34             "band_spiral_val": true,
     35             "cycle_all": true,
     36             "cycle_left_right": true,
     37             "cycle_up_down": true,
     38             "cycle_out_in": true,
     39             "cycle_out_in_dual": true,
     40             "rainbow_moving_chevron": true,           
     41             "cycle_pinwheel": true,
     42             "cycle_spiral": true,
     43             "dual_beacon": true,
     44             "rainbow_beacon": true,
     45             "rainbow_pinwheels": true,
     46             "raindrops": true,
     47             "jellybean_raindrops": true,
     48             "hue_breathing": true,
     49             "hue_pendulum": true,
     50             "hue_wave": true,
     51             "pixel_fractal": true,
     52             "pixel_flow": true,
     53             "pixel_rain": true,
     54             "typing_heatmap": true,
     55             "digital_rain": true,
     56             "solid_reactive_simple": true,
     57             "solid_reactive": true,
     58             "solid_reactive_wide": true,
     59             "solid_reactive_multiwide": true,
     60             "solid_reactive_cross": true,
     61             "solid_reactive_multicross": true,
     62             "solid_reactive_nexus": true,
     63             "solid_reactive_multinexus": true,
     64             "splash": true,
     65             "multisplash": true,
     66             "solid_splash": true,
     67             "solid_multisplash": true
     68         },
     69         "driver": "ws2812",
     70         "layout": [
     71             {"matrix": [0, 5], "x": 80, "y": 17, "flags": 4},
     72             {"matrix": [0, 4], "x": 66, "y": 11, "flags": 4},
     73             {"matrix": [0, 3], "x": 52, "y": 6, "flags": 4},
     74             {"matrix": [0, 2], "x": 37, "y": 4, "flags": 4},
     75             {"matrix": [0, 1], "x": 22, "y": 4, "flags": 4},
     76             {"matrix": [0, 0], "x": 8, "y": 0, "flags": 1},
     77             {"matrix": [1, 0], "x": 4, "y": 13, "flags": 1},
     78             {"matrix": [1, 1], "x": 18, "y": 17, "flags": 4},
     79             {"matrix": [1, 2], "x": 34, "y": 17, "flags": 4},
     80             {"matrix": [1, 3], "x": 49, "y": 18, "flags": 4},
     81             {"matrix": [1, 4], "x": 63, "y": 24, "flags": 4},
     82             {"matrix": [1, 5], "x": 76, "y": 29, "flags": 4},
     83             {"matrix": [2, 5], "x": 73, "y": 43, "flags": 4},
     84             {"matrix": [2, 4], "x": 59, "y": 37, "flags": 4},
     85             {"matrix": [2, 3], "x": 45, "y": 32, "flags": 4},
     86             {"matrix": [2, 2], "x": 30, "y": 30, "flags": 4},
     87             {"matrix": [2, 1], "x": 15, "y": 29, "flags": 4},
     88             {"matrix": [2, 0], "x": 0, "y": 26, "flags": 1},
     89             {"matrix": [3, 3], "x": 49, "y": 50, "flags": 1},
     90             {"matrix": [3, 4], "x": 66, "y": 56, "flags": 1},
     91             {"matrix": [3, 5], "x": 76, "y": 64, "flags": 1},
     92             {"matrix": [3, 6], "x": 148, "y": 64, "flags": 1},
     93             {"matrix": [3, 7], "x": 158, "y": 56, "flags": 1},
     94             {"matrix": [3, 8], "x": 175, "y": 50, "flags": 1},
     95             {"matrix": [2, 11], "x": 224, "y": 26, "flags": 1},
     96             {"matrix": [2, 10], "x": 209, "y": 29, "flags": 4},
     97             {"matrix": [2, 9], "x": 193, "y": 29, "flags": 4},
     98             {"matrix": [2, 8], "x": 179, "y": 32, "flags": 4},
     99             {"matrix": [2, 7], "x": 165, "y": 37, "flags": 4},
    100             {"matrix": [2, 6], "x": 151, "y": 43, "flags": 4},
    101             {"matrix": [1, 6], "x": 148, "y": 30, "flags": 4},
    102             {"matrix": [1, 7], "x": 161, "y": 24, "flags": 4},
    103             {"matrix": [1, 8], "x": 175, "y": 18, "flags": 4},
    104             {"matrix": [1, 9], "x": 190, "y": 17, "flags": 4},
    105             {"matrix": [1, 10], "x": 206, "y": 17, "flags": 4},
    106             {"matrix": [1, 11], "x": 220, "y": 13, "flags": 1},
    107             {"matrix": [0, 11], "x": 217, "y": 0, "flags": 1},
    108             {"matrix": [0, 10], "x": 202, "y": 4, "flags": 4},
    109             {"matrix": [0, 9], "x": 187, "y": 4, "flags": 4},
    110             {"matrix": [0, 8], "x": 172, "y": 6, "flags": 4},
    111             {"matrix": [0, 7], "x": 158, "y": 11, "flags": 4},
    112             {"matrix": [0, 6], "x": 144, "y": 17, "flags": 4}
    113         ],
    114         "max_brightness": 150
    115     },
    116     "tags": ["RP2040", "choc v1", "choc spaced"],
    117     "url": "https://controller.works/products/city42-ergonomic-keyboard",
    118     "usb": {
    119         "device_version": "1.0.0",
    120         "pid": "0x0005",
    121         "vid": "0x4357"
    122     },
    123     "ws2812": {
    124         "driver": "vendor",
    125         "pin": "GP29"
    126     },
    127     "community_layouts": ["split_3x6_3"],
    128     "layouts": {
    129         "LAYOUT_split_3x6_3": {
    130             "layout": [
    131                 {"matrix": [0, 0], "x": 0, "y": 0.4},
    132                 {"matrix": [0, 1], "x": 1, "y": 0.4},
    133                 {"matrix": [0, 2], "x": 2, "y": 0.125},
    134                 {"matrix": [0, 3], "x": 3, "y": 0},
    135                 {"matrix": [0, 4], "x": 4, "y": 0.125},
    136                 {"matrix": [0, 5], "x": 5, "y": 0.25},
    137                 {"matrix": [0, 6], "x": 8, "y": 0.25},
    138                 {"matrix": [0, 7], "x": 9, "y": 0.125},
    139                 {"matrix": [0, 8], "x": 10, "y": 0},
    140                 {"matrix": [0, 9], "x": 11, "y": 0.125},
    141                 {"matrix": [0, 10], "x": 12, "y": 0.4},
    142                 {"matrix": [0, 11], "x": 13, "y": 0.4},
    143                 {"matrix": [1, 0], "x": 0, "y": 1.4},
    144                 {"matrix": [1, 1], "x": 1, "y": 1.4},
    145                 {"matrix": [1, 2], "x": 2, "y": 1.125},
    146                 {"matrix": [1, 3], "x": 3, "y": 1},
    147                 {"matrix": [1, 4], "x": 4, "y": 1.125},
    148                 {"matrix": [1, 5], "x": 5, "y": 1.25},
    149                 {"matrix": [1, 6], "x": 8, "y": 1.25},
    150                 {"matrix": [1, 7], "x": 9, "y": 1.125},
    151                 {"matrix": [1, 8], "x": 10, "y": 1},
    152                 {"matrix": [1, 9], "x": 11, "y": 1.125},
    153                 {"matrix": [1, 10], "x": 12, "y": 1.4},
    154                 {"matrix": [1, 11], "x": 13, "y": 1.4},
    155                 {"matrix": [2, 0], "x": 0, "y": 2.4},
    156                 {"matrix": [2, 1], "x": 1, "y": 2.4},
    157                 {"matrix": [2, 2], "x": 2, "y": 2.125},
    158                 {"matrix": [2, 3], "x": 3, "y": 2},
    159                 {"matrix": [2, 4], "x": 4, "y": 2.125},
    160                 {"matrix": [2, 5], "x": 5, "y": 2.25},
    161                 {"matrix": [2, 6], "x": 8, "y": 2.25},
    162                 {"matrix": [2, 7], "x": 9, "y": 2.125},
    163                 {"matrix": [2, 8], "x": 10, "y": 2},
    164                 {"matrix": [2, 9], "x": 11, "y": 2.125},
    165                 {"matrix": [2, 10], "x": 12, "y": 2.4},
    166                 {"matrix": [2, 11], "x": 13, "y": 2.4},
    167                 {"matrix": [3, 3], "x": 3.5, "y": 3.25},
    168                 {"matrix": [3, 4], "x": 4.5, "y": 3.5},
    169                 {"matrix": [3, 5], "x": 5.5, "y": 3.75, "h": 1.5},
    170                 {"matrix": [3, 6], "x": 7.5, "y": 3.75, "h": 1.5},
    171                 {"matrix": [3, 7], "x": 8.5, "y": 3.5},
    172                 {"matrix": [3, 8], "x": 9.5, "y": 3.25}
    173             ]
    174         }
    175     }
    176 }