* 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. | |||
* 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) | |||
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)) | |||
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. | |||
@ -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 |