* Move `kprepublic/jj40` to `kprepublic/jj40/rev1` [chore] * Friendly-format `info.json` [style] * Add layout/matrix diagram [docs] * Refactor keymaps - use four-space indent - grid-align keycodes - refactor to use `LAYOUT_ortho_4x12` macro [refactor] * Rename `LAYOUT_planck_mit` to `LAYOUT_ortho_4x12_1x2u_c` [refactor] * Rename `LAYOUT_planck_1x2uR` to `LAYOUT_ortho_4x12_1x2u_r` [refactor] * Re-sort `layouts` object Places `LAYOUT_ortho_4x12` (the `LAYOUT_all` equivalent) first in sequence. [refactor] * Add `LAYOUT_ortho_4x12_1x2u_l` [enhancement] * Add `LAYOUT_ortho_4x12_2x2u` [enhancement] * Convert `rules.mk` to data driven [chore] * Remove `console` and `command` settings from keyboard level [chore] * Rename `info.json` to `keyboard.json` [chore] [enhancement] * Remove `audio` setting from keyboard level [chore]pull/23307/head
@ -1,211 +0,0 @@ | |||||
{ | |||||
"keyboard_name": "JJ40", | |||||
"manufacturer": "KPrepublic", | |||||
"url": "", | |||||
"maintainer": "qmk", | |||||
"usb": { | |||||
"vid": "0x4B50", | |||||
"pid": "0x0040", | |||||
"device_version": "2.0.0", | |||||
"max_power": 100 | |||||
}, | |||||
"matrix_pins": { | |||||
"cols": ["C4", "C5", "C6", "C7", "A4", "A5", "A6", "A7", "A3", "A2", "A1", "A0"], | |||||
"rows": ["B0", "B1", "B3", "B4"] | |||||
}, | |||||
"diode_direction": "COL2ROW", | |||||
"backlight": { | |||||
"pin": "D4", | |||||
"levels": 12, | |||||
"breathing": true | |||||
}, | |||||
"rgblight": { | |||||
"led_count": 5, | |||||
"animations": { | |||||
"breathing": true, | |||||
"rainbow_mood": true, | |||||
"rainbow_swirl": true, | |||||
"snake": true, | |||||
"knight": true, | |||||
"christmas": true, | |||||
"static_gradient": true, | |||||
"rgb_test": true, | |||||
"alternating": true, | |||||
"twinkle": true | |||||
} | |||||
}, | |||||
"ws2812": { | |||||
"driver": "i2c" | |||||
}, | |||||
"processor": "atmega32a", | |||||
"bootloader": "bootloadhid", | |||||
"community_layouts": ["ortho_4x12", "planck_mit"], | |||||
"layout_aliases": { | |||||
"LAYOUT": "LAYOUT_planck_mit" | |||||
}, | |||||
"layouts": { | |||||
"LAYOUT_planck_mit": { | |||||
"layout": [ | |||||
{"matrix": [0, 0], "x": 0, "y": 0}, | |||||
{"matrix": [0, 1], "x": 1, "y": 0}, | |||||
{"matrix": [0, 2], "x": 2, "y": 0}, | |||||
{"matrix": [0, 3], "x": 3, "y": 0}, | |||||
{"matrix": [0, 4], "x": 4, "y": 0}, | |||||
{"matrix": [0, 5], "x": 5, "y": 0}, | |||||
{"matrix": [0, 6], "x": 6, "y": 0}, | |||||
{"matrix": [0, 7], "x": 7, "y": 0}, | |||||
{"matrix": [0, 8], "x": 8, "y": 0}, | |||||
{"matrix": [0, 9], "x": 9, "y": 0}, | |||||
{"matrix": [0, 10], "x": 10, "y": 0}, | |||||
{"matrix": [0, 11], "x": 11, "y": 0}, | |||||
{"matrix": [1, 0], "x": 0, "y": 1}, | |||||
{"matrix": [1, 1], "x": 1, "y": 1}, | |||||
{"matrix": [1, 2], "x": 2, "y": 1}, | |||||
{"matrix": [1, 3], "x": 3, "y": 1}, | |||||
{"matrix": [1, 4], "x": 4, "y": 1}, | |||||
{"matrix": [1, 5], "x": 5, "y": 1}, | |||||
{"matrix": [1, 6], "x": 6, "y": 1}, | |||||
{"matrix": [1, 7], "x": 7, "y": 1}, | |||||
{"matrix": [1, 8], "x": 8, "y": 1}, | |||||
{"matrix": [1, 9], "x": 9, "y": 1}, | |||||
{"matrix": [1, 10], "x": 10, "y": 1}, | |||||
{"matrix": [1, 11], "x": 11, "y": 1}, | |||||
{"matrix": [2, 0], "x": 0, "y": 2}, | |||||
{"matrix": [2, 1], "x": 1, "y": 2}, | |||||
{"matrix": [2, 2], "x": 2, "y": 2}, | |||||
{"matrix": [2, 3], "x": 3, "y": 2}, | |||||
{"matrix": [2, 4], "x": 4, "y": 2}, | |||||
{"matrix": [2, 5], "x": 5, "y": 2}, | |||||
{"matrix": [2, 6], "x": 6, "y": 2}, | |||||
{"matrix": [2, 7], "x": 7, "y": 2}, | |||||
{"matrix": [2, 8], "x": 8, "y": 2}, | |||||
{"matrix": [2, 9], "x": 9, "y": 2}, | |||||
{"matrix": [2, 10], "x": 10, "y": 2}, | |||||
{"matrix": [2, 11], "x": 11, "y": 2}, | |||||
{"matrix": [3, 0], "x": 0, "y": 3}, | |||||
{"matrix": [3, 1], "x": 1, "y": 3}, | |||||
{"matrix": [3, 2], "x": 2, "y": 3}, | |||||
{"matrix": [3, 3], "x": 3, "y": 3}, | |||||
{"matrix": [3, 4], "x": 4, "y": 3}, | |||||
{"matrix": [3, 5], "x": 5, "y": 3, "w": 2}, | |||||
{"matrix": [3, 7], "x": 7, "y": 3}, | |||||
{"matrix": [3, 8], "x": 8, "y": 3}, | |||||
{"matrix": [3, 9], "x": 9, "y": 3}, | |||||
{"matrix": [3, 10], "x": 10, "y": 3}, | |||||
{"matrix": [3, 11], "x": 11, "y": 3} | |||||
] | |||||
}, | |||||
"LAYOUT_ortho_4x12": { | |||||
"layout": [ | |||||
{"matrix": [0, 0], "x": 0, "y": 0}, | |||||
{"matrix": [0, 1], "x": 1, "y": 0}, | |||||
{"matrix": [0, 2], "x": 2, "y": 0}, | |||||
{"matrix": [0, 3], "x": 3, "y": 0}, | |||||
{"matrix": [0, 4], "x": 4, "y": 0}, | |||||
{"matrix": [0, 5], "x": 5, "y": 0}, | |||||
{"matrix": [0, 6], "x": 6, "y": 0}, | |||||
{"matrix": [0, 7], "x": 7, "y": 0}, | |||||
{"matrix": [0, 8], "x": 8, "y": 0}, | |||||
{"matrix": [0, 9], "x": 9, "y": 0}, | |||||
{"matrix": [0, 10], "x": 10, "y": 0}, | |||||
{"matrix": [0, 11], "x": 11, "y": 0}, | |||||
{"matrix": [1, 0], "x": 0, "y": 1}, | |||||
{"matrix": [1, 1], "x": 1, "y": 1}, | |||||
{"matrix": [1, 2], "x": 2, "y": 1}, | |||||
{"matrix": [1, 3], "x": 3, "y": 1}, | |||||
{"matrix": [1, 4], "x": 4, "y": 1}, | |||||
{"matrix": [1, 5], "x": 5, "y": 1}, | |||||
{"matrix": [1, 6], "x": 6, "y": 1}, | |||||
{"matrix": [1, 7], "x": 7, "y": 1}, | |||||
{"matrix": [1, 8], "x": 8, "y": 1}, | |||||
{"matrix": [1, 9], "x": 9, "y": 1}, | |||||
{"matrix": [1, 10], "x": 10, "y": 1}, | |||||
{"matrix": [1, 11], "x": 11, "y": 1}, | |||||
{"matrix": [2, 0], "x": 0, "y": 2}, | |||||
{"matrix": [2, 1], "x": 1, "y": 2}, | |||||
{"matrix": [2, 2], "x": 2, "y": 2}, | |||||
{"matrix": [2, 3], "x": 3, "y": 2}, | |||||
{"matrix": [2, 4], "x": 4, "y": 2}, | |||||
{"matrix": [2, 5], "x": 5, "y": 2}, | |||||
{"matrix": [2, 6], "x": 6, "y": 2}, | |||||
{"matrix": [2, 7], "x": 7, "y": 2}, | |||||
{"matrix": [2, 8], "x": 8, "y": 2}, | |||||
{"matrix": [2, 9], "x": 9, "y": 2}, | |||||
{"matrix": [2, 10], "x": 10, "y": 2}, | |||||
{"matrix": [2, 11], "x": 11, "y": 2}, | |||||
{"matrix": [3, 0], "x": 0, "y": 3}, | |||||
{"matrix": [3, 1], "x": 1, "y": 3}, | |||||
{"matrix": [3, 2], "x": 2, "y": 3}, | |||||
{"matrix": [3, 3], "x": 3, "y": 3}, | |||||
{"matrix": [3, 4], "x": 4, "y": 3}, | |||||
{"matrix": [3, 5], "x": 5, "y": 3}, | |||||
{"matrix": [3, 6], "x": 6, "y": 3}, | |||||
{"matrix": [3, 7], "x": 7, "y": 3}, | |||||
{"matrix": [3, 8], "x": 8, "y": 3}, | |||||
{"matrix": [3, 9], "x": 9, "y": 3}, | |||||
{"matrix": [3, 10], "x": 10, "y": 3}, | |||||
{"matrix": [3, 11], "x": 11, "y": 3} | |||||
] | |||||
}, | |||||
"LAYOUT_planck_1x2uR": { | |||||
"layout": [ | |||||
{"matrix": [0, 0], "x": 0, "y": 0}, | |||||
{"matrix": [0, 1], "x": 1, "y": 0}, | |||||
{"matrix": [0, 2], "x": 2, "y": 0}, | |||||
{"matrix": [0, 3], "x": 3, "y": 0}, | |||||
{"matrix": [0, 4], "x": 4, "y": 0}, | |||||
{"matrix": [0, 5], "x": 5, "y": 0}, | |||||
{"matrix": [0, 6], "x": 6, "y": 0}, | |||||
{"matrix": [0, 7], "x": 7, "y": 0}, | |||||
{"matrix": [0, 8], "x": 8, "y": 0}, | |||||
{"matrix": [0, 9], "x": 9, "y": 0}, | |||||
{"matrix": [0, 10], "x": 10, "y": 0}, | |||||
{"matrix": [0, 11], "x": 11, "y": 0}, | |||||
{"matrix": [1, 0], "x": 0, "y": 1}, | |||||
{"matrix": [1, 1], "x": 1, "y": 1}, | |||||
{"matrix": [1, 2], "x": 2, "y": 1}, | |||||
{"matrix": [1, 3], "x": 3, "y": 1}, | |||||
{"matrix": [1, 4], "x": 4, "y": 1}, | |||||
{"matrix": [1, 5], "x": 5, "y": 1}, | |||||
{"matrix": [1, 6], "x": 6, "y": 1}, | |||||
{"matrix": [1, 7], "x": 7, "y": 1}, | |||||
{"matrix": [1, 8], "x": 8, "y": 1}, | |||||
{"matrix": [1, 9], "x": 9, "y": 1}, | |||||
{"matrix": [1, 10], "x": 10, "y": 1}, | |||||
{"matrix": [1, 11], "x": 11, "y": 1}, | |||||
{"matrix": [2, 0], "x": 0, "y": 2}, | |||||
{"matrix": [2, 1], "x": 1, "y": 2}, | |||||
{"matrix": [2, 2], "x": 2, "y": 2}, | |||||
{"matrix": [2, 3], "x": 3, "y": 2}, | |||||
{"matrix": [2, 4], "x": 4, "y": 2}, | |||||
{"matrix": [2, 5], "x": 5, "y": 2}, | |||||
{"matrix": [2, 6], "x": 6, "y": 2}, | |||||
{"matrix": [2, 7], "x": 7, "y": 2}, | |||||
{"matrix": [2, 8], "x": 8, "y": 2}, | |||||
{"matrix": [2, 9], "x": 9, "y": 2}, | |||||
{"matrix": [2, 10], "x": 10, "y": 2}, | |||||
{"matrix": [2, 11], "x": 11, "y": 2}, | |||||
{"matrix": [3, 0], "x": 0, "y": 3}, | |||||
{"matrix": [3, 1], "x": 1, "y": 3}, | |||||
{"matrix": [3, 2], "x": 2, "y": 3}, | |||||
{"matrix": [3, 3], "x": 3, "y": 3}, | |||||
{"matrix": [3, 4], "x": 4, "y": 3}, | |||||
{"matrix": [3, 5], "x": 5, "y": 3}, | |||||
{"matrix": [3, 6], "x": 6, "y": 3, "w": 2}, | |||||
{"matrix": [3, 8], "x": 8, "y": 3}, | |||||
{"matrix": [3, 9], "x": 9, "y": 3}, | |||||
{"matrix": [3, 10], "x": 10, "y": 3}, | |||||
{"matrix": [3, 11], "x": 11, "y": 3} | |||||
] | |||||
} | |||||
} | |||||
} |
@ -0,0 +1,328 @@ | |||||
{ | |||||
"keyboard_name": "JJ40 rev1", | |||||
"manufacturer": "KPrepublic", | |||||
"url": "", | |||||
"maintainer": "qmk", | |||||
"usb": { | |||||
"vid": "0x4B50", | |||||
"pid": "0x0040", | |||||
"device_version": "2.0.0", | |||||
"max_power": 100 | |||||
}, | |||||
"matrix_pins": { | |||||
"cols": ["C4", "C5", "C6", "C7", "A4", "A5", "A6", "A7", "A3", "A2", "A1", "A0"], | |||||
"rows": ["B0", "B1", "B3", "B4"] | |||||
}, | |||||
"diode_direction": "COL2ROW", | |||||
"backlight": { | |||||
"pin": "D4", | |||||
"levels": 12, | |||||
"breathing": true | |||||
}, | |||||
"rgblight": { | |||||
"led_count": 5, | |||||
"animations": { | |||||
"breathing": true, | |||||
"rainbow_mood": true, | |||||
"rainbow_swirl": true, | |||||
"snake": true, | |||||
"knight": true, | |||||
"christmas": true, | |||||
"static_gradient": true, | |||||
"rgb_test": true, | |||||
"alternating": true, | |||||
"twinkle": true | |||||
} | |||||
}, | |||||
"ws2812": { | |||||
"driver": "i2c" | |||||
}, | |||||
"processor": "atmega32a", | |||||
"bootloader": "bootloadhid", | |||||
"features": { | |||||
"bootmagic": false, | |||||
"mousekey": false, | |||||
"extrakey": true, | |||||
"nkro": false, | |||||
"backlight": true, | |||||
"rgblight": true | |||||
}, | |||||
"community_layouts": ["ortho_4x12", "planck_mit"], | |||||
"layout_aliases": { | |||||
"LAYOUT": "LAYOUT_ortho_4x12_1x2u_c", | |||||
"LAYOUT_planck_mit": "LAYOUT_ortho_4x12_1x2u_c", | |||||
"LAYOUT_planck_1x2uR": "LAYOUT_ortho_4x12_1x2u_r" | |||||
}, | |||||
"layouts": { | |||||
"LAYOUT_ortho_4x12": { | |||||
"layout": [ | |||||
{"matrix": [0, 0], "x": 0, "y": 0}, | |||||
{"matrix": [0, 1], "x": 1, "y": 0}, | |||||
{"matrix": [0, 2], "x": 2, "y": 0}, | |||||
{"matrix": [0, 3], "x": 3, "y": 0}, | |||||
{"matrix": [0, 4], "x": 4, "y": 0}, | |||||
{"matrix": [0, 5], "x": 5, "y": 0}, | |||||
{"matrix": [0, 6], "x": 6, "y": 0}, | |||||
{"matrix": [0, 7], "x": 7, "y": 0}, | |||||
{"matrix": [0, 8], "x": 8, "y": 0}, | |||||
{"matrix": [0, 9], "x": 9, "y": 0}, | |||||
{"matrix": [0, 10], "x": 10, "y": 0}, | |||||
{"matrix": [0, 11], "x": 11, "y": 0}, | |||||
{"matrix": [1, 0], "x": 0, "y": 1}, | |||||
{"matrix": [1, 1], "x": 1, "y": 1}, | |||||
{"matrix": [1, 2], "x": 2, "y": 1}, | |||||
{"matrix": [1, 3], "x": 3, "y": 1}, | |||||
{"matrix": [1, 4], "x": 4, "y": 1}, | |||||
{"matrix": [1, 5], "x": 5, "y": 1}, | |||||
{"matrix": [1, 6], "x": 6, "y": 1}, | |||||
{"matrix": [1, 7], "x": 7, "y": 1}, | |||||
{"matrix": [1, 8], "x": 8, "y": 1}, | |||||
{"matrix": [1, 9], "x": 9, "y": 1}, | |||||
{"matrix": [1, 10], "x": 10, "y": 1}, | |||||
{"matrix": [1, 11], "x": 11, "y": 1}, | |||||
{"matrix": [2, 0], "x": 0, "y": 2}, | |||||
{"matrix": [2, 1], "x": 1, "y": 2}, | |||||
{"matrix": [2, 2], "x": 2, "y": 2}, | |||||
{"matrix": [2, 3], "x": 3, "y": 2}, | |||||
{"matrix": [2, 4], "x": 4, "y": 2}, | |||||
{"matrix": [2, 5], "x": 5, "y": 2}, | |||||
{"matrix": [2, 6], "x": 6, "y": 2}, | |||||
{"matrix": [2, 7], "x": 7, "y": 2}, | |||||
{"matrix": [2, 8], "x": 8, "y": 2}, | |||||
{"matrix": [2, 9], "x": 9, "y": 2}, | |||||
{"matrix": [2, 10], "x": 10, "y": 2}, | |||||
{"matrix": [2, 11], "x": 11, "y": 2}, | |||||
{"matrix": [3, 0], "x": 0, "y": 3}, | |||||
{"matrix": [3, 1], "x": 1, "y": 3}, | |||||
{"matrix": [3, 2], "x": 2, "y": 3}, | |||||
{"matrix": [3, 3], "x": 3, "y": 3}, | |||||
{"matrix": [3, 4], "x": 4, "y": 3}, | |||||
{"matrix": [3, 5], "x": 5, "y": 3}, | |||||
{"matrix": [3, 6], "x": 6, "y": 3}, | |||||
{"matrix": [3, 7], "x": 7, "y": 3}, | |||||
{"matrix": [3, 8], "x": 8, "y": 3}, | |||||
{"matrix": [3, 9], "x": 9, "y": 3}, | |||||
{"matrix": [3, 10], "x": 10, "y": 3}, | |||||
{"matrix": [3, 11], "x": 11, "y": 3} | |||||
] | |||||
}, | |||||
"LAYOUT_ortho_4x12_1x2u_c": { | |||||
"layout": [ | |||||
{"matrix": [0, 0], "x": 0, "y": 0}, | |||||
{"matrix": [0, 1], "x": 1, "y": 0}, | |||||
{"matrix": [0, 2], "x": 2, "y": 0}, | |||||
{"matrix": [0, 3], "x": 3, "y": 0}, | |||||
{"matrix": [0, 4], "x": 4, "y": 0}, | |||||
{"matrix": [0, 5], "x": 5, "y": 0}, | |||||
{"matrix": [0, 6], "x": 6, "y": 0}, | |||||
{"matrix": [0, 7], "x": 7, "y": 0}, | |||||
{"matrix": [0, 8], "x": 8, "y": 0}, | |||||
{"matrix": [0, 9], "x": 9, "y": 0}, | |||||
{"matrix": [0, 10], "x": 10, "y": 0}, | |||||
{"matrix": [0, 11], "x": 11, "y": 0}, | |||||
{"matrix": [1, 0], "x": 0, "y": 1}, | |||||
{"matrix": [1, 1], "x": 1, "y": 1}, | |||||
{"matrix": [1, 2], "x": 2, "y": 1}, | |||||
{"matrix": [1, 3], "x": 3, "y": 1}, | |||||
{"matrix": [1, 4], "x": 4, "y": 1}, | |||||
{"matrix": [1, 5], "x": 5, "y": 1}, | |||||
{"matrix": [1, 6], "x": 6, "y": 1}, | |||||
{"matrix": [1, 7], "x": 7, "y": 1}, | |||||
{"matrix": [1, 8], "x": 8, "y": 1}, | |||||
{"matrix": [1, 9], "x": 9, "y": 1}, | |||||
{"matrix": [1, 10], "x": 10, "y": 1}, | |||||
{"matrix": [1, 11], "x": 11, "y": 1}, | |||||
{"matrix": [2, 0], "x": 0, "y": 2}, | |||||
{"matrix": [2, 1], "x": 1, "y": 2}, | |||||
{"matrix": [2, 2], "x": 2, "y": 2}, | |||||
{"matrix": [2, 3], "x": 3, "y": 2}, | |||||
{"matrix": [2, 4], "x": 4, "y": 2}, | |||||
{"matrix": [2, 5], "x": 5, "y": 2}, | |||||
{"matrix": [2, 6], "x": 6, "y": 2}, | |||||
{"matrix": [2, 7], "x": 7, "y": 2}, | |||||
{"matrix": [2, 8], "x": 8, "y": 2}, | |||||
{"matrix": [2, 9], "x": 9, "y": 2}, | |||||
{"matrix": [2, 10], "x": 10, "y": 2}, | |||||
{"matrix": [2, 11], "x": 11, "y": 2}, | |||||
{"matrix": [3, 0], "x": 0, "y": 3}, | |||||
{"matrix": [3, 1], "x": 1, "y": 3}, | |||||
{"matrix": [3, 2], "x": 2, "y": 3}, | |||||
{"matrix": [3, 3], "x": 3, "y": 3}, | |||||
{"matrix": [3, 4], "x": 4, "y": 3}, | |||||
{"matrix": [3, 5], "x": 5, "y": 3, "w": 2}, | |||||
{"matrix": [3, 7], "x": 7, "y": 3}, | |||||
{"matrix": [3, 8], "x": 8, "y": 3}, | |||||
{"matrix": [3, 9], "x": 9, "y": 3}, | |||||
{"matrix": [3, 10], "x": 10, "y": 3}, | |||||
{"matrix": [3, 11], "x": 11, "y": 3} | |||||
] | |||||
}, | |||||
"LAYOUT_ortho_4x12_1x2u_l": { | |||||
"layout": [ | |||||
{"matrix": [0, 0], "x": 0, "y": 0}, | |||||
{"matrix": [0, 1], "x": 1, "y": 0}, | |||||
{"matrix": [0, 2], "x": 2, "y": 0}, | |||||
{"matrix": [0, 3], "x": 3, "y": 0}, | |||||
{"matrix": [0, 4], "x": 4, "y": 0}, | |||||
{"matrix": [0, 5], "x": 5, "y": 0}, | |||||
{"matrix": [0, 6], "x": 6, "y": 0}, | |||||
{"matrix": [0, 7], "x": 7, "y": 0}, | |||||
{"matrix": [0, 8], "x": 8, "y": 0}, | |||||
{"matrix": [0, 9], "x": 9, "y": 0}, | |||||
{"matrix": [0, 10], "x": 10, "y": 0}, | |||||
{"matrix": [0, 11], "x": 11, "y": 0}, | |||||
{"matrix": [1, 0], "x": 0, "y": 1}, | |||||
{"matrix": [1, 1], "x": 1, "y": 1}, | |||||
{"matrix": [1, 2], "x": 2, "y": 1}, | |||||
{"matrix": [1, 3], "x": 3, "y": 1}, | |||||
{"matrix": [1, 4], "x": 4, "y": 1}, | |||||
{"matrix": [1, 5], "x": 5, "y": 1}, | |||||
{"matrix": [1, 6], "x": 6, "y": 1}, | |||||
{"matrix": [1, 7], "x": 7, "y": 1}, | |||||
{"matrix": [1, 8], "x": 8, "y": 1}, | |||||
{"matrix": [1, 9], "x": 9, "y": 1}, | |||||
{"matrix": [1, 10], "x": 10, "y": 1}, | |||||
{"matrix": [1, 11], "x": 11, "y": 1}, | |||||
{"matrix": [2, 0], "x": 0, "y": 2}, | |||||
{"matrix": [2, 1], "x": 1, "y": 2}, | |||||
{"matrix": [2, 2], "x": 2, "y": 2}, | |||||
{"matrix": [2, 3], "x": 3, "y": 2}, | |||||
{"matrix": [2, 4], "x": 4, "y": 2}, | |||||
{"matrix": [2, 5], "x": 5, "y": 2}, | |||||
{"matrix": [2, 6], "x": 6, "y": 2}, | |||||
{"matrix": [2, 7], "x": 7, "y": 2}, | |||||
{"matrix": [2, 8], "x": 8, "y": 2}, | |||||
{"matrix": [2, 9], "x": 9, "y": 2}, | |||||
{"matrix": [2, 10], "x": 10, "y": 2}, | |||||
{"matrix": [2, 11], "x": 11, "y": 2}, | |||||
{"matrix": [3, 0], "x": 0, "y": 3}, | |||||
{"matrix": [3, 1], "x": 1, "y": 3}, | |||||
{"matrix": [3, 2], "x": 2, "y": 3}, | |||||
{"matrix": [3, 3], "x": 3, "y": 3}, | |||||
{"matrix": [3, 4], "x": 4, "y": 3, "w": 2}, | |||||
{"matrix": [3, 6], "x": 6, "y": 3}, | |||||
{"matrix": [3, 7], "x": 7, "y": 3}, | |||||
{"matrix": [3, 8], "x": 8, "y": 3}, | |||||
{"matrix": [3, 9], "x": 9, "y": 3}, | |||||
{"matrix": [3, 10], "x": 10, "y": 3}, | |||||
{"matrix": [3, 11], "x": 11, "y": 3} | |||||
] | |||||
}, | |||||
"LAYOUT_ortho_4x12_1x2u_r": { | |||||
"layout": [ | |||||
{"matrix": [0, 0], "x": 0, "y": 0}, | |||||
{"matrix": [0, 1], "x": 1, "y": 0}, | |||||
{"matrix": [0, 2], "x": 2, "y": 0}, | |||||
{"matrix": [0, 3], "x": 3, "y": 0}, | |||||
{"matrix": [0, 4], "x": 4, "y": 0}, | |||||
{"matrix": [0, 5], "x": 5, "y": 0}, | |||||
{"matrix": [0, 6], "x": 6, "y": 0}, | |||||
{"matrix": [0, 7], "x": 7, "y": 0}, | |||||
{"matrix": [0, 8], "x": 8, "y": 0}, | |||||
{"matrix": [0, 9], "x": 9, "y": 0}, | |||||
{"matrix": [0, 10], "x": 10, "y": 0}, | |||||
{"matrix": [0, 11], "x": 11, "y": 0}, | |||||
{"matrix": [1, 0], "x": 0, "y": 1}, | |||||
{"matrix": [1, 1], "x": 1, "y": 1}, | |||||
{"matrix": [1, 2], "x": 2, "y": 1}, | |||||
{"matrix": [1, 3], "x": 3, "y": 1}, | |||||
{"matrix": [1, 4], "x": 4, "y": 1}, | |||||
{"matrix": [1, 5], "x": 5, "y": 1}, | |||||
{"matrix": [1, 6], "x": 6, "y": 1}, | |||||
{"matrix": [1, 7], "x": 7, "y": 1}, | |||||
{"matrix": [1, 8], "x": 8, "y": 1}, | |||||
{"matrix": [1, 9], "x": 9, "y": 1}, | |||||
{"matrix": [1, 10], "x": 10, "y": 1}, | |||||
{"matrix": [1, 11], "x": 11, "y": 1}, | |||||
{"matrix": [2, 0], "x": 0, "y": 2}, | |||||
{"matrix": [2, 1], "x": 1, "y": 2}, | |||||
{"matrix": [2, 2], "x": 2, "y": 2}, | |||||
{"matrix": [2, 3], "x": 3, "y": 2}, | |||||
{"matrix": [2, 4], "x": 4, "y": 2}, | |||||
{"matrix": [2, 5], "x": 5, "y": 2}, | |||||
{"matrix": [2, 6], "x": 6, "y": 2}, | |||||
{"matrix": [2, 7], "x": 7, "y": 2}, | |||||
{"matrix": [2, 8], "x": 8, "y": 2}, | |||||
{"matrix": [2, 9], "x": 9, "y": 2}, | |||||
{"matrix": [2, 10], "x": 10, "y": 2}, | |||||
{"matrix": [2, 11], "x": 11, "y": 2}, | |||||
{"matrix": [3, 0], "x": 0, "y": 3}, | |||||
{"matrix": [3, 1], "x": 1, "y": 3}, | |||||
{"matrix": [3, 2], "x": 2, "y": 3}, | |||||
{"matrix": [3, 3], "x": 3, "y": 3}, | |||||
{"matrix": [3, 4], "x": 4, "y": 3}, | |||||
{"matrix": [3, 5], "x": 5, "y": 3}, | |||||
{"matrix": [3, 6], "x": 6, "y": 3, "w": 2}, | |||||
{"matrix": [3, 8], "x": 8, "y": 3}, | |||||
{"matrix": [3, 9], "x": 9, "y": 3}, | |||||
{"matrix": [3, 10], "x": 10, "y": 3}, | |||||
{"matrix": [3, 11], "x": 11, "y": 3} | |||||
] | |||||
}, | |||||
"LAYOUT_ortho_4x12_2x2u": { | |||||
"layout": [ | |||||
{"matrix": [0, 0], "x": 0, "y": 0}, | |||||
{"matrix": [0, 1], "x": 1, "y": 0}, | |||||
{"matrix": [0, 2], "x": 2, "y": 0}, | |||||
{"matrix": [0, 3], "x": 3, "y": 0}, | |||||
{"matrix": [0, 4], "x": 4, "y": 0}, | |||||
{"matrix": [0, 5], "x": 5, "y": 0}, | |||||
{"matrix": [0, 6], "x": 6, "y": 0}, | |||||
{"matrix": [0, 7], "x": 7, "y": 0}, | |||||
{"matrix": [0, 8], "x": 8, "y": 0}, | |||||
{"matrix": [0, 9], "x": 9, "y": 0}, | |||||
{"matrix": [0, 10], "x": 10, "y": 0}, | |||||
{"matrix": [0, 11], "x": 11, "y": 0}, | |||||
{"matrix": [1, 0], "x": 0, "y": 1}, | |||||
{"matrix": [1, 1], "x": 1, "y": 1}, | |||||
{"matrix": [1, 2], "x": 2, "y": 1}, | |||||
{"matrix": [1, 3], "x": 3, "y": 1}, | |||||
{"matrix": [1, 4], "x": 4, "y": 1}, | |||||
{"matrix": [1, 5], "x": 5, "y": 1}, | |||||
{"matrix": [1, 6], "x": 6, "y": 1}, | |||||
{"matrix": [1, 7], "x": 7, "y": 1}, | |||||
{"matrix": [1, 8], "x": 8, "y": 1}, | |||||
{"matrix": [1, 9], "x": 9, "y": 1}, | |||||
{"matrix": [1, 10], "x": 10, "y": 1}, | |||||
{"matrix": [1, 11], "x": 11, "y": 1}, | |||||
{"matrix": [2, 0], "x": 0, "y": 2}, | |||||
{"matrix": [2, 1], "x": 1, "y": 2}, | |||||
{"matrix": [2, 2], "x": 2, "y": 2}, | |||||
{"matrix": [2, 3], "x": 3, "y": 2}, | |||||
{"matrix": [2, 4], "x": 4, "y": 2}, | |||||
{"matrix": [2, 5], "x": 5, "y": 2}, | |||||
{"matrix": [2, 6], "x": 6, "y": 2}, | |||||
{"matrix": [2, 7], "x": 7, "y": 2}, | |||||
{"matrix": [2, 8], "x": 8, "y": 2}, | |||||
{"matrix": [2, 9], "x": 9, "y": 2}, | |||||
{"matrix": [2, 10], "x": 10, "y": 2}, | |||||
{"matrix": [2, 11], "x": 11, "y": 2}, | |||||
{"matrix": [3, 0], "x": 0, "y": 3}, | |||||
{"matrix": [3, 1], "x": 1, "y": 3}, | |||||
{"matrix": [3, 2], "x": 2, "y": 3}, | |||||
{"matrix": [3, 3], "x": 3, "y": 3}, | |||||
{"matrix": [3, 4], "x": 4, "y": 3, "w": 2}, | |||||
{"matrix": [3, 6], "x": 6, "y": 3, "w": 2}, | |||||
{"matrix": [3, 8], "x": 8, "y": 3}, | |||||
{"matrix": [3, 9], "x": 9, "y": 3}, | |||||
{"matrix": [3, 10], "x": 10, "y": 3}, | |||||
{"matrix": [3, 11], "x": 11, "y": 3} | |||||
] | |||||
} | |||||
} | |||||
} |
@ -0,0 +1,19 @@ | |||||
# Matrix Diagram for KPrepublic JJ40 rev1 | |||||
``` | |||||
┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ | |||||
│00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │ | |||||
├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤ | |||||
│10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │ | |||||
├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤ | |||||
│20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │ | |||||
├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤ | |||||
│30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │ | |||||
└───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┘ | |||||
┌───────┐ | |||||
│35 │ 1x2u_c (MIT) | |||||
└───────┘ | |||||
┌───────┬───────┐ | |||||
│34 │36 │ 2x2u_c | |||||
└───────┴───────┘ | |||||
``` |
@ -1,20 +1,20 @@ | |||||
# jj40 | |||||
# JJ40 rev1 | |||||
![jj40](https://ae01.alicdn.com/kf/HTB18bq6bOERMeJjSspiq6zZLFXar.jpg?size=359506&height=562&width=750&hash=663a22d0109e2416ec8f54a7658686da) | |||||
![JJ40 rev1](https://ae01.alicdn.com/kf/HTB18bq6bOERMeJjSspiq6zZLFXar.jpg?size=359506&height=562&width=750&hash=663a22d0109e2416ec8f54a7658686da) | |||||
A compact 40% (12x4) ortholinear keyboard kit made and KPRepublic on AliExpress. | A compact 40% (12x4) ortholinear keyboard kit made and KPRepublic on AliExpress. | ||||
* Keyboard Maintainer: [QMK Community](https://github.com/qmk) | * Keyboard Maintainer: [QMK Community](https://github.com/qmk) | ||||
* Hardware Supported: Atmega32A | |||||
* Hardware Supported: JJ40 rev1 (Atmega32A) | |||||
* Hardware Availability: [AliExpress](https://www.aliexpress.com/store/product/jj40-Custom-Mechanical-Keyboard-40-PCB-programmed-40-planck-layouts-bface-firmware-gh40/3034003_32828781103.html) | * Hardware Availability: [AliExpress](https://www.aliexpress.com/store/product/jj40-Custom-Mechanical-Keyboard-40-PCB-programmed-40-planck-layouts-bface-firmware-gh40/3034003_32828781103.html) | ||||
Make example for this keyboard (after setting up your build environment): | Make example for this keyboard (after setting up your build environment): | ||||
make kprepublic/jj40:default | |||||
make kprepublic/jj40/rev1:default | |||||
Flashing example for this keyboard ([after setting up the bootloadHID flashing environment](https://docs.qmk.fm/#/flashing_bootloadhid)) | Flashing example for this keyboard ([after setting up the bootloadHID flashing environment](https://docs.qmk.fm/#/flashing_bootloadhid)) | ||||
make kprepublic/jj40:default:flash | |||||
make kprepublic/jj40/rev1:default:flash | |||||
**Reset Key**: Hold down the *Top Right Key* key, commonly programmed as *Backspace* while plugging in the keyboard. | **Reset Key**: Hold down the *Top Right Key* key, commonly programmed as *Backspace* while plugging in the keyboard. | ||||
@ -0,0 +1,2 @@ | |||||
# Disable unsupported hardware | |||||
AUDIO_SUPPORTED = no |
@ -1,15 +1 @@ | |||||
# Build Options | |||||
# change yes to no to disable | |||||
# | |||||
BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite | |||||
MOUSEKEY_ENABLE = no # Mouse keys | |||||
EXTRAKEY_ENABLE = yes # Audio control and System control | |||||
CONSOLE_ENABLE = no # Console for debug | |||||
COMMAND_ENABLE = no # Commands for debug and configuration | |||||
NKRO_ENABLE = no # Enable N-Key Rollover | |||||
BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality | |||||
RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow | |||||
AUDIO_ENABLE = no # Audio output | |||||
# Disable unsupported hardware | |||||
AUDIO_SUPPORTED = no | |||||
DEFAULT_FOLDER = kprepublic/jj40/rev1 |