mirror of
https://github.com/qmk/qmk_firmware.git
synced 2024-11-27 05:36:52 +00:00
Merge branch 'qmk:master' into Documentation
This commit is contained in:
commit
92c93e25b3
@ -41,6 +41,8 @@ export default defineConfig(({ mode }) => {
|
|||||||
|
|
||||||
sidebar: sidebar,
|
sidebar: sidebar,
|
||||||
|
|
||||||
|
externalLinkIcon: true,
|
||||||
|
|
||||||
socialLinks: [
|
socialLinks: [
|
||||||
{ icon: { svg: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 50 50" width="50px" height="50px"><path d="M 29 3 C 28.0625 3 27.164063 3.382813 26.5 4 C 25.835938 4.617188 25.363281 5.433594 25 6.40625 C 24.355469 8.140625 24.085938 10.394531 24.03125 13.03125 C 19.234375 13.179688 14.820313 14.421875 11.28125 16.46875 C 10.214844 15.46875 8.855469 14.96875 7.5 14.96875 C 6.089844 14.96875 4.675781 15.511719 3.59375 16.59375 C 1.425781 18.761719 1.425781 22.238281 3.59375 24.40625 L 3.84375 24.65625 C 3.3125 26.035156 3 27.488281 3 29 C 3 33.527344 5.566406 37.585938 9.5625 40.4375 C 13.558594 43.289063 19.007813 45 25 45 C 30.992188 45 36.441406 43.289063 40.4375 40.4375 C 44.433594 37.585938 47 33.527344 47 29 C 47 27.488281 46.6875 26.035156 46.15625 24.65625 L 46.40625 24.40625 C 48.574219 22.238281 48.574219 18.761719 46.40625 16.59375 C 45.324219 15.511719 43.910156 14.96875 42.5 14.96875 C 41.144531 14.96875 39.785156 15.46875 38.71875 16.46875 C 35.195313 14.433594 30.800781 13.191406 26.03125 13.03125 C 26.09375 10.546875 26.363281 8.46875 26.875 7.09375 C 27.164063 6.316406 27.527344 5.757813 27.875 5.4375 C 28.222656 5.117188 28.539063 5 29 5 C 29.460938 5 29.683594 5.125 30.03125 5.40625 C 30.378906 5.6875 30.785156 6.148438 31.3125 6.6875 C 32.253906 7.652344 33.695313 8.714844 36.09375 8.9375 C 36.539063 11.238281 38.574219 13 41 13 C 43.75 13 46 10.75 46 8 C 46 5.25 43.75 3 41 3 C 38.605469 3 36.574219 4.710938 36.09375 6.96875 C 34.3125 6.796875 33.527344 6.109375 32.75 5.3125 C 32.300781 4.851563 31.886719 4.3125 31.3125 3.84375 C 30.738281 3.375 29.9375 3 29 3 Z M 41 5 C 42.667969 5 44 6.332031 44 8 C 44 9.667969 42.667969 11 41 11 C 39.332031 11 38 9.667969 38 8 C 38 6.332031 39.332031 5 41 5 Z M 25 15 C 30.609375 15 35.675781 16.613281 39.28125 19.1875 C 42.886719 21.761719 45 25.226563 45 29 C 45 32.773438 42.886719 36.238281 39.28125 38.8125 C 35.675781 41.386719 30.609375 43 25 43 C 19.390625 43 14.324219 41.386719 10.71875 38.8125 C 7.113281 36.238281 5 32.773438 5 29 C 5 25.226563 7.113281 21.761719 10.71875 19.1875 C 14.324219 16.613281 19.390625 15 25 15 Z M 7.5 16.9375 C 8.203125 16.9375 8.914063 17.148438 9.53125 17.59375 C 7.527344 19.03125 5.886719 20.769531 4.75 22.71875 C 3.582031 21.296875 3.660156 19.339844 5 18 C 5.714844 17.285156 6.609375 16.9375 7.5 16.9375 Z M 42.5 16.9375 C 43.390625 16.9375 44.285156 17.285156 45 18 C 46.339844 19.339844 46.417969 21.296875 45.25 22.71875 C 44.113281 20.769531 42.472656 19.03125 40.46875 17.59375 C 41.085938 17.148438 41.796875 16.9375 42.5 16.9375 Z M 17 22 C 14.800781 22 13 23.800781 13 26 C 13 28.199219 14.800781 30 17 30 C 19.199219 30 21 28.199219 21 26 C 21 23.800781 19.199219 22 17 22 Z M 33 22 C 30.800781 22 29 23.800781 29 26 C 29 28.199219 30.800781 30 33 30 C 35.199219 30 37 28.199219 37 26 C 37 23.800781 35.199219 22 33 22 Z M 17 24 C 18.117188 24 19 24.882813 19 26 C 19 27.117188 18.117188 28 17 28 C 15.882813 28 15 27.117188 15 26 C 15 24.882813 15.882813 24 17 24 Z M 33 24 C 34.117188 24 35 24.882813 35 26 C 35 27.117188 34.117188 28 33 28 C 31.882813 28 31 27.117188 31 26 C 31 24.882813 31.882813 24 33 24 Z M 34.15625 33.84375 C 34.101563 33.851563 34.050781 33.859375 34 33.875 C 33.683594 33.9375 33.417969 34.144531 33.28125 34.4375 C 33.28125 34.4375 32.757813 35.164063 31.4375 36 C 30.117188 36.835938 28.058594 37.6875 25 37.6875 C 21.941406 37.6875 19.882813 36.835938 18.5625 36 C 17.242188 35.164063 16.71875 34.4375 16.71875 34.4375 C 16.492188 34.082031 16.066406 33.90625 15.65625 34 C 15.332031 34.082031 15.070313 34.316406 14.957031 34.632813 C 14.84375 34.945313 14.894531 35.292969 15.09375 35.5625 C 15.09375 35.5625 15.863281 36.671875 17.46875 37.6875 C 19.074219 38.703125 21.558594 39.6875 25 39.6875 C 28.441406 39.6875 30.925781 38.703125 32.53125 37.6875 C 34.136719 36.671875 34.90625 35.5625 34.90625 35.5625 C 35.207031 35.273438 35.296875 34.824219 35.128906 34.441406 C 34.960938 34.058594 34.574219 33.820313 34.15625 33.84375 Z"/></svg>' }, link: "https://reddit.com/r/olkb" },
|
{ icon: { svg: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 50 50" width="50px" height="50px"><path d="M 29 3 C 28.0625 3 27.164063 3.382813 26.5 4 C 25.835938 4.617188 25.363281 5.433594 25 6.40625 C 24.355469 8.140625 24.085938 10.394531 24.03125 13.03125 C 19.234375 13.179688 14.820313 14.421875 11.28125 16.46875 C 10.214844 15.46875 8.855469 14.96875 7.5 14.96875 C 6.089844 14.96875 4.675781 15.511719 3.59375 16.59375 C 1.425781 18.761719 1.425781 22.238281 3.59375 24.40625 L 3.84375 24.65625 C 3.3125 26.035156 3 27.488281 3 29 C 3 33.527344 5.566406 37.585938 9.5625 40.4375 C 13.558594 43.289063 19.007813 45 25 45 C 30.992188 45 36.441406 43.289063 40.4375 40.4375 C 44.433594 37.585938 47 33.527344 47 29 C 47 27.488281 46.6875 26.035156 46.15625 24.65625 L 46.40625 24.40625 C 48.574219 22.238281 48.574219 18.761719 46.40625 16.59375 C 45.324219 15.511719 43.910156 14.96875 42.5 14.96875 C 41.144531 14.96875 39.785156 15.46875 38.71875 16.46875 C 35.195313 14.433594 30.800781 13.191406 26.03125 13.03125 C 26.09375 10.546875 26.363281 8.46875 26.875 7.09375 C 27.164063 6.316406 27.527344 5.757813 27.875 5.4375 C 28.222656 5.117188 28.539063 5 29 5 C 29.460938 5 29.683594 5.125 30.03125 5.40625 C 30.378906 5.6875 30.785156 6.148438 31.3125 6.6875 C 32.253906 7.652344 33.695313 8.714844 36.09375 8.9375 C 36.539063 11.238281 38.574219 13 41 13 C 43.75 13 46 10.75 46 8 C 46 5.25 43.75 3 41 3 C 38.605469 3 36.574219 4.710938 36.09375 6.96875 C 34.3125 6.796875 33.527344 6.109375 32.75 5.3125 C 32.300781 4.851563 31.886719 4.3125 31.3125 3.84375 C 30.738281 3.375 29.9375 3 29 3 Z M 41 5 C 42.667969 5 44 6.332031 44 8 C 44 9.667969 42.667969 11 41 11 C 39.332031 11 38 9.667969 38 8 C 38 6.332031 39.332031 5 41 5 Z M 25 15 C 30.609375 15 35.675781 16.613281 39.28125 19.1875 C 42.886719 21.761719 45 25.226563 45 29 C 45 32.773438 42.886719 36.238281 39.28125 38.8125 C 35.675781 41.386719 30.609375 43 25 43 C 19.390625 43 14.324219 41.386719 10.71875 38.8125 C 7.113281 36.238281 5 32.773438 5 29 C 5 25.226563 7.113281 21.761719 10.71875 19.1875 C 14.324219 16.613281 19.390625 15 25 15 Z M 7.5 16.9375 C 8.203125 16.9375 8.914063 17.148438 9.53125 17.59375 C 7.527344 19.03125 5.886719 20.769531 4.75 22.71875 C 3.582031 21.296875 3.660156 19.339844 5 18 C 5.714844 17.285156 6.609375 16.9375 7.5 16.9375 Z M 42.5 16.9375 C 43.390625 16.9375 44.285156 17.285156 45 18 C 46.339844 19.339844 46.417969 21.296875 45.25 22.71875 C 44.113281 20.769531 42.472656 19.03125 40.46875 17.59375 C 41.085938 17.148438 41.796875 16.9375 42.5 16.9375 Z M 17 22 C 14.800781 22 13 23.800781 13 26 C 13 28.199219 14.800781 30 17 30 C 19.199219 30 21 28.199219 21 26 C 21 23.800781 19.199219 22 17 22 Z M 33 22 C 30.800781 22 29 23.800781 29 26 C 29 28.199219 30.800781 30 33 30 C 35.199219 30 37 28.199219 37 26 C 37 23.800781 35.199219 22 33 22 Z M 17 24 C 18.117188 24 19 24.882813 19 26 C 19 27.117188 18.117188 28 17 28 C 15.882813 28 15 27.117188 15 26 C 15 24.882813 15.882813 24 17 24 Z M 33 24 C 34.117188 24 35 24.882813 35 26 C 35 27.117188 34.117188 28 33 28 C 31.882813 28 31 27.117188 31 26 C 31 24.882813 31.882813 24 33 24 Z M 34.15625 33.84375 C 34.101563 33.851563 34.050781 33.859375 34 33.875 C 33.683594 33.9375 33.417969 34.144531 33.28125 34.4375 C 33.28125 34.4375 32.757813 35.164063 31.4375 36 C 30.117188 36.835938 28.058594 37.6875 25 37.6875 C 21.941406 37.6875 19.882813 36.835938 18.5625 36 C 17.242188 35.164063 16.71875 34.4375 16.71875 34.4375 C 16.492188 34.082031 16.066406 33.90625 15.65625 34 C 15.332031 34.082031 15.070313 34.316406 14.957031 34.632813 C 14.84375 34.945313 14.894531 35.292969 15.09375 35.5625 C 15.09375 35.5625 15.863281 36.671875 17.46875 37.6875 C 19.074219 38.703125 21.558594 39.6875 25 39.6875 C 28.441406 39.6875 30.925781 38.703125 32.53125 37.6875 C 34.136719 36.671875 34.90625 35.5625 34.90625 35.5625 C 35.207031 35.273438 35.296875 34.824219 35.128906 34.441406 C 34.960938 34.058594 34.574219 33.820313 34.15625 33.84375 Z"/></svg>' }, link: "https://reddit.com/r/olkb" },
|
||||||
{ icon: "discord", link: "https://discord.gg/qmk" },
|
{ icon: "discord", link: "https://discord.gg/qmk" },
|
||||||
|
@ -4,7 +4,7 @@ Your computer keyboard has a processor inside of it, similar to the one inside y
|
|||||||
|
|
||||||
QMK tries to put a lot of power into your hands by making easy things easy, and hard things possible. You don't have to know how to program to create powerful keymaps — you only have to follow a few simple syntax rules.
|
QMK tries to put a lot of power into your hands by making easy things easy, and hard things possible. You don't have to know how to program to create powerful keymaps — you only have to follow a few simple syntax rules.
|
||||||
|
|
||||||
Not sure if your keyboard can run QMK? If it's a mechanical keyboard you built yourself chances are good it can. We support a [large number of hobbyist boards](https://qmk.fm/keyboards/). If your current keyboard can't run QMK there are a lot of choices out there for boards that do.
|
Not sure if your keyboard can run QMK? If it's a mechanical keyboard you built yourself chances are good it can. We support a [large number of hobbyist boards](https://browse.qmk.fm/). If your current keyboard can't run QMK there are a lot of choices out there for boards that do.
|
||||||
|
|
||||||
::: tip Is This Guide For Me?
|
::: tip Is This Guide For Me?
|
||||||
If the thought of programming intimidates you, please [take a look at our online GUI](newbs_building_firmware_configurator) instead.
|
If the thought of programming intimidates you, please [take a look at our online GUI](newbs_building_firmware_configurator) instead.
|
||||||
|
@ -16,7 +16,7 @@ You can create `info.json` files at every level under `qmk_firmware/keyboards/<k
|
|||||||
* A free-form text string describing the keyboard's manufacturer. This will be used as the USB manufacturer string. Can include Unicode characters, escaped to ASCII eg. `\u03A8` (Ψ).
|
* A free-form text string describing the keyboard's manufacturer. This will be used as the USB manufacturer string. Can include Unicode characters, escaped to ASCII eg. `\u03A8` (Ψ).
|
||||||
* Example: `"Clueboard"`
|
* Example: `"Clueboard"`
|
||||||
* `url` <Badge type="info">String</Badge> <Badge>Required</Badge>
|
* `url` <Badge type="info">String</Badge> <Badge>Required</Badge>
|
||||||
* A URL to the keyboard's product page, [QMK.fm/keyboards](https://qmk.fm/keyboards) page, or other page describing information about the keyboard.
|
* A URL to the keyboard's product page, [QMK Keyboards](https://browse.qmk.fm/) page, or other page describing information about the keyboard.
|
||||||
* Example: `"https://clueboard.co"`
|
* Example: `"https://clueboard.co"`
|
||||||
* `bootloader_instructions` <Badge type="info">String</Badge>
|
* `bootloader_instructions` <Badge type="info">String</Badge>
|
||||||
* Instructions for putting the keyboard into a mode that allows for firmware flashing.
|
* Instructions for putting the keyboard into a mode that allows for firmware flashing.
|
||||||
|
@ -112,9 +112,9 @@
|
|||||||
{"matrix": [5, 1], "x": 1.25, "y": 5.25, "w": 1.25},
|
{"matrix": [5, 1], "x": 1.25, "y": 5.25, "w": 1.25},
|
||||||
{"matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.25},
|
{"matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.25},
|
||||||
{"matrix": [5, 6], "x": 3.75, "y": 5.25, "w": 6.25},
|
{"matrix": [5, 6], "x": 3.75, "y": 5.25, "w": 6.25},
|
||||||
{"matrix": [5, 10], "x": 10, "y": 5.25, "w": 1},
|
{"matrix": [5, 10], "x": 10, "y": 5.25},
|
||||||
{"matrix": [5, 11], "x": 11, "y": 5.25, "w": 1},
|
{"matrix": [5, 11], "x": 11, "y": 5.25},
|
||||||
{"matrix": [5, 9], "x": 12, "y": 5.25, "w": 1},
|
{"matrix": [5, 9], "x": 12, "y": 5.25},
|
||||||
{"matrix": [5, 12], "x": 13.25, "y": 5.5},
|
{"matrix": [5, 12], "x": 13.25, "y": 5.5},
|
||||||
{"matrix": [5, 13], "x": 14.25, "y": 5.5},
|
{"matrix": [5, 13], "x": 14.25, "y": 5.5},
|
||||||
{"matrix": [5, 14], "x": 15.25, "y": 5.5}
|
{"matrix": [5, 14], "x": 15.25, "y": 5.5}
|
||||||
|
131
keyboards/converter/thinkpad_t6x/rpi_pico/keyboard.json
Normal file
131
keyboards/converter/thinkpad_t6x/rpi_pico/keyboard.json
Normal file
@ -0,0 +1,131 @@
|
|||||||
|
{
|
||||||
|
"manufacturer": "strobo5",
|
||||||
|
"keyboard_name": "converter/thinkpad_t6x/rpi_pico",
|
||||||
|
"maintainer": "strobo5",
|
||||||
|
"board": "GENERIC_RP_RP2040",
|
||||||
|
"bootloader": "rp2040",
|
||||||
|
"diode_direction": "COL2ROW",
|
||||||
|
"features": {
|
||||||
|
"bootmagic": true,
|
||||||
|
"extrakey": true,
|
||||||
|
"mousekey": true
|
||||||
|
},
|
||||||
|
"matrix_pins": {
|
||||||
|
"cols": ["GP7", "GP9", "GP11", "GP13", "GP17", "GP16", "GP14", "GP12", "GP15", "GP8", "GP10", "GP6", "GP4", "GP2", "GP5", "GP3"],
|
||||||
|
"rows": ["GP20", "GP26", "GP22", "GP21", "GP18", "GP19", "GP27", "GP28"]
|
||||||
|
},
|
||||||
|
"processor": "RP2040",
|
||||||
|
"ps2": {
|
||||||
|
"clock_pin": "GP1",
|
||||||
|
"data_pin": "GP0",
|
||||||
|
"driver": "vendor",
|
||||||
|
"enabled": true,
|
||||||
|
"mouse_enabled": true
|
||||||
|
},
|
||||||
|
"url": "https://github.com/strobo5/T61_PiPico_Scanner",
|
||||||
|
"usb": {
|
||||||
|
"device_version": "1.0.0",
|
||||||
|
"pid": "0x0000",
|
||||||
|
"vid": "0xFEED"
|
||||||
|
},
|
||||||
|
"layouts": {
|
||||||
|
"LAYOUT_iso": {
|
||||||
|
"layout": [
|
||||||
|
{"label": "Esc", "matrix": [5, 0], "x": 0, "y": 0, "w": 0.9, "h": 0.75},
|
||||||
|
{"label": "Mute", "matrix": [4, 10], "x": 0.9, "y": 0, "w": 0.75, "h": 0.5},
|
||||||
|
{"label": "Vol -", "matrix": [3, 10], "x": 1.65, "y": 0, "w": 0.75, "h": 0.5},
|
||||||
|
{"label": "Vol +", "matrix": [2, 10], "x": 2.4, "y": 0, "w": 0.75, "h": 0.5},
|
||||||
|
{"label": "ThinkVantage", "matrix": [5, 10], "x": 3.5, "y": 0, "w": 1.25, "h": 0.5},
|
||||||
|
{"label": "PrtSc", "matrix": [1, 13], "x": 8.9, "y": 0, "w": 0.9, "h": 0.65},
|
||||||
|
{"label": "ScrLk", "matrix": [2, 13], "x": 9.8, "y": 0, "w": 0.9, "h": 0.65},
|
||||||
|
{"label": "Pause", "matrix": [6, 12], "x": 10.7, "y": 0, "w": 0.9, "h": 0.65},
|
||||||
|
{"label": "Insert", "matrix": [0, 9], "x": 12, "y": 0, "w": 0.9, "h": 0.65},
|
||||||
|
{"label": "Home", "matrix": [0, 12], "x": 12.9, "y": 0, "w": 0.9, "h": 0.65},
|
||||||
|
{"label": "PgUp", "matrix": [0, 11], "x": 13.8, "y": 0, "w": 0.9, "h": 0.65},
|
||||||
|
{"label": "F1", "matrix": [0, 1], "x": 0, "y": 0.75, "w": 0.9, "h": 0.65},
|
||||||
|
{"label": "F2", "matrix": [0, 2], "x": 0.9, "y": 0.75, "w": 0.9, "h": 0.65},
|
||||||
|
{"label": "F3", "matrix": [3, 2], "x": 1.8, "y": 0.75, "w": 0.9, "h": 0.65},
|
||||||
|
{"label": "F4", "matrix": [5, 2], "x": 2.7, "y": 0.75, "w": 0.9, "h": 0.65},
|
||||||
|
{"label": "F5", "matrix": [5, 8], "x": 4, "y": 0.75, "w": 0.9, "h": 0.65},
|
||||||
|
{"label": "F6", "matrix": [5, 5], "x": 4.9, "y": 0.75, "w": 0.9, "h": 0.65},
|
||||||
|
{"label": "F7", "matrix": [3, 6], "x": 5.8, "y": 0.75, "w": 0.9, "h": 0.65},
|
||||||
|
{"label": "F8", "matrix": [0, 6], "x": 6.7, "y": 0.75, "w": 0.9, "h": 0.65},
|
||||||
|
{"label": "F9", "matrix": [0, 8], "x": 8, "y": 0.75, "w": 0.9, "h": 0.65},
|
||||||
|
{"label": "F10", "matrix": [1, 8], "x": 8.9, "y": 0.75, "w": 0.9, "h": 0.65},
|
||||||
|
{"label": "F11", "matrix": [1, 10], "x": 9.8, "y": 0.75, "w": 0.9, "h": 0.65},
|
||||||
|
{"label": "F12", "matrix": [1, 9], "x": 10.7, "y": 0.75, "w": 0.9, "h": 0.65},
|
||||||
|
{"label": "Delete", "matrix": [0, 10], "x": 12, "y": 0.75, "w": 0.9, "h": 0.65},
|
||||||
|
{"label": "End", "matrix": [1, 12], "x": 12.9, "y": 0.75, "w": 0.9, "h": 0.65},
|
||||||
|
{"label": "PgDn", "matrix": [1, 11], "x": 13.8, "y": 0.75, "w": 0.9, "h": 0.65},
|
||||||
|
{"label": "`\u00ac", "matrix": [0, 0], "x": 0, "y": 1.4},
|
||||||
|
{"label": "1!", "matrix": [1, 0], "x": 1, "y": 1.4},
|
||||||
|
{"label": "2\"", "matrix": [1, 1], "x": 2, "y": 1.4},
|
||||||
|
{"label": "3\u00a3", "matrix": [1, 2], "x": 3, "y": 1.4},
|
||||||
|
{"label": "4$", "matrix": [1, 3], "x": 4, "y": 1.4},
|
||||||
|
{"label": "5%", "matrix": [0, 3], "x": 5, "y": 1.4},
|
||||||
|
{"label": "6^", "matrix": [0, 4], "x": 6, "y": 1.4},
|
||||||
|
{"label": "7&", "matrix": [1, 4], "x": 7, "y": 1.4},
|
||||||
|
{"label": "8*", "matrix": [1, 5], "x": 8, "y": 1.4},
|
||||||
|
{"label": "9(", "matrix": [1, 6], "x": 9, "y": 1.4},
|
||||||
|
{"label": "0)", "matrix": [1, 7], "x": 10, "y": 1.4},
|
||||||
|
{"label": "-_", "matrix": [0, 7], "x": 11, "y": 1.4},
|
||||||
|
{"label": "=+", "matrix": [0, 5], "x": 12, "y": 1.4},
|
||||||
|
{"label": "Bksp", "matrix": [3, 8], "x": 13, "y": 1.4, "w": 2},
|
||||||
|
{"label": "Tab", "matrix": [3, 0], "x": 0, "y": 2.4, "w": 1.5},
|
||||||
|
{"label": "Q", "matrix": [2, 0], "x": 1.5, "y": 2.4},
|
||||||
|
{"label": "W", "matrix": [2, 1], "x": 2.5, "y": 2.4},
|
||||||
|
{"label": "E", "matrix": [2, 2], "x": 3.5, "y": 2.4},
|
||||||
|
{"label": "R", "matrix": [2, 3], "x": 4.5, "y": 2.4},
|
||||||
|
{"label": "T", "matrix": [3, 3], "x": 5.5, "y": 2.4},
|
||||||
|
{"label": "Y", "matrix": [3, 4], "x": 6.5, "y": 2.4},
|
||||||
|
{"label": "U", "matrix": [2, 4], "x": 7.5, "y": 2.4},
|
||||||
|
{"label": "I", "matrix": [2, 5], "x": 8.5, "y": 2.4},
|
||||||
|
{"label": "O", "matrix": [2, 6], "x": 9.5, "y": 2.4},
|
||||||
|
{"label": "P", "matrix": [2, 7], "x": 10.5, "y": 2.4},
|
||||||
|
{"label": "[{", "matrix": [3, 7], "x": 11.5, "y": 2.4},
|
||||||
|
{"label": "]}", "matrix": [3, 5], "x": 12.5, "y": 2.4},
|
||||||
|
{"label": "Caps Lock", "matrix": [3, 1], "x": 0, "y": 3.4, "w": 1.75},
|
||||||
|
{"label": "A", "matrix": [4, 0], "x": 1.75, "y": 3.4},
|
||||||
|
{"label": "S", "matrix": [4, 1], "x": 2.75, "y": 3.4},
|
||||||
|
{"label": "D", "matrix": [4, 2], "x": 3.75, "y": 3.4},
|
||||||
|
{"label": "F", "matrix": [4, 3], "x": 4.75, "y": 3.4},
|
||||||
|
{"label": "G", "matrix": [5, 3], "x": 5.75, "y": 3.4},
|
||||||
|
{"label": "H", "matrix": [5, 4], "x": 6.75, "y": 3.4},
|
||||||
|
{"label": "J", "matrix": [4, 4], "x": 7.75, "y": 3.4},
|
||||||
|
{"label": "K", "matrix": [4, 5], "x": 8.75, "y": 3.4},
|
||||||
|
{"label": "L", "matrix": [4, 6], "x": 9.75, "y": 3.4},
|
||||||
|
{"label": ";:", "matrix": [4, 7], "x": 10.75, "y": 3.4},
|
||||||
|
{"label": "'@", "matrix": [5, 7], "x": 11.75, "y": 3.4},
|
||||||
|
{"label": "#~", "matrix": [6, 7], "x": 12.75, "y": 3.4},
|
||||||
|
{"label": "Enter", "matrix": [6, 8], "x": 13.75, "y": 2.4, "w": 1.25, "h": 2},
|
||||||
|
{"label": "Shift", "matrix": [3, 14], "x": 0, "y": 4.4, "w": 1.25},
|
||||||
|
{"label": "\\|", "matrix": [5, 1], "x": 1.25, "y": 4.4},
|
||||||
|
{"label": "Z", "matrix": [6, 0], "x": 2.25, "y": 4.4},
|
||||||
|
{"label": "X", "matrix": [6, 1], "x": 3.25, "y": 4.4},
|
||||||
|
{"label": "C", "matrix": [6, 2], "x": 4.25, "y": 4.4},
|
||||||
|
{"label": "V", "matrix": [6, 3], "x": 5.25, "y": 4.4},
|
||||||
|
{"label": "B", "matrix": [7, 3], "x": 6.25, "y": 4.4},
|
||||||
|
{"label": "N", "matrix": [7, 4], "x": 7.25, "y": 4.4},
|
||||||
|
{"label": "M", "matrix": [6, 4], "x": 8.25, "y": 4.4},
|
||||||
|
{"label": ",<", "matrix": [6, 5], "x": 9.25, "y": 4.4},
|
||||||
|
{"label": ".>", "matrix": [6, 6], "x": 10.25, "y": 4.4},
|
||||||
|
{"label": "/?", "matrix": [7, 7], "x": 11.25, "y": 4.4},
|
||||||
|
{"label": "Shift", "matrix": [6, 14], "x": 12.25, "y": 4.4, "w": 2.75},
|
||||||
|
{"label": "Fn", "matrix": [4, 9], "x": 0, "y": 5.4},
|
||||||
|
{"label": "Ctrl", "matrix": [0, 15], "x": 1, "y": 5.4, "w": 1.25},
|
||||||
|
{"label": "Left OS", "matrix": [2, 11], "x": 2.25, "y": 5.4, "w": 0.9},
|
||||||
|
{"label": "Alt", "matrix": [5, 13], "x": 3.15, "y": 5.4},
|
||||||
|
{"label": "Space", "matrix": [7, 8], "x": 4.15, "y": 5.4, "w": 5},
|
||||||
|
{"label": "AltGr", "matrix": [7, 13], "x": 9.25, "y": 5.4},
|
||||||
|
{"label": "Menu", "matrix": [4, 11], "x": 10.25, "y": 5.4},
|
||||||
|
{"label": "Ctrl", "matrix": [6, 15], "x": 11.25, "y": 5.4},
|
||||||
|
{"label": "Browser Back", "matrix": [6, 11], "x": 12.25, "y": 5.4, "w": 0.9, "h": 0.75},
|
||||||
|
{"label": "Up", "matrix": [5, 12], "x": 13.15, "y": 5.4, "w": 0.9, "h": 0.75},
|
||||||
|
{"label": "Browser Forward", "matrix": [7, 11], "x": 14.05, "y": 5.4, "w": 0.9, "h": 0.75},
|
||||||
|
{"label": "Left", "matrix": [7, 12], "x": 12.25, "y": 6.15, "w": 0.9, "h": 0.75},
|
||||||
|
{"label": "Down", "matrix": [7, 10], "x": 13.15, "y": 6.15, "w": 0.9, "h": 0.75},
|
||||||
|
{"label": "Right", "matrix": [7, 9], "x": 14.05, "y": 6.15, "w": 0.9, "h": 0.75}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,17 @@
|
|||||||
|
// Copyright 2023 QMK
|
||||||
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
#include QMK_KEYBOARD_H
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
[0] = LAYOUT_iso(
|
||||||
|
KC_ESC, KC_MUTE, KC_VOLD, KC_VOLU, QK_BOOT, KC_PSCR, KC_SCRL, KC_PAUS, KC_INS, KC_HOME, KC_PGUP,
|
||||||
|
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_END, KC_PGDN,
|
||||||
|
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
|
||||||
|
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC,
|
||||||
|
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT,
|
||||||
|
KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
|
||||||
|
KC_NO, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_APP, KC_RCTL, KC_WBAK, KC_UP , KC_WFWD,
|
||||||
|
KC_LEFT, KC_DOWN, KC_RGHT
|
||||||
|
)
|
||||||
|
};
|
27
keyboards/converter/thinkpad_t6x/rpi_pico/readme.md
Normal file
27
keyboards/converter/thinkpad_t6x/rpi_pico/readme.md
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
# converter/thinkpad_t6x/rpi_pico
|
||||||
|
|
||||||
|
![converter/thinkpad_t6x/rpi_pico](https://i.imgur.com/wUG9p6eh.jpeg)
|
||||||
|
|
||||||
|
This is a converter PCB for Lenovo Thinkpad keyboards from a wide range of models (T60, T61, X220, ...), based on the Raspberry Pi Pico. The QMK implementation here is specific to the converter in the link below. Similar PCB designs to convert a Thinkpad keyboard to USB exist, but they use a different microcontroller and wiring of the keyboard connector with the MCU.
|
||||||
|
|
||||||
|
* Keyboard Maintainer: [Michael Büchler](https://github.com/strobo5)
|
||||||
|
* Hardware Supported: The linked converter PCB with keyboards from various Thinkpad models
|
||||||
|
* Hardware Availability: [Custom PCB](https://github.com/strobo5/T61_PiPico_Scanner)
|
||||||
|
|
||||||
|
Make example for this keyboard (after setting up your build environment):
|
||||||
|
|
||||||
|
make converter/thinkpad_t6x/rpi_pico:default
|
||||||
|
|
||||||
|
Flashing example for this keyboard:
|
||||||
|
|
||||||
|
make converter/thinkpad_t6x/rpi_pico:default:flash
|
||||||
|
|
||||||
|
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
|
||||||
|
|
||||||
|
## Bootloader
|
||||||
|
|
||||||
|
Enter the bootloader in 3 ways:
|
||||||
|
|
||||||
|
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
|
||||||
|
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
|
||||||
|
* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
|
85
keyboards/handwired/tenstad/keyboard.json
Normal file
85
keyboards/handwired/tenstad/keyboard.json
Normal file
@ -0,0 +1,85 @@
|
|||||||
|
{
|
||||||
|
"manufacturer": "Amund Tenstad",
|
||||||
|
"keyboard_name": "tenstad",
|
||||||
|
"maintainer": "tenstad",
|
||||||
|
"bootloader": "rp2040",
|
||||||
|
"diode_direction": "ROW2COL",
|
||||||
|
"features": {
|
||||||
|
"bootmagic": true,
|
||||||
|
"extrakey": true,
|
||||||
|
"mousekey": true,
|
||||||
|
"nkro": true
|
||||||
|
},
|
||||||
|
"matrix_pins": {
|
||||||
|
"cols": ["GP29", "GP28", "GP27", "GP26", "GP15", "GP14"],
|
||||||
|
"rows": ["GP3", "GP4", "GP5", "GP6"]
|
||||||
|
},
|
||||||
|
"processor": "RP2040",
|
||||||
|
"split": {
|
||||||
|
"enabled": true,
|
||||||
|
"serial": {
|
||||||
|
"driver": "vendor"
|
||||||
|
},
|
||||||
|
"transport": {
|
||||||
|
"protocol": "serial"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"url": "https://github.com/tenstad/keyboard",
|
||||||
|
"usb": {
|
||||||
|
"device_version": "1.0.0",
|
||||||
|
"pid": "0x0000",
|
||||||
|
"vid": "0xFEED"
|
||||||
|
},
|
||||||
|
"layouts": {
|
||||||
|
"LAYOUT_split_3x6_5": {
|
||||||
|
"layout": [
|
||||||
|
{"matrix": [0, 0], "x": 0, "y": 1.35},
|
||||||
|
{"matrix": [0, 1], "x": 1, "y": 0.95},
|
||||||
|
{"matrix": [0, 2], "x": 2.35, "y": 0.35},
|
||||||
|
{"matrix": [0, 3], "x": 3.35, "y": 0},
|
||||||
|
{"matrix": [0, 4], "x": 4.65, "y": 0.4},
|
||||||
|
{"matrix": [0, 5], "x": 5.65, "y": 0.4},
|
||||||
|
{"matrix": [4, 5], "x": 12.25, "y": 0.4},
|
||||||
|
{"matrix": [4, 4], "x": 13.25, "y": 0.4},
|
||||||
|
{"matrix": [4, 3], "x": 14.55, "y": 0},
|
||||||
|
{"matrix": [4, 2], "x": 15.55, "y": 0.35},
|
||||||
|
{"matrix": [4, 1], "x": 16.9, "y": 0.95},
|
||||||
|
{"matrix": [4, 0], "x": 17.9, "y": 1.35},
|
||||||
|
{"matrix": [1, 0], "x": 0.1, "y": 2.35},
|
||||||
|
{"matrix": [1, 1], "x": 1.1, "y": 1.95},
|
||||||
|
{"matrix": [1, 2], "x": 2.4, "y": 1.35},
|
||||||
|
{"matrix": [1, 3], "x": 3.4, "y": 1},
|
||||||
|
{"matrix": [1, 4], "x": 4.65, "y": 1.4},
|
||||||
|
{"matrix": [1, 5], "x": 5.65, "y": 1.4},
|
||||||
|
{"matrix": [5, 5], "x": 12.25, "y": 1.4},
|
||||||
|
{"matrix": [5, 4], "x": 13.25, "y": 1.4},
|
||||||
|
{"matrix": [5, 3], "x": 14.5, "y": 1},
|
||||||
|
{"matrix": [5, 2], "x": 15.5, "y": 1.35},
|
||||||
|
{"matrix": [5, 1], "x": 16.8, "y": 1.95},
|
||||||
|
{"matrix": [5, 0], "x": 17.8, "y": 2.35},
|
||||||
|
{"matrix": [2, 0], "x": 0.2, "y": 3.35},
|
||||||
|
{"matrix": [2, 1], "x": 1.2, "y": 2.95},
|
||||||
|
{"matrix": [2, 2], "x": 2.45, "y": 2.35},
|
||||||
|
{"matrix": [2, 3], "x": 3.45, "y": 2},
|
||||||
|
{"matrix": [2, 4], "x": 4.65, "y": 2.4},
|
||||||
|
{"matrix": [2, 5], "x": 5.65, "y": 2.4},
|
||||||
|
{"matrix": [6, 5], "x": 12.25, "y": 2.4},
|
||||||
|
{"matrix": [6, 4], "x": 13.25, "y": 2.4},
|
||||||
|
{"matrix": [6, 3], "x": 14.45, "y": 2},
|
||||||
|
{"matrix": [6, 2], "x": 15.45, "y": 2.35},
|
||||||
|
{"matrix": [6, 1], "x": 16.7, "y": 2.95},
|
||||||
|
{"matrix": [6, 0], "x": 17.7, "y": 3.35},
|
||||||
|
{"matrix": [3, 5], "x": 6.85, "y": 3},
|
||||||
|
{"matrix": [3, 3], "x": 7.95, "y": 3.35},
|
||||||
|
{"matrix": [3, 4], "x": 5.6, "y": 3.95},
|
||||||
|
{"matrix": [3, 1], "x": 6.7, "y": 4.1},
|
||||||
|
{"matrix": [3, 2], "x": 7.8, "y": 4.45},
|
||||||
|
{"matrix": [7, 3], "x": 9.95, "y": 3.35},
|
||||||
|
{"matrix": [7, 5], "x": 11.05, "y": 3},
|
||||||
|
{"matrix": [7, 2], "x": 10.1, "y": 4.45},
|
||||||
|
{"matrix": [7, 1], "x": 11.2, "y": 4.1},
|
||||||
|
{"matrix": [7, 4], "x": 12.3, "y": 3.95}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
55
keyboards/handwired/tenstad/keymaps/default/keymap.json
Normal file
55
keyboards/handwired/tenstad/keymaps/default/keymap.json
Normal file
@ -0,0 +1,55 @@
|
|||||||
|
{
|
||||||
|
"keyboard": "handwired/tenstad",
|
||||||
|
"keymap": "default",
|
||||||
|
"layout": "LAYOUT_split_3x6_5",
|
||||||
|
"layers": [
|
||||||
|
[
|
||||||
|
"KC_ESC",
|
||||||
|
"KC_Q",
|
||||||
|
"KC_W",
|
||||||
|
"KC_E",
|
||||||
|
"KC_R",
|
||||||
|
"KC_T",
|
||||||
|
"KC_Y",
|
||||||
|
"KC_U",
|
||||||
|
"KC_I",
|
||||||
|
"KC_O",
|
||||||
|
"KC_P",
|
||||||
|
"KC_RBRC",
|
||||||
|
"KC_TAB",
|
||||||
|
"KC_A",
|
||||||
|
"KC_S",
|
||||||
|
"KC_D",
|
||||||
|
"KC_F",
|
||||||
|
"KC_G",
|
||||||
|
"KC_H",
|
||||||
|
"KC_J",
|
||||||
|
"KC_K",
|
||||||
|
"KC_L",
|
||||||
|
"KC_GRV",
|
||||||
|
"KC_QUOT",
|
||||||
|
"KC_LCTL",
|
||||||
|
"KC_Z",
|
||||||
|
"KC_X",
|
||||||
|
"KC_C",
|
||||||
|
"KC_V",
|
||||||
|
"KC_B",
|
||||||
|
"KC_N",
|
||||||
|
"KC_M",
|
||||||
|
"KC_COMM",
|
||||||
|
"KC_DOT",
|
||||||
|
"KC_MINS",
|
||||||
|
"KC_RSFT",
|
||||||
|
"KC_NO",
|
||||||
|
"KC_NO",
|
||||||
|
"KC_TAB",
|
||||||
|
"KC_NO",
|
||||||
|
"KC_NO",
|
||||||
|
"KC_DEL",
|
||||||
|
"KC_NO",
|
||||||
|
"KC_BSPC",
|
||||||
|
"KC_SPC",
|
||||||
|
"KC_ENT"
|
||||||
|
]
|
||||||
|
]
|
||||||
|
}
|
19
keyboards/handwired/tenstad/readme.md
Normal file
19
keyboards/handwired/tenstad/readme.md
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
# tenstad
|
||||||
|
|
||||||
|
![tenstad](https://i.imgur.com/Lh4TAUF.png)
|
||||||
|
|
||||||
|
[tenstad/keyboard](https://github.com/tenstad/keyboard) - hand-soldered ergonomic split 3x6 keyboard with 5 thumb keys
|
||||||
|
|
||||||
|
* Keyboard Maintainer: [Amund Tenstad](https://github.com/tenstad)
|
||||||
|
* Hardware Supported: RP2040 Zero
|
||||||
|
* Hardware Availability: [List of Parts](https://github.com/tenstad/keyboard/blob/main/README.md#parts) from [AliExpress](https://aliexpress.com)
|
||||||
|
|
||||||
|
Make example for this keyboard (after setting up your build environment):
|
||||||
|
|
||||||
|
make handwired/tenstad:default
|
||||||
|
|
||||||
|
Flashing example for this keyboard:
|
||||||
|
|
||||||
|
make handwired/tenstad:default:flash
|
||||||
|
|
||||||
|
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
|
137
keyboards/herevoland/buff75/keyboard.json
Normal file
137
keyboards/herevoland/buff75/keyboard.json
Normal file
@ -0,0 +1,137 @@
|
|||||||
|
{
|
||||||
|
"keyboard_name": "Buff75",
|
||||||
|
"processor": "STM32F103",
|
||||||
|
"bootloader": "stm32duino",
|
||||||
|
"manufacturer": "HereVoLand",
|
||||||
|
"url": "",
|
||||||
|
"maintainer": "Here VoLand @Vem",
|
||||||
|
"usb": {
|
||||||
|
"vid": "0xB727",
|
||||||
|
"pid": "0xB727",
|
||||||
|
"device_version": "0.0.1"
|
||||||
|
},
|
||||||
|
"features": {
|
||||||
|
"bootmagic": true,
|
||||||
|
"mousekey": true,
|
||||||
|
"extrakey": true,
|
||||||
|
"nkro": true,
|
||||||
|
"rgblight": true
|
||||||
|
},
|
||||||
|
"rgblight": {
|
||||||
|
"led_count": 1,
|
||||||
|
"brightness_steps": 8,
|
||||||
|
"saturation_steps": 8,
|
||||||
|
"sleep": true,
|
||||||
|
"animations": {
|
||||||
|
"breathing": true,
|
||||||
|
"rainbow_mood": true,
|
||||||
|
"rainbow_swirl": true,
|
||||||
|
"snake": true,
|
||||||
|
"knight": true,
|
||||||
|
"christmas": true,
|
||||||
|
"static_gradient": true,
|
||||||
|
"alternating": true,
|
||||||
|
"twinkle": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"ws2812": {
|
||||||
|
"pin": "B2"
|
||||||
|
},
|
||||||
|
"diode_direction": "COL2ROW",
|
||||||
|
"matrix_pins": {
|
||||||
|
"cols": ["B9", "B8", "B7", "B6", "B5", "B4", "B3", "A15", "A8", "B15", "B14", "B13", "B12", "A3", "A4" ],
|
||||||
|
"rows": ["A5", "B10", "B1", "B0", "A7", "A6"]
|
||||||
|
},
|
||||||
|
"layouts": {
|
||||||
|
"LAYOUT": {
|
||||||
|
"layout": [
|
||||||
|
{"label":"Esc", "matrix": [0,0], "x":0, "y":0},
|
||||||
|
{"label":"F1", "matrix": [0,1], "x":1.5, "y":0},
|
||||||
|
{"label":"F2", "matrix": [0,2], "x":2.5, "y":0},
|
||||||
|
{"label":"F3", "matrix": [0,3], "x":3.5, "y":0},
|
||||||
|
{"label":"F4", "matrix": [0,4], "x":4.5, "y":0},
|
||||||
|
{"label":"F5", "matrix": [0,6], "x":6, "y":0},
|
||||||
|
{"label":"F6", "matrix": [0,7], "x":7, "y":0},
|
||||||
|
{"label":"F7", "matrix": [0,8], "x":8, "y":0},
|
||||||
|
{"label":"F8", "matrix": [0,9], "x":9, "y":0},
|
||||||
|
{"label":"F9", "matrix": [0,10], "x":10.5, "y":0},
|
||||||
|
{"label":"F10", "matrix": [0,11], "x":11.5, "y":0},
|
||||||
|
{"label":"F11", "matrix": [0,12], "x":12.5, "y":0},
|
||||||
|
{"label":"F12", "matrix": [0,13], "x":13.5, "y":0},
|
||||||
|
{"label":"Home", "matrix": [0,14], "x":15, "y":0},
|
||||||
|
|
||||||
|
{"label":"`~", "matrix": [1,0], "x":0, "y":1.25},
|
||||||
|
{"label":"1!", "matrix": [1,1], "x":1, "y":1.25},
|
||||||
|
{"label":"2@", "matrix": [1,2], "x":2, "y":1.25},
|
||||||
|
{"label":"3#", "matrix": [1,3], "x":3, "y":1.25},
|
||||||
|
{"label":"4$", "matrix": [1,4], "x":4, "y":1.25},
|
||||||
|
{"label":"5%", "matrix": [1,5], "x":5, "y":1.25},
|
||||||
|
{"label":"6^", "matrix": [1,6], "x":6, "y":1.25},
|
||||||
|
{"label":"7&", "matrix": [1,7], "x":7, "y":1.25},
|
||||||
|
{"label":"8*", "matrix": [1,8], "x":8, "y":1.25},
|
||||||
|
{"label":"9(", "matrix": [1,9], "x":9, "y":1.25},
|
||||||
|
{"label":"0)", "matrix": [1,10], "x":10, "y":1.25},
|
||||||
|
{"label":"-_", "matrix": [1,11], "x":11, "y":1.25},
|
||||||
|
{"label":"=+", "matrix": [1,12], "x":12, "y":1.25},
|
||||||
|
{"label":"Backspace", "matrix": [1,13], "x":13, "y":1.25},
|
||||||
|
{"label":"Page Up", "matrix": [1,14], "x":15, "y":1.25},
|
||||||
|
|
||||||
|
{"label":"Tab", "matrix": [2,0], "x":0, "y":2.25, "w":1.5},
|
||||||
|
{"label":"Q", "matrix": [2,1], "x":1.5, "y":2.25},
|
||||||
|
{"label":"W", "matrix": [2,2], "x":2.5, "y":2.25},
|
||||||
|
{"label":"E", "matrix": [2,3], "x":3.5, "y":2.25},
|
||||||
|
{"label":"R", "matrix": [2,4], "x":4.5, "y":2.25},
|
||||||
|
{"label":"T", "matrix": [2,5], "x":5.5, "y":2.25},
|
||||||
|
{"label":"Y", "matrix": [2,6], "x":6.5, "y":2.25},
|
||||||
|
{"label":"U", "matrix": [2,7], "x":7.5, "y":2.25},
|
||||||
|
{"label":"I", "matrix": [2,8], "x":8.5, "y":2.25},
|
||||||
|
{"label":"O", "matrix": [2,9], "x":9.5, "y":2.25},
|
||||||
|
{"label":"P", "matrix": [2,10], "x":10.5, "y":2.25},
|
||||||
|
{"label":"[", "matrix": [2,11], "x":11.5, "y":2.25},
|
||||||
|
{"label":"]", "matrix": [2,12], "x":12.5, "y":2.25},
|
||||||
|
{"label":"\\", "matrix": [2,13], "x":13.5, "y":2.25, "w":1.5},
|
||||||
|
{"label":"Page Down", "matrix": [2,14], "x":15, "y":2.25},
|
||||||
|
|
||||||
|
{"label":"Caps Lock", "matrix": [3,0], "x":0, "y":3.25, "w":1.75},
|
||||||
|
{"label":"A", "matrix": [3,1], "x":1.75, "y":3.25},
|
||||||
|
{"label":"S", "matrix": [3,2], "x":2.75, "y":3.25},
|
||||||
|
{"label":"D", "matrix": [3,3], "x":3.75, "y":3.25},
|
||||||
|
{"label":"F", "matrix": [3,4], "x":4.75, "y":3.25},
|
||||||
|
{"label":"G", "matrix": [3,5], "x":5.75, "y":3.25},
|
||||||
|
{"label":"H", "matrix": [3,6], "x":6.75, "y":3.25},
|
||||||
|
{"label":"J", "matrix": [3,7], "x":7.75, "y":3.25},
|
||||||
|
{"label":"K", "matrix": [3,8], "x":8.75, "y":3.25},
|
||||||
|
{"label":"L", "matrix": [3,9], "x":9.75, "y":3.25},
|
||||||
|
{"label":";", "matrix": [3,10], "x":10.75, "y":3.25},
|
||||||
|
{"label":"'", "matrix": [3,11], "x":11.75, "y":3.25},
|
||||||
|
{"label":"Enter", "matrix": [3,13], "x":12.75, "y":3.25, "w":2.25},
|
||||||
|
{"label":"End", "matrix": [3,14], "x":15, "y":3.25},
|
||||||
|
|
||||||
|
{"label":"Shift", "matrix": [4,0], "x":0, "y":4.25, "w":2.25},
|
||||||
|
{"label":"Z", "matrix": [4,2], "x":2.25, "y":4.25},
|
||||||
|
{"label":"X", "matrix": [4,3], "x":3.25, "y":4.25},
|
||||||
|
{"label":"C", "matrix": [4,4], "x":4.25, "y":4.25},
|
||||||
|
{"label":"V", "matrix": [4,5], "x":5.25, "y":4.25},
|
||||||
|
{"label":"B", "matrix": [4,6], "x":6.25, "y":4.25},
|
||||||
|
{"label":"N", "matrix": [4,7], "x":7.25, "y":4.25},
|
||||||
|
{"label":"M", "matrix": [4,8], "x":8.25, "y":4.25},
|
||||||
|
{"label":",", "matrix": [4,9], "x":9.25, "y":4.25},
|
||||||
|
{"label":".", "matrix": [4,10], "x":10.25, "y":4.25},
|
||||||
|
{"label":"/", "matrix": [4,11], "x":11.25, "y":4.25},
|
||||||
|
{"label":"Shift", "matrix": [4,12], "x":12.25, "y":4.25, "w":1.75},
|
||||||
|
{"label":"Up", "matrix": [4,13], "x":14, "y":4.25},
|
||||||
|
{"label":"End", "matrix": [4,14], "x":15, "y":4.25},
|
||||||
|
|
||||||
|
{"label":"Ctrl", "matrix": [5,0], "x":0, "y":5.25, "w":1.25},
|
||||||
|
{"label":"Win", "matrix": [5,1], "x":1.25, "y":5.25, "w":1.25},
|
||||||
|
{"label":"Alt", "matrix": [5,2], "x":2.5, "y":5.25, "w":1.25},
|
||||||
|
{"label":"Space", "matrix": [5,6], "x":3.75, "y":5.25, "w":6.25},
|
||||||
|
{"label":"Alt", "matrix": [5,10], "x":10, "y":5.25, "w":1.25},
|
||||||
|
{"label":"Fn", "matrix": [5,11], "x":11.25, "y":5.25, "w":1.25},
|
||||||
|
{"label":"Left", "matrix": [5,12], "x":13, "y":5.25},
|
||||||
|
{"label":"Down", "matrix": [5,13], "x":14, "y":5.25},
|
||||||
|
{"label":"Right", "matrix": [5,14], "x":15, "y":5.25}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
36
keyboards/herevoland/buff75/keymaps/default/keymap.c
Normal file
36
keyboards/herevoland/buff75/keymaps/default/keymap.c
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
/* Copyright 2024 楽(HereVoLand @Vem)
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include QMK_KEYBOARD_H
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
[0] = LAYOUT(
|
||||||
|
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_HOME,
|
||||||
|
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_PGUP,
|
||||||
|
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGDN,
|
||||||
|
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_DEL,
|
||||||
|
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END,
|
||||||
|
KC_LCTL, KC_LGUI,KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RIGHT
|
||||||
|
),
|
||||||
|
[1] = LAYOUT(
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_UP, KC_END, KC_TRNS, KC_TRNS,
|
||||||
|
KC_CAPS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_END, KC_PGDN, KC_DOWN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_LCTL, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||||
|
)
|
||||||
|
};
|
18
keyboards/herevoland/buff75/matrix_diagram.md
Normal file
18
keyboards/herevoland/buff75/matrix_diagram.md
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
# Matrix Diagram for Buff75
|
||||||
|
|
||||||
|
```
|
||||||
|
┌───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┐
|
||||||
|
│00 │ │01 │02 │03 │04 │ │06 │07 │08 │09 │ │0A │0B │0C │0D │ │0E │
|
||||||
|
└───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┘
|
||||||
|
┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───┐
|
||||||
|
│10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D │1E │
|
||||||
|
├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬──┼───┤
|
||||||
|
│20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2C │2D│2E │
|
||||||
|
├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬─────┴──┼───┤
|
||||||
|
│30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3D │3E │
|
||||||
|
├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤
|
||||||
|
│40 │42 │43 │44 │45 │46 │47 │48 │49 │4A │4B │4C │4D │4E │
|
||||||
|
├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴───┴┬─┬───┼───┼───┤
|
||||||
|
│50 │51 │52 │56 │5A │ 5B │ │5C │5D |5E |
|
||||||
|
└────┴────┴────┴────────────────────────┴───┴─────┘ └───┴───┘───┘
|
||||||
|
```
|
25
keyboards/herevoland/buff75/readme.md
Normal file
25
keyboards/herevoland/buff75/readme.md
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
# Buff75
|
||||||
|
|
||||||
|
![Buff75](https://imgur.com/pQfzIZr.jpg)
|
||||||
|
An 75%/TenKeyLess sized keyboard with 1 RGB.
|
||||||
|
|
||||||
|
* Keyboard Maintainer: [HereVoLand](https://github.com/Vem-596)
|
||||||
|
* Hardware Supported: buff75
|
||||||
|
* Hardware Availability: [BUFF Customer-Keyboard](https://shop107132374.taobao.com)
|
||||||
|
|
||||||
|
Make example for this keyboard (after setting up your build environment):
|
||||||
|
|
||||||
|
make herevoland/buff75:default
|
||||||
|
|
||||||
|
Flashing example for this keyboard:
|
||||||
|
|
||||||
|
make herevoland/buff75:default:flash
|
||||||
|
|
||||||
|
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
|
||||||
|
|
||||||
|
## Bootloader
|
||||||
|
|
||||||
|
Enter the bootloader in 2 ways:
|
||||||
|
|
||||||
|
- **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key which is Escape in this keyboard) and plug in the keyboard
|
||||||
|
- **Keycode in layout**: Press the key mapped to `QK_BOOT`
|
36
keyboards/idyllic/pizzapad/keyboard.json
Normal file
36
keyboards/idyllic/pizzapad/keyboard.json
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
{
|
||||||
|
"manufacturer": "Zykrah",
|
||||||
|
"keyboard_name": "Pizza Pad",
|
||||||
|
"maintainer": "zykrah",
|
||||||
|
"processor": "RP2040",
|
||||||
|
"bootloader": "rp2040",
|
||||||
|
"diode_direction": "COL2ROW",
|
||||||
|
"dynamic_keymap": {
|
||||||
|
"layer_count": 6
|
||||||
|
},
|
||||||
|
"matrix_pins": {
|
||||||
|
"cols": ["GP1", "GP0", "GP7"],
|
||||||
|
"rows": ["GP6", "GP29", "GP28"]
|
||||||
|
},
|
||||||
|
"usb": {
|
||||||
|
"device_version": "0.0.1",
|
||||||
|
"pid": "0x5050",
|
||||||
|
"vid": "0x7A79"
|
||||||
|
},
|
||||||
|
"community_layouts": ["ortho_3x3"],
|
||||||
|
"layouts": {
|
||||||
|
"LAYOUT_ortho_3x3": {
|
||||||
|
"layout": [
|
||||||
|
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||||
|
{"matrix": [0, 1], "x": 1, "y": 0},
|
||||||
|
{"matrix": [0, 2], "x": 2, "y": 0},
|
||||||
|
{"matrix": [1, 0], "x": 0, "y": 1},
|
||||||
|
{"matrix": [1, 1], "x": 1, "y": 1},
|
||||||
|
{"matrix": [1, 2], "x": 2, "y": 1},
|
||||||
|
{"matrix": [2, 0], "x": 0, "y": 2},
|
||||||
|
{"matrix": [2, 1], "x": 1, "y": 2},
|
||||||
|
{"matrix": [2, 2], "x": 2, "y": 2}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
12
keyboards/idyllic/pizzapad/keymaps/default/keymap.c
Normal file
12
keyboards/idyllic/pizzapad/keymaps/default/keymap.c
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
// Copyright 2024 Zykrah (@zykrah)
|
||||||
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
#include QMK_KEYBOARD_H
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
[0] = LAYOUT_ortho_3x3(
|
||||||
|
KC_P7, KC_P8, KC_P9,
|
||||||
|
KC_P4, KC_P5, KC_P6,
|
||||||
|
KC_P1, KC_P2, KC_P3
|
||||||
|
)
|
||||||
|
};
|
27
keyboards/idyllic/pizzapad/readme.md
Normal file
27
keyboards/idyllic/pizzapad/readme.md
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
# Pizza Pad PCB
|
||||||
|
|
||||||
|
![Pizza Pad PCB](https://i.imgur.com/eJLuaZY.jpg)
|
||||||
|
|
||||||
|
A 3x3 PCB designed for the Idyllic Pretty Pad.
|
||||||
|
|
||||||
|
* Keyboard Maintainer: Zykrah
|
||||||
|
* Hardware Supported: Pizza Pad PCB (using a SEEED XIAO RP2040)
|
||||||
|
* Hardware Availability: [Mechstock](https://mechstock.com.au/)
|
||||||
|
|
||||||
|
Make example for this keyboard (after setting up your build environment):
|
||||||
|
|
||||||
|
make idyllic/pizzapad:default
|
||||||
|
|
||||||
|
Flashing example for this keyboard:
|
||||||
|
|
||||||
|
make idyllic/pizzapad:default:flash
|
||||||
|
|
||||||
|
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
|
||||||
|
|
||||||
|
## Bootloader
|
||||||
|
|
||||||
|
Enter the bootloader in 3 ways:
|
||||||
|
|
||||||
|
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
|
||||||
|
* **Physical reset button**: Briefly press both the `BOOT` and `RESET` buttons at the same time
|
||||||
|
* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
|
113
keyboards/mountainmechdesigns/teton_78/keyboard.json
Normal file
113
keyboards/mountainmechdesigns/teton_78/keyboard.json
Normal file
@ -0,0 +1,113 @@
|
|||||||
|
{
|
||||||
|
"manufacturer": "Bennett Balogh",
|
||||||
|
"keyboard_name": "teton_78",
|
||||||
|
"maintainer": "qmk",
|
||||||
|
"bootloader": "atmel-dfu",
|
||||||
|
"bootmagic": {
|
||||||
|
"matrix": [0, 2]
|
||||||
|
},
|
||||||
|
"diode_direction": "COL2ROW",
|
||||||
|
"features": {
|
||||||
|
"bootmagic": true,
|
||||||
|
"command": false,
|
||||||
|
"console": false,
|
||||||
|
"extrakey": true,
|
||||||
|
"mousekey": true,
|
||||||
|
"nkro": true
|
||||||
|
},
|
||||||
|
"matrix_pins": {
|
||||||
|
"cols": ["F7", "F6", "F5", "F4", "F1", "F0", "B0", "B1", "B2", "B3", "D4", "D6", "D7", "B4", "B5", "B6", "C6", "C7"],
|
||||||
|
"rows": ["D0", "D1", "D2", "D3", "D5"]
|
||||||
|
},
|
||||||
|
"processor": "atmega32u4",
|
||||||
|
"url": "",
|
||||||
|
"usb": {
|
||||||
|
"device_version": "1.0.0",
|
||||||
|
"pid": "0x3349",
|
||||||
|
"vid": "0x8A5B"
|
||||||
|
},
|
||||||
|
"layouts": {
|
||||||
|
"LAYOUT": {
|
||||||
|
"layout": [
|
||||||
|
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||||
|
{"matrix": [0, 1], "x": 0, "y": 1},
|
||||||
|
{"matrix": [0, 2], "x": 2.25, "y": 0},
|
||||||
|
{"matrix": [0, 3], "x": 3.25, "y": 0},
|
||||||
|
{"matrix": [0, 4], "x": 4.25, "y": 0},
|
||||||
|
{"matrix": [0, 5], "x": 5.25, "y": 0},
|
||||||
|
{"matrix": [0, 6], "x": 6.25, "y": 0},
|
||||||
|
{"matrix": [0, 7], "x": 7.25, "y": 0},
|
||||||
|
{"matrix": [0, 8], "x": 8.25, "y": 0},
|
||||||
|
{"matrix": [0, 9], "x": 9.25, "y": 0},
|
||||||
|
{"matrix": [0, 10], "x": 10.25, "y": 0},
|
||||||
|
{"matrix": [0, 11], "x": 11.25, "y": 0},
|
||||||
|
{"matrix": [0, 12], "x": 12.25, "y": 0},
|
||||||
|
{"matrix": [0, 13], "x": 13.25, "y": 0},
|
||||||
|
{"matrix": [0, 14], "x": 14.25, "y": 0},
|
||||||
|
{"matrix": [0, 15], "x": 15.25, "y": 0, "w": 2},
|
||||||
|
{"matrix": [0, 16], "x": 17.5, "y": 0},
|
||||||
|
{"matrix": [0, 17], "x": 18.5, "y": 0},
|
||||||
|
{"matrix": [1, 0], "x": 1, "y": 0},
|
||||||
|
{"matrix": [1, 1], "x": 1, "y": 1},
|
||||||
|
{"matrix": [1, 2], "x": 2.25, "y": 1, "w": 1.5},
|
||||||
|
{"matrix": [1, 3], "x": 3.75, "y": 1},
|
||||||
|
{"matrix": [1, 4], "x": 4.75, "y": 1},
|
||||||
|
{"matrix": [1, 5], "x": 5.75, "y": 1},
|
||||||
|
{"matrix": [1, 6], "x": 6.75, "y": 1},
|
||||||
|
{"matrix": [1, 7], "x": 7.75, "y": 1},
|
||||||
|
{"matrix": [1, 8], "x": 8.75, "y": 1},
|
||||||
|
{"matrix": [1, 9], "x": 9.75, "y": 1},
|
||||||
|
{"matrix": [1, 10], "x": 10.75, "y": 1},
|
||||||
|
{"matrix": [1, 11], "x": 11.75, "y": 1},
|
||||||
|
{"matrix": [1, 12], "x": 12.75, "y": 1},
|
||||||
|
{"matrix": [1, 13], "x": 13.75, "y": 1},
|
||||||
|
{"matrix": [1, 14], "x": 14.75, "y": 1},
|
||||||
|
{"matrix": [1, 15], "x": 15.75, "y": 1, "w": 1.5},
|
||||||
|
{"matrix": [1, 16], "x": 17.5, "y": 1},
|
||||||
|
{"matrix": [1, 17], "x": 18.5, "y": 1},
|
||||||
|
{"matrix": [2, 0], "x": 0, "y": 2},
|
||||||
|
{"matrix": [2, 1], "x": 1, "y": 2},
|
||||||
|
{"matrix": [2, 2], "x": 2.25, "y": 2, "w": 1.75},
|
||||||
|
{"matrix": [2, 3], "x": 4, "y": 2},
|
||||||
|
{"matrix": [2, 4], "x": 5, "y": 2},
|
||||||
|
{"matrix": [2, 5], "x": 6, "y": 2},
|
||||||
|
{"matrix": [2, 6], "x": 7, "y": 2},
|
||||||
|
{"matrix": [2, 7], "x": 8, "y": 2},
|
||||||
|
{"matrix": [2, 8], "x": 9, "y": 2},
|
||||||
|
{"matrix": [2, 9], "x": 10, "y": 2},
|
||||||
|
{"matrix": [2, 10], "x": 11, "y": 2},
|
||||||
|
{"matrix": [2, 11], "x": 12, "y": 2},
|
||||||
|
{"matrix": [2, 12], "x": 13, "y": 2},
|
||||||
|
{"matrix": [2, 13], "x": 14, "y": 2},
|
||||||
|
{"matrix": [2, 14], "x": 15, "y": 2, "w": 2.25},
|
||||||
|
{"matrix": [3, 0], "x": 0, "y": 3},
|
||||||
|
{"matrix": [3, 1], "x": 1, "y": 3},
|
||||||
|
{"matrix": [3, 2], "x": 2.25, "y": 3, "w": 2.25},
|
||||||
|
{"matrix": [3, 3], "x": 4.5, "y": 3},
|
||||||
|
{"matrix": [3, 4], "x": 5.5, "y": 3},
|
||||||
|
{"matrix": [3, 5], "x": 6.5, "y": 3},
|
||||||
|
{"matrix": [3, 6], "x": 7.5, "y": 3},
|
||||||
|
{"matrix": [3, 7], "x": 8.5, "y": 3},
|
||||||
|
{"matrix": [3, 8], "x": 9.5, "y": 3},
|
||||||
|
{"matrix": [3, 9], "x": 10.5, "y": 3},
|
||||||
|
{"matrix": [3, 10], "x": 11.5, "y": 3},
|
||||||
|
{"matrix": [3, 11], "x": 12.5, "y": 3},
|
||||||
|
{"matrix": [3, 12], "x": 13.5, "y": 3},
|
||||||
|
{"matrix": [3, 13], "x": 14.5, "y": 3, "w": 2.75},
|
||||||
|
{"matrix": [3, 16], "x": 17.5, "y": 3},
|
||||||
|
{"matrix": [4, 0], "x": 0, "y": 4},
|
||||||
|
{"matrix": [4, 1], "x": 1, "y": 4},
|
||||||
|
{"matrix": [4, 2], "x": 2.25, "y": 4, "w": 1.25},
|
||||||
|
{"matrix": [4, 3], "x": 3.5, "y": 4, "w": 1.25},
|
||||||
|
{"matrix": [4, 4], "x": 4.75, "y": 4, "w": 1.25},
|
||||||
|
{"matrix": [4, 7], "x": 6, "y": 4, "w": 6.25},
|
||||||
|
{"matrix": [4, 11], "x": 12.25, "y": 4, "w": 1.25},
|
||||||
|
{"matrix": [4, 12], "x": 13.5, "y": 4, "w": 1.25},
|
||||||
|
{"matrix": [4, 13], "x": 14.75, "y": 4, "w": 1.25},
|
||||||
|
{"matrix": [4, 14], "x": 16.5, "y": 4, "w": 1.25},
|
||||||
|
{"matrix": [4, 16], "x": 17.5, "y": 4, "w": 1.25},
|
||||||
|
{"matrix": [4, 17], "x": 18.5, "y": 4, "w": 1.25}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,29 @@
|
|||||||
|
/* Copyright 2024 Bennett Balogh LLC <bennettsbalogh@gmail.com>
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include QMK_KEYBOARD_H
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
|
||||||
|
|
||||||
|
[0] = LAYOUT(
|
||||||
|
|
||||||
|
KC_F1, KC_F6, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME,
|
||||||
|
KC_F2, KC_F7, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END,
|
||||||
|
KC_F3, KC_F8, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
|
||||||
|
KC_F4, KC_F9, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
|
||||||
|
KC_F5, KC_F10, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT)
|
||||||
|
};
|
37
keyboards/mountainmechdesigns/teton_78/readme.md
Normal file
37
keyboards/mountainmechdesigns/teton_78/readme.md
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
# Teton 78 QMK Firmware
|
||||||
|
|
||||||
|
## Introduction
|
||||||
|
|
||||||
|
![Teton 78](https://i.imgur.com/MnASIrv.jpeg)
|
||||||
|
|
||||||
|
This is the QMK firmware repository for the Teton78, a 68XT solder and hotswao keyboard designed by Mountain Mech Designs - Bennett Balogh.
|
||||||
|
|
||||||
|
The Teton 78 has entered GB and sucessfully finalized in November 2024 The IC page for the keyboard can be found [here](https://geekhack.org/index.php?topic=123275.0).
|
||||||
|
The sale page can be found [here](https://www.mountainmechdesigns.com/)
|
||||||
|
Discord link can be found [here](https://discord.gg/h9dMwRNfVy)
|
||||||
|
|
||||||
|
## About
|
||||||
|
|
||||||
|
* Keyboard Maintainer: [Bennett Balogh](https://github.com/AwesomeBalogh)
|
||||||
|
* Hardware Supported: Atmega32u4
|
||||||
|
* Hardware Availability: N/A
|
||||||
|
|
||||||
|
## How to compile
|
||||||
|
|
||||||
|
After setting up your build environment, you can compile the Teton 78 default keymap by using:
|
||||||
|
|
||||||
|
make mountainmechdesigns/teton_78:default
|
||||||
|
|
||||||
|
Flash using
|
||||||
|
|
||||||
|
make mountainmechdesigns/teton_78:default:flash
|
||||||
|
|
||||||
|
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
|
||||||
|
|
||||||
|
## Bootloader
|
||||||
|
|
||||||
|
Enter the bootloader in 3 ways:
|
||||||
|
|
||||||
|
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
|
||||||
|
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
|
||||||
|
* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
|
71
keyboards/sdrakbs/sdrakb00/keyboard.json
Normal file
71
keyboards/sdrakbs/sdrakb00/keyboard.json
Normal file
@ -0,0 +1,71 @@
|
|||||||
|
{
|
||||||
|
"manufacturer": "Diego Andres Rabaioli",
|
||||||
|
"keyboard_name": "sdrakb00",
|
||||||
|
"maintainer": "drabaioli",
|
||||||
|
"bootloader": "atmel-dfu",
|
||||||
|
"diode_direction": "COL2ROW",
|
||||||
|
"encoder": {
|
||||||
|
"rotary": [
|
||||||
|
{"pin_a": "B5", "pin_b": "B6", "resolution": 2}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"features": {
|
||||||
|
"bootmagic": true,
|
||||||
|
"encoder": true,
|
||||||
|
"extrakey": true,
|
||||||
|
"mousekey": true,
|
||||||
|
"nkro": true,
|
||||||
|
"rgb_matrix": true
|
||||||
|
},
|
||||||
|
"matrix_pins": {
|
||||||
|
"cols": ["F0", "F1", "F4", "F5"],
|
||||||
|
"rows": ["D4", "D6", "D7"]
|
||||||
|
},
|
||||||
|
"processor": "atmega32u4",
|
||||||
|
"rgb_matrix": {
|
||||||
|
"driver": "ws2812",
|
||||||
|
"layout": [
|
||||||
|
{"matrix": [0, 0], "x": 0, "y": 0, "flags": 4},
|
||||||
|
{"matrix": [0, 1], "x": 16, "y": 0, "flags": 4},
|
||||||
|
{"matrix": [0, 2], "x": 32, "y": 0, "flags": 4},
|
||||||
|
{"matrix": [1, 0], "x": 0, "y": 16, "flags": 4},
|
||||||
|
{"matrix": [1, 1], "x": 16, "y": 16, "flags": 4},
|
||||||
|
{"matrix": [1, 2], "x": 32, "y": 16, "flags": 4},
|
||||||
|
{"matrix": [1, 3], "x": 48, "y": 16, "flags": 4},
|
||||||
|
{"matrix": [2, 0], "x": 0, "y": 32, "flags": 4},
|
||||||
|
{"matrix": [2, 1], "x": 16, "y": 32, "flags": 4},
|
||||||
|
{"matrix": [2, 2], "x": 32, "y": 32, "flags": 4},
|
||||||
|
{"matrix": [2, 3], "x": 48, "y": 32, "flags": 4}
|
||||||
|
],
|
||||||
|
"max_brightness": 100,
|
||||||
|
"sleep": true,
|
||||||
|
"timeout": 300000
|
||||||
|
},
|
||||||
|
"url": "https://github.com/drabaioli/SdraKb00",
|
||||||
|
"usb": {
|
||||||
|
"device_version": "1.0.0",
|
||||||
|
"pid": "0x4200",
|
||||||
|
"vid": "0x7331"
|
||||||
|
},
|
||||||
|
"ws2812": {
|
||||||
|
"pin": "B0"
|
||||||
|
},
|
||||||
|
"layouts": {
|
||||||
|
"LAYOUT_ortho_3x4": {
|
||||||
|
"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, "encoder": 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": [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}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
74
keyboards/sdrakbs/sdrakb00/keymaps/default/keymap.c
Normal file
74
keyboards/sdrakbs/sdrakb00/keymaps/default/keymap.c
Normal file
@ -0,0 +1,74 @@
|
|||||||
|
// Copyright 2023 QMK
|
||||||
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
#include QMK_KEYBOARD_H
|
||||||
|
|
||||||
|
/* Keymap for 3x4 Macropad
|
||||||
|
*
|
||||||
|
* Layer 0 (Base Layer) - Numpad layout with mute button and layer toggle:
|
||||||
|
* ,----------------------,
|
||||||
|
* | 7 | 8 | 9 | MUTE |
|
||||||
|
* |-------+-------+-------+--------|
|
||||||
|
* | 4 | 5 | 6 | Layer1 |
|
||||||
|
* |-------+-------+-------+--------|
|
||||||
|
* | 1 | 2 | 3 | 0 |
|
||||||
|
* `-----------------------^--------'
|
||||||
|
*
|
||||||
|
* Layer 1 (Function Layer) - Accessed by holding MO(1):
|
||||||
|
* ,----------------------,
|
||||||
|
* | BKSP | / | - | ---- |
|
||||||
|
* |-------+-------+-------+--------|
|
||||||
|
* | = | * | + | ---- |
|
||||||
|
* |-------+-------+-------+--------|
|
||||||
|
* | ENTER | ---- | ---- | . |
|
||||||
|
* `-----------------------^--------'
|
||||||
|
*
|
||||||
|
* The base layer (0) provides standard numpad functionality with:
|
||||||
|
* - Numbers 0-9 in traditional numpad layout
|
||||||
|
* - Mute button in top right
|
||||||
|
* - Layer 1 momentary toggle (MO1) in middle right
|
||||||
|
*
|
||||||
|
* The function layer (1) adds:
|
||||||
|
* - Basic mathematical operators (+, -, *, /)
|
||||||
|
* - Backspace, Enter, and decimal point
|
||||||
|
* - Equal sign for calculations
|
||||||
|
* - Empty slots marked as ---- (KC_NO)
|
||||||
|
*/
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
|
||||||
|
[0] = LAYOUT_ortho_3x4(
|
||||||
|
KC_KP_7, KC_KP_8, KC_KP_9, KC_MUTE,
|
||||||
|
KC_KP_4, KC_KP_5, KC_KP_6, MO(1),
|
||||||
|
KC_KP_1, KC_KP_2, KC_KP_3, KC_KP_0
|
||||||
|
),
|
||||||
|
|
||||||
|
[1] = LAYOUT_ortho_3x4(
|
||||||
|
KC_BACKSPACE, KC_KP_SLASH, KC_KP_MINUS, _______,
|
||||||
|
KC_EQUAL, KC_KP_ASTERISK, KC_KP_PLUS, _______,
|
||||||
|
KC_ENTER, _______, _______, KC_KP_DOT
|
||||||
|
)
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Handle layer state changes by updating RGB matrix colors
|
||||||
|
*
|
||||||
|
* Sets RGB matrix colors based on active layer:
|
||||||
|
* - Layer 0: Light green (#88FB7A)
|
||||||
|
* - Layer 1: Red
|
||||||
|
* - Other layers: Red (fallback)
|
||||||
|
*/
|
||||||
|
layer_state_t layer_state_set_user(layer_state_t state) {
|
||||||
|
switch (get_highest_layer(state)) {
|
||||||
|
case 0:
|
||||||
|
rgb_matrix_sethsv(85, 255, 251); // #88FB7A for layer 0
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
rgb_matrix_sethsv(0, 255, 255); // Red for layer 1
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
rgb_matrix_sethsv(0, 255, 255); // Red for any other layer
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
return state;
|
||||||
|
}
|
52
keyboards/sdrakbs/sdrakb00/readme.md
Normal file
52
keyboards/sdrakbs/sdrakb00/readme.md
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
# sdrakb00
|
||||||
|
|
||||||
|
![sdrakb00](https://i.imgur.com/0HfpFqW.jpeg)
|
||||||
|
|
||||||
|
11 keys hot-swap macropad with rotary encoder.
|
||||||
|
|
||||||
|
Macropad features:
|
||||||
|
- 11 hot-swap keys
|
||||||
|
- Rotary encoder with push button
|
||||||
|
- AtMega32U4 MCU
|
||||||
|
- Per-key RGB led for backlighting
|
||||||
|
- USB-C connector
|
||||||
|
- On PCB SPI header
|
||||||
|
- MCU reset button
|
||||||
|
- Switch mounting plate
|
||||||
|
- Power LED indicator
|
||||||
|
|
||||||
|
* Keyboard Maintainer: [Diego Andres Rabaioli](https://github.com/drabaioli)
|
||||||
|
* Hardware Supported: Pro Micro Atmega32u4 based macropad with 11 keys, RGB LED chain and rotary encoder
|
||||||
|
* Hardware Availability: [Get the gerbers and have fun building it your self ;)](https://github.com/drabaioli/SdraKb00)
|
||||||
|
|
||||||
|
Build SdraKb00 firmware:
|
||||||
|
|
||||||
|
make sdrakbs/sdrakb00:default
|
||||||
|
|
||||||
|
Flashing SdraKb00 firmware, execute:
|
||||||
|
|
||||||
|
make sdrakbs/sdrakb00:default:flash
|
||||||
|
|
||||||
|
Then press the reset button on the back side of the PCB.
|
||||||
|
|
||||||
|
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
|
||||||
|
|
||||||
|
## Bootloader
|
||||||
|
|
||||||
|
Enter the bootloader in 3 ways:
|
||||||
|
|
||||||
|
* **Physical reset button** (preferred): Briefly press the button on the back of the PCB
|
||||||
|
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
|
||||||
|
|
||||||
|
## Default Keymap
|
||||||
|
|
||||||
|
### Base Layer (0)
|
||||||
|
- NumPad layout (1-9, 0)
|
||||||
|
- Encoder: Volume Up/Down
|
||||||
|
- Encoder Push: Mute
|
||||||
|
- Layer Switch: Hold (1,3) key for function layer
|
||||||
|
|
||||||
|
### Function Layer (1)
|
||||||
|
- NumPad operators (+, -, *, /)
|
||||||
|
- Enter, "=" and backspace keys
|
||||||
|
- Decimal point
|
48
keyboards/shorty/keyboard.json
Normal file
48
keyboards/shorty/keyboard.json
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
{
|
||||||
|
"manufacturer": "Hawtkeys",
|
||||||
|
"keyboard_name": "shorty",
|
||||||
|
"maintainer": "hawtkeys",
|
||||||
|
"bootloader": "rp2040",
|
||||||
|
"diode_direction": "ROW2COL",
|
||||||
|
"encoder": {
|
||||||
|
"rotary": [
|
||||||
|
{"pin_a": "GP28", "pin_b": "GP27"},
|
||||||
|
{"pin_a": "GP3", "pin_b": "GP4"}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"features": {
|
||||||
|
"bootmagic": true,
|
||||||
|
"encoder": true,
|
||||||
|
"extrakey": true,
|
||||||
|
"mousekey": true,
|
||||||
|
"nkro": true
|
||||||
|
},
|
||||||
|
"matrix_pins": {
|
||||||
|
"cols": ["GP14", "GP13", "GP12"],
|
||||||
|
"rows": ["GP11", "GP10", "GP9", "GP29", "GP2"]
|
||||||
|
},
|
||||||
|
"processor": "RP2040",
|
||||||
|
"url": "",
|
||||||
|
"usb": {
|
||||||
|
"device_version": "1.0.0",
|
||||||
|
"pid": "0x5400",
|
||||||
|
"vid": "0x5453"
|
||||||
|
},
|
||||||
|
"layouts": {
|
||||||
|
"LAYOUT": {
|
||||||
|
"layout": [
|
||||||
|
{"matrix": [3, 0], "x": 0, "y": 0},
|
||||||
|
{"matrix": [4, 0], "x": 2, "y": 0},
|
||||||
|
{"matrix": [0, 0], "x": 0, "y": 1},
|
||||||
|
{"matrix": [0, 1], "x": 1, "y": 1},
|
||||||
|
{"matrix": [0, 2], "x": 2, "y": 1},
|
||||||
|
{"matrix": [1, 0], "x": 0, "y": 2},
|
||||||
|
{"matrix": [1, 1], "x": 1, "y": 2},
|
||||||
|
{"matrix": [1, 2], "x": 2, "y": 2},
|
||||||
|
{"matrix": [2, 0], "x": 0, "y": 3},
|
||||||
|
{"matrix": [2, 1], "x": 1, "y": 3},
|
||||||
|
{"matrix": [2, 2], "x": 2, "y": 3}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
18
keyboards/shorty/keymaps/default/keymap.c
Normal file
18
keyboards/shorty/keymaps/default/keymap.c
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
// Copyright 2023 QMK
|
||||||
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
#include QMK_KEYBOARD_H
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
[0] = LAYOUT(
|
||||||
|
KC_A, KC_D,
|
||||||
|
KC_P7, KC_P8, KC_P9,
|
||||||
|
KC_P4, KC_P5, KC_P6,
|
||||||
|
KC_P1, KC_P2, KC_P3
|
||||||
|
)
|
||||||
|
};
|
||||||
|
|
||||||
|
#if defined(ENCODER_MAP_ENABLE)
|
||||||
|
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
|
||||||
|
[0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(MS_WHLD, MS_WHLU) }
|
||||||
|
};
|
||||||
|
#endif
|
27
keyboards/shorty/readme.md
Normal file
27
keyboards/shorty/readme.md
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
# Shorty Zero
|
||||||
|
|
||||||
|
![Shorty Zero by hawtkeys.com](https://i.imgur.com/hoMHYLW.png)
|
||||||
|
|
||||||
|
The Shorty Zero is a 3x3 customizable macropad designed for productivity, gaming, and creative workflows, featuring programmable keys and rotary knobs.
|
||||||
|
|
||||||
|
* Keyboard Maintainer: [Hawtkeys](https://github.com/hawtkeys)
|
||||||
|
* Hardware Supported: Raspberry Pi Pico, Hawtkeys Shorty Zero PCB
|
||||||
|
* Hardware Availability: [Available @ hawtkeys.com](https://hawtkeys.com)
|
||||||
|
|
||||||
|
Make example for this keyboard (after setting up your build environment):
|
||||||
|
|
||||||
|
make shorty:default
|
||||||
|
|
||||||
|
Flashing example for this keyboard:
|
||||||
|
|
||||||
|
make shorty:default:flash
|
||||||
|
|
||||||
|
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
|
||||||
|
|
||||||
|
## Bootloader
|
||||||
|
|
||||||
|
Enter the bootloader in 3 ways:
|
||||||
|
|
||||||
|
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
|
||||||
|
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
|
||||||
|
* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
|
77
keyboards/takashicompany/klec_01/keyboard.json
Normal file
77
keyboards/takashicompany/klec_01/keyboard.json
Normal file
@ -0,0 +1,77 @@
|
|||||||
|
{
|
||||||
|
"manufacturer": "takashicompany",
|
||||||
|
"keyboard_name": "KLEC-01",
|
||||||
|
"maintainer": "takashicompany",
|
||||||
|
"development_board": "promicro",
|
||||||
|
"diode_direction": "COL2ROW",
|
||||||
|
"features": {
|
||||||
|
"bootmagic": true,
|
||||||
|
"command": false,
|
||||||
|
"console": false,
|
||||||
|
"extrakey": true,
|
||||||
|
"mousekey": true,
|
||||||
|
"nkro": true
|
||||||
|
},
|
||||||
|
"matrix_pins": {
|
||||||
|
"cols": ["F4", "F5", "F6", "F7", "B1", "B3", "B2", "B6"],
|
||||||
|
"rows": ["D4", "C6", "D7", "E6", "B4", "B5"]
|
||||||
|
},
|
||||||
|
"url": "",
|
||||||
|
"usb": {
|
||||||
|
"device_version": "1.0.0",
|
||||||
|
"pid": "0x1001",
|
||||||
|
"vid": "0x7463"
|
||||||
|
},
|
||||||
|
"layouts": {
|
||||||
|
"LAYOUT": {
|
||||||
|
"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": [1, 0], "x": 4, "y": 0},
|
||||||
|
{"matrix": [1, 1], "x": 5, "y": 0},
|
||||||
|
{"matrix": [1, 2], "x": 6, "y": 0},
|
||||||
|
{"matrix": [1, 3], "x": 7, "y": 0},
|
||||||
|
{"matrix": [2, 0], "x": 8, "y": 0},
|
||||||
|
{"matrix": [2, 1], "x": 9, "y": 0},
|
||||||
|
{"matrix": [2, 2], "x": 10, "y": 0},
|
||||||
|
{"matrix": [2, 3], "x": 11, "y": 0, "w": 1.75},
|
||||||
|
{"matrix": [0, 4], "x": 0, "y": 1, "w": 1.25},
|
||||||
|
{"matrix": [0, 5], "x": 1.25, "y": 1},
|
||||||
|
{"matrix": [0, 6], "x": 2.25, "y": 1},
|
||||||
|
{"matrix": [0, 7], "x": 3.25, "y": 1},
|
||||||
|
{"matrix": [1, 4], "x": 4.25, "y": 1},
|
||||||
|
{"matrix": [1, 5], "x": 5.25, "y": 1},
|
||||||
|
{"matrix": [1, 6], "x": 6.25, "y": 1},
|
||||||
|
{"matrix": [1, 7], "x": 7.25, "y": 1},
|
||||||
|
{"matrix": [2, 4], "x": 8.25, "y": 1},
|
||||||
|
{"matrix": [2, 5], "x": 9.25, "y": 1},
|
||||||
|
{"matrix": [2, 6], "x": 10.25, "y": 1},
|
||||||
|
{"matrix": [2, 7], "x": 11.25, "y": 1, "w": 1.5},
|
||||||
|
{"matrix": [3, 0], "x": 0, "y": 2, "w": 1.75},
|
||||||
|
{"matrix": [3, 1], "x": 1.75, "y": 2},
|
||||||
|
{"matrix": [3, 2], "x": 2.75, "y": 2},
|
||||||
|
{"matrix": [3, 3], "x": 3.75, "y": 2},
|
||||||
|
{"matrix": [4, 0], "x": 4.75, "y": 2},
|
||||||
|
{"matrix": [4, 1], "x": 5.75, "y": 2},
|
||||||
|
{"matrix": [4, 2], "x": 6.75, "y": 2},
|
||||||
|
{"matrix": [4, 3], "x": 7.75, "y": 2},
|
||||||
|
{"matrix": [5, 0], "x": 8.75, "y": 2},
|
||||||
|
{"matrix": [5, 1], "x": 9.75, "y": 2},
|
||||||
|
{"matrix": [5, 2], "x": 10.75, "y": 2},
|
||||||
|
{"matrix": [5, 3], "x": 11.75, "y": 2},
|
||||||
|
{"matrix": [3, 4], "x": 0, "y": 3},
|
||||||
|
{"matrix": [3, 5], "x": 1, "y": 3},
|
||||||
|
{"matrix": [3, 6], "x": 2, "y": 3},
|
||||||
|
{"matrix": [3, 7], "x": 3, "y": 3, "w": 1.25},
|
||||||
|
{"matrix": [4, 4], "x": 4.25, "y": 3, "w": 2},
|
||||||
|
{"matrix": [4, 5], "x": 6.25, "y": 3, "w": 2.25},
|
||||||
|
{"matrix": [5, 4], "x": 8.5, "y": 3, "w": 1.25},
|
||||||
|
{"matrix": [5, 5], "x": 9.75, "y": 3},
|
||||||
|
{"matrix": [5, 6], "x": 10.75, "y": 3},
|
||||||
|
{"matrix": [5, 7], "x": 11.75, "y": 3}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
69
keyboards/takashicompany/klec_01/keymaps/default/keymap.c
Normal file
69
keyboards/takashicompany/klec_01/keymaps/default/keymap.c
Normal file
@ -0,0 +1,69 @@
|
|||||||
|
// Copyright 2023 QMK
|
||||||
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
#include QMK_KEYBOARD_H
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
[0] = LAYOUT(
|
||||||
|
KC_ESC, LT(7, KC_Q), KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
|
||||||
|
KC_TAB, KC_A, KC_S, LT(6, KC_D), KC_F, KC_G, KC_H, KC_J, LT(6, KC_K), KC_L, KC_ENT, KC_ENT,
|
||||||
|
KC_LSFT, LSFT_T(KC_Z), LGUI_T(KC_X), KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, LCTL_T(KC_DOT), KC_UP, KC_RSFT,
|
||||||
|
KC_LCTL, KC_LGUI, KC_LALT, LALT_T(KC_LNG2), LSFT_T(KC_TAB), LT(2, KC_SPC), LT(1, KC_LNG1), KC_LEFT, KC_DOWN, KC_RGHT
|
||||||
|
),
|
||||||
|
|
||||||
|
[1] = LAYOUT(
|
||||||
|
KC_TRNS, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_TRNS,
|
||||||
|
KC_TRNS, LCTL_T(KC_EQL), KC_LBRC, KC_SLSH, KC_MINS, KC_INT1, KC_SCLN, KC_QUOT, KC_RBRC, KC_NUHS, KC_INT3, KC_TRNS,
|
||||||
|
KC_TRNS, LSFT_T(KC_PLUS), KC_LCBR, KC_QUES, KC_UNDS, LSFT(KC_INT1), KC_COLN, KC_DQUO, KC_RCBR, LSFT(KC_NUHS), KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||||
|
),
|
||||||
|
|
||||||
|
[2] = LAYOUT(
|
||||||
|
KC_TRNS, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, LGUI(KC_INT3), KC_TRNS,
|
||||||
|
KC_TRNS, KC_PLUS, KC_LCBR, KC_QUES, KC_UNDS, LSFT(KC_INT1), KC_COLN, KC_DQUO, KC_RCBR, LSFT(KC_NUHS), LSFT(KC_INT3), KC_TRNS,
|
||||||
|
KC_TRNS, KC_LSFT, KC_LGUI, KC_LALT, KC_LNG2, KC_LSFT, KC_SPC, KC_LNG1, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||||
|
),
|
||||||
|
|
||||||
|
[3] = LAYOUT(
|
||||||
|
KC_TRNS, LT(7, KC_Q), KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_TRNS,
|
||||||
|
KC_TRNS, KC_A, KC_S, LT(6, KC_D), KC_F, KC_G, KC_H, KC_J, LT(6, KC_K), KC_L, KC_ENT, KC_TRNS,
|
||||||
|
KC_TRNS, LSFT_T(KC_Z), LGUI_T(KC_X), KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, LCTL_T(KC_DOT), KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||||
|
),
|
||||||
|
|
||||||
|
[4] = LAYOUT(
|
||||||
|
KC_TRNS, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_CIRC, KC_AT, KC_SLSH, KC_MINS, KC_UNDS, KC_SCLN, KC_COLN, KC_LBRC, KC_RBRC, KC_INT3, KC_TRNS,
|
||||||
|
KC_TRNS, LT(5, KC_TILD), KC_GRV, KC_QUES, KC_EQL, KC_UNDS, KC_PLUS, KC_ASTR, KC_LCBR, KC_RCBR, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||||
|
),
|
||||||
|
|
||||||
|
[5] = LAYOUT(
|
||||||
|
KC_TRNS, KC_EXLM, KC_DQUO, KC_HASH, KC_DLR, KC_PERC, KC_AMPR, KC_QUOT, KC_LPRN, KC_RPRN, KC_BSLS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TILD, KC_GRV, KC_QUES, KC_EQL, KC_UNDS, KC_PLUS, KC_ASTR, KC_LCBR, KC_RCBR, KC_PIPE, KC_TRNS,
|
||||||
|
KC_TRNS, KC_LSFT, KC_LGUI, KC_LALT, KC_LNG2, KC_LSFT, KC_SPC, KC_LNG1, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||||
|
),
|
||||||
|
|
||||||
|
[6] = LAYOUT(
|
||||||
|
KC_TRNS, KC_ESC, KC_TAB, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_UP, KC_NO, KC_NO, KC_TRNS,
|
||||||
|
KC_TRNS, KC_LCTL, KC_TRNS, KC_QUES, KC_EXLM, KC_NO, KC_NO, KC_LEFT, KC_DOWN, KC_RGHT, KC_NO, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_LSFT, KC_LGUI, KC_LALT, KC_LNG2, KC_TRNS, KC_NO, KC_LNG1, KC_NO, KC_NO, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||||
|
),
|
||||||
|
|
||||||
|
[7] = LAYOUT(
|
||||||
|
KC_TRNS, KC_NO, KC_TAB, KC_NO, KC_NO, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS,
|
||||||
|
KC_TRNS, KC_LSFT, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, MO(8), KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||||
|
),
|
||||||
|
|
||||||
|
[8] = LAYOUT(
|
||||||
|
KC_TRNS, UG_TOGG, UG_NEXT, UG_HUEU, UG_SATU, UG_VALU, KC_NO, KC_NO, KC_NO, DF(0), DF(3), KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW, RGB_M_SN, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS,
|
||||||
|
KC_TRNS, RGB_M_K, RGB_M_X, RGB_M_G, KC_NO, KC_NO, QK_BOOT, KC_NO, KC_NO, KC_NO, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||||
|
)
|
||||||
|
};
|
29
keyboards/takashicompany/klec_01/readme.md
Normal file
29
keyboards/takashicompany/klec_01/readme.md
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
# takashicompany/klec_01
|
||||||
|
|
||||||
|
![takashicompany/klec_01](https://i.imgur.com/oFZHNFJ.jpeg)
|
||||||
|
|
||||||
|
46-key integrated keyboard.
|
||||||
|
|
||||||
|
The layout is similar to a conventional keyboard, making it a good introduction to 40% keyboards.
|
||||||
|
|
||||||
|
* Keyboard Maintainer: [takashicompany](https://github.com/takashicompany)
|
||||||
|
* Hardware Supported: PCB, Pro Micro
|
||||||
|
* Hardware Availability: https://github.com/takashicompany/klec_01
|
||||||
|
|
||||||
|
Make example for this keyboard (after setting up your build environment):
|
||||||
|
|
||||||
|
make takashicompany/klec_01:default
|
||||||
|
|
||||||
|
Flashing example for this keyboard:
|
||||||
|
|
||||||
|
make takashicompany/klec_01:default:flash
|
||||||
|
|
||||||
|
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
|
||||||
|
|
||||||
|
## Bootloader
|
||||||
|
|
||||||
|
Enter the bootloader in 3 ways:
|
||||||
|
|
||||||
|
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
|
||||||
|
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
|
||||||
|
* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
|
73
keyboards/takashicompany/klec_02/keyboard.json
Normal file
73
keyboards/takashicompany/klec_02/keyboard.json
Normal file
@ -0,0 +1,73 @@
|
|||||||
|
{
|
||||||
|
"manufacturer": "takashicompany",
|
||||||
|
"keyboard_name": "KLEC-02",
|
||||||
|
"maintainer": "takashicompany",
|
||||||
|
"development_board": "promicro",
|
||||||
|
"diode_direction": "COL2ROW",
|
||||||
|
"features": {
|
||||||
|
"bootmagic": true,
|
||||||
|
"command": false,
|
||||||
|
"console": false,
|
||||||
|
"extrakey": true,
|
||||||
|
"mousekey": true,
|
||||||
|
"nkro": true
|
||||||
|
},
|
||||||
|
"matrix_pins": {
|
||||||
|
"cols": ["D4", "C6", "D7", "E6", "B4"],
|
||||||
|
"rows": ["F4", "F5", "F6", "F7"]
|
||||||
|
},
|
||||||
|
"split": {
|
||||||
|
"enabled": true,
|
||||||
|
"serial": {
|
||||||
|
"pin": "D2"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"url": "",
|
||||||
|
"usb": {
|
||||||
|
"device_version": "1.0.0",
|
||||||
|
"pid": "0x1002",
|
||||||
|
"vid": "0x7463"
|
||||||
|
},
|
||||||
|
"layouts": {
|
||||||
|
"LAYOUT": {
|
||||||
|
"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": [4, 0], "x": 6.25, "y": 0},
|
||||||
|
{"matrix": [4, 1], "x": 7.25, "y": 0},
|
||||||
|
{"matrix": [4, 2], "x": 8.25, "y": 0},
|
||||||
|
{"matrix": [4, 3], "x": 9.25, "y": 0},
|
||||||
|
{"matrix": [4, 4], "x": 10.25, "y": 0},
|
||||||
|
{"matrix": [1, 0], "x": 0.25, "y": 1},
|
||||||
|
{"matrix": [1, 1], "x": 1.25, "y": 1},
|
||||||
|
{"matrix": [1, 2], "x": 2.25, "y": 1},
|
||||||
|
{"matrix": [1, 3], "x": 3.25, "y": 1},
|
||||||
|
{"matrix": [1, 4], "x": 4.25, "y": 1},
|
||||||
|
{"matrix": [5, 0], "x": 6.5, "y": 1},
|
||||||
|
{"matrix": [5, 1], "x": 7.5, "y": 1},
|
||||||
|
{"matrix": [5, 2], "x": 8.5, "y": 1},
|
||||||
|
{"matrix": [5, 3], "x": 9.5, "y": 1},
|
||||||
|
{"matrix": [5, 4], "x": 10.5, "y": 1},
|
||||||
|
{"matrix": [2, 0], "x": 0.5, "y": 2},
|
||||||
|
{"matrix": [2, 1], "x": 1.5, "y": 2},
|
||||||
|
{"matrix": [2, 2], "x": 2.5, "y": 2},
|
||||||
|
{"matrix": [2, 3], "x": 3.5, "y": 2},
|
||||||
|
{"matrix": [2, 4], "x": 4.5, "y": 2},
|
||||||
|
{"matrix": [6, 0], "x": 6.75, "y": 2},
|
||||||
|
{"matrix": [6, 1], "x": 7.75, "y": 2},
|
||||||
|
{"matrix": [6, 2], "x": 8.75, "y": 2},
|
||||||
|
{"matrix": [6, 3], "x": 9.75, "y": 2},
|
||||||
|
{"matrix": [6, 4], "x": 10.75, "y": 2},
|
||||||
|
{"matrix": [3, 2], "x": 2.75, "y": 3},
|
||||||
|
{"matrix": [3, 3], "x": 3.75, "y": 3, "w": 1.25},
|
||||||
|
{"matrix": [3, 4], "x": 5, "y": 3},
|
||||||
|
{"matrix": [7, 0], "x": 6.25, "y": 3},
|
||||||
|
{"matrix": [7, 1], "x": 7.25, "y": 3, "w": 1.25},
|
||||||
|
{"matrix": [7, 2], "x": 8.5, "y": 3}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
70
keyboards/takashicompany/klec_02/keymaps/default/keymap.c
Normal file
70
keyboards/takashicompany/klec_02/keymaps/default/keymap.c
Normal file
@ -0,0 +1,70 @@
|
|||||||
|
// Copyright 2023 QMK
|
||||||
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
#include QMK_KEYBOARD_H
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
|
||||||
|
[0] = LAYOUT(
|
||||||
|
LT(7, KC_Q), KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
|
||||||
|
KC_A, KC_S, LT(6, KC_D), KC_F, KC_G, KC_H, KC_J, LT(6, KC_K), KC_L, KC_ENT,
|
||||||
|
LSFT_T(KC_Z), LGUI_T(KC_X), KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, LCTL_T(KC_DOT), KC_BSPC,
|
||||||
|
KC_LGUI, LALT_T(KC_LNG2), LSFT_T(KC_TAB), LT(2, KC_SPC), LT(1, KC_LNG1), KC_RGUI
|
||||||
|
),
|
||||||
|
|
||||||
|
[1] = LAYOUT(
|
||||||
|
KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0,
|
||||||
|
LCTL_T(KC_EQL), KC_LBRC, KC_SLSH, KC_MINS, KC_INT1, KC_SCLN, KC_QUOT, KC_RBRC, KC_NUHS, KC_INT3,
|
||||||
|
LSFT_T(KC_PLUS), KC_LCBR, KC_QUES, KC_UNDS, LSFT(KC_INT1), KC_COLN, KC_DQUO, KC_RCBR, LSFT(KC_NUHS), LSFT(KC_INT3),
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||||
|
),
|
||||||
|
|
||||||
|
[2] = LAYOUT(
|
||||||
|
KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, LGUI(KC_INT3),
|
||||||
|
KC_PLUS, KC_LCBR, KC_QUES, KC_UNDS, LSFT(KC_INT1), KC_COLN, KC_DQUO, KC_RCBR, LSFT(KC_NUHS), LSFT(KC_INT3),
|
||||||
|
KC_LSFT, KC_LGUI, KC_LALT, KC_LNG2, KC_LSFT, KC_SPC, KC_LNG1, KC_TRNS, KC_TRNS, KC_DEL,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||||
|
),
|
||||||
|
|
||||||
|
[3] = LAYOUT(
|
||||||
|
LT(7, KC_Q), KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
|
||||||
|
KC_A, KC_S, LT(6, KC_D), KC_F, KC_G, KC_H, KC_J, LT(6, KC_K), KC_L, KC_ENT,
|
||||||
|
LSFT_T(KC_Z), LGUI_T(KC_X), KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, LCTL_T(KC_DOT), KC_BSPC,
|
||||||
|
KC_LGUI, LALT_T(KC_LNG2), LSFT_T(KC_TAB), LT(5, KC_SPC), LT(4, KC_LNG1), KC_RGUI
|
||||||
|
),
|
||||||
|
|
||||||
|
[4] = LAYOUT(
|
||||||
|
KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0,
|
||||||
|
KC_CIRC, KC_AT, KC_SLSH, KC_MINS, KC_UNDS, KC_SCLN, KC_COLN, KC_LBRC, KC_RBRC, KC_INT3,
|
||||||
|
LT(5, KC_TILD), KC_GRV, KC_QUES, KC_EQL, KC_UNDS, KC_PLUS, KC_ASTR, KC_LCBR, KC_RCBR, KC_PIPE,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||||
|
),
|
||||||
|
|
||||||
|
[5] = LAYOUT(
|
||||||
|
KC_EXLM, KC_DQUO, KC_HASH, KC_DLR, KC_PERC, KC_AMPR, KC_QUOT, KC_LPRN, KC_RPRN, KC_BSLS,
|
||||||
|
KC_TILD, KC_GRV, KC_QUES, KC_EQL, KC_UNDS, KC_PLUS, KC_ASTR, KC_LCBR, KC_RCBR, KC_PIPE,
|
||||||
|
KC_LSFT, KC_LGUI, KC_LALT, KC_LNG2, KC_LSFT, KC_SPC, KC_LNG1, KC_TRNS, KC_TRNS, KC_DEL,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||||
|
),
|
||||||
|
|
||||||
|
[6] = LAYOUT(
|
||||||
|
KC_ESC, KC_TAB, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_UP, KC_NO, KC_NO,
|
||||||
|
KC_LCTL, KC_TRNS, KC_QUES, KC_EXLM, KC_NO, KC_NO, KC_LEFT, KC_DOWN, KC_RGHT, KC_NO,
|
||||||
|
KC_LSFT, KC_LGUI, KC_LALT, KC_LNG2, KC_TRNS, KC_NO, KC_LNG1, KC_NO, KC_NO, KC_DEL,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||||
|
),
|
||||||
|
|
||||||
|
[7] = LAYOUT(
|
||||||
|
KC_NO, KC_TAB, KC_NO, KC_NO, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6,
|
||||||
|
KC_NO, KC_NO, KC_NO, KC_NO, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
|
||||||
|
KC_LSFT, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, MO(8), MO(9),
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||||
|
),
|
||||||
|
|
||||||
|
[8] = LAYOUT(
|
||||||
|
UG_TOGG, UG_NEXT, UG_HUEU, UG_SATU, UG_VALU, KC_NO, KC_NO, KC_NO, DF(0), DF(3),
|
||||||
|
RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW, RGB_M_SN, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
|
||||||
|
RGB_M_K, RGB_M_X, RGB_M_G, KC_NO, KC_NO, QK_BOOT, KC_NO, KC_NO, KC_NO, KC_NO,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||||
|
)
|
||||||
|
};
|
28
keyboards/takashicompany/klec_02/readme.md
Normal file
28
keyboards/takashicompany/klec_02/readme.md
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
# KLEC-02
|
||||||
|
|
||||||
|
![takashicompany/klec_02](https://i.imgur.com/1w6agBI.jpeg)
|
||||||
|
|
||||||
|
The KLEC-02 is a 36-key segmented keyboard.
|
||||||
|
The PCB can be fitted with key switch sockets, allowing easy replacement of key switches.
|
||||||
|
|
||||||
|
* Keyboard Maintainer: [takashicompany](https://github.com/takashicompany)
|
||||||
|
* Hardware Supported: PCB, Pro Micro
|
||||||
|
* Hardware Availability: https://github.com/takashicompany/klec_02
|
||||||
|
|
||||||
|
Make example for this keyboard (after setting up your build environment):
|
||||||
|
|
||||||
|
make takashicompany/klec_02:default
|
||||||
|
|
||||||
|
Flashing example for this keyboard:
|
||||||
|
|
||||||
|
make takashicompany/klec_02:default:flash
|
||||||
|
|
||||||
|
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
|
||||||
|
|
||||||
|
## Bootloader
|
||||||
|
|
||||||
|
Enter the bootloader in 3 ways:
|
||||||
|
|
||||||
|
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
|
||||||
|
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
|
||||||
|
* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
|
@ -64,13 +64,13 @@
|
|||||||
{"label": ".", "matrix": [2, 9], "x": 9.75, "y": 2},
|
{"label": ".", "matrix": [2, 9], "x": 9.75, "y": 2},
|
||||||
{"label": "/", "matrix": [2, 10], "x": 10.75, "y": 2},
|
{"label": "/", "matrix": [2, 10], "x": 10.75, "y": 2},
|
||||||
{"label": "Shift", "matrix": [2, 11], "x": 11.75, "y": 2, "w": 1.75},
|
{"label": "Shift", "matrix": [2, 11], "x": 11.75, "y": 2, "w": 1.75},
|
||||||
{"label": "Ctrl", "matrix": [3, 0], "x": 0, "y": 3, "w": 1},
|
{"label": "Ctrl", "matrix": [3, 0], "x": 0, "y": 3},
|
||||||
{"label": "LAlt", "matrix": [3, 1], "x": 1.75, "y": 3, "w": 1},
|
{"label": "LAlt", "matrix": [3, 1], "x": 1.75, "y": 3},
|
||||||
{"label": "LGui", "matrix": [3, 2], "x": 2.75, "y": 3, "w": 1},
|
{"label": "LGui", "matrix": [3, 2], "x": 2.75, "y": 3},
|
||||||
{"label": "Space", "matrix": [3, 5], "x": 3.75, "y": 3, "w": 6},
|
{"label": "Space", "matrix": [3, 5], "x": 3.75, "y": 3, "w": 6},
|
||||||
{"label": "RGui", "matrix": [3, 8], "x": 9.75, "y": 3, "w": 1},
|
{"label": "RGui", "matrix": [3, 8], "x": 9.75, "y": 3},
|
||||||
{"label": "RAlt", "matrix": [3, 9], "x": 10.75, "y": 3, "w": 1},
|
{"label": "RAlt", "matrix": [3, 9], "x": 10.75, "y": 3},
|
||||||
{"label": "RCtrl", "matrix": [3, 11], "x": 12.5, "y": 3, "w": 1}
|
{"label": "RCtrl", "matrix": [3, 11], "x": 12.5, "y": 3}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"LAYOUT_split_bars": {
|
"LAYOUT_split_bars": {
|
||||||
@ -113,14 +113,14 @@
|
|||||||
{"label": ".", "matrix": [2, 9], "x": 9.75, "y": 2},
|
{"label": ".", "matrix": [2, 9], "x": 9.75, "y": 2},
|
||||||
{"label": "/", "matrix": [2, 10], "x": 10.75, "y": 2},
|
{"label": "/", "matrix": [2, 10], "x": 10.75, "y": 2},
|
||||||
{"label": "Shift", "matrix": [2, 11], "x": 11.75, "y": 2, "w": 1.75},
|
{"label": "Shift", "matrix": [2, 11], "x": 11.75, "y": 2, "w": 1.75},
|
||||||
{"label": "Ctrl", "matrix": [3, 0], "x": 0, "y": 3, "w": 1},
|
{"label": "Ctrl", "matrix": [3, 0], "x": 0, "y": 3},
|
||||||
{"label": "LAlt", "matrix": [3, 1], "x": 1.75, "y": 3, "w": 1.5},
|
{"label": "LAlt", "matrix": [3, 1], "x": 1.75, "y": 3, "w": 1.5},
|
||||||
{"label": "LGui", "matrix": [3, 2], "x": 3.25, "y": 3, "w": 1},
|
{"label": "LGui", "matrix": [3, 2], "x": 3.25, "y": 3},
|
||||||
{"label": "Space", "matrix": [3, 3], "x": 4.25, "y": 3, "w": 2.25},
|
{"label": "Space", "matrix": [3, 3], "x": 4.25, "y": 3, "w": 2.25},
|
||||||
{"label": "Space", "matrix": [3, 7], "x": 6.5, "y": 3, "w": 2.75},
|
{"label": "Space", "matrix": [3, 7], "x": 6.5, "y": 3, "w": 2.75},
|
||||||
{"label": "RGui", "matrix": [3, 8], "x": 9.25, "y": 3, "w": 1},
|
{"label": "RGui", "matrix": [3, 8], "x": 9.25, "y": 3},
|
||||||
{"label": "RAlt", "matrix": [3, 9], "x": 10.25, "y": 3, "w": 1.5},
|
{"label": "RAlt", "matrix": [3, 9], "x": 10.25, "y": 3, "w": 1.5},
|
||||||
{"label": "RCtrl", "matrix": [3, 11], "x": 12.5, "y": 3, "w": 1}
|
{"label": "RCtrl", "matrix": [3, 11], "x": 12.5, "y": 3}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
205
keyboards/windstudio/wind_x/r1/keyboard.json
Normal file
205
keyboards/windstudio/wind_x/r1/keyboard.json
Normal file
@ -0,0 +1,205 @@
|
|||||||
|
{
|
||||||
|
"manufacturer": "Windstudio",
|
||||||
|
"keyboard_name": "Wind X R1",
|
||||||
|
"maintainer": "chrisgve",
|
||||||
|
"bootloader": "atmel-dfu",
|
||||||
|
"diode_direction": "COL2ROW",
|
||||||
|
"features": {
|
||||||
|
"bootmagic": true,
|
||||||
|
"extrakey": true,
|
||||||
|
"mousekey": true,
|
||||||
|
"nkro": true
|
||||||
|
},
|
||||||
|
"matrix_pins": {
|
||||||
|
"cols": ["C7", "C6", "B6", "E6", "F6", "D6", "D7", "B4", "B5", "F7", "B7", "F4", "F5", "D4", "B0", "B1", "B2", "B3"],
|
||||||
|
"rows": ["F0", "F1", "D2", "D1", "D0"]
|
||||||
|
},
|
||||||
|
"processor": "atmega32u4",
|
||||||
|
"url": "",
|
||||||
|
"usb": {
|
||||||
|
"device_version": "0.0.1",
|
||||||
|
"pid": "0x6801",
|
||||||
|
"vid": "0x6F75"
|
||||||
|
},
|
||||||
|
"layout_aliases": {
|
||||||
|
"LAYOUT_tsangan": "LAYOUT_7u_space_bar_split_bs"
|
||||||
|
},
|
||||||
|
"layouts": {
|
||||||
|
"LAYOUT": {
|
||||||
|
"layout": [
|
||||||
|
{"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
|
||||||
|
{"label": "1", "matrix": [0, 1], "x": 1, "y": 0},
|
||||||
|
{"label": "2", "matrix": [0, 2], "x": 2, "y": 0},
|
||||||
|
{"label": "3", "matrix": [0, 3], "x": 3, "y": 0},
|
||||||
|
{"label": "4", "matrix": [0, 4], "x": 4, "y": 0},
|
||||||
|
{"label": "5", "matrix": [0, 5], "x": 5, "y": 0},
|
||||||
|
{"label": "6", "matrix": [0, 6], "x": 6, "y": 0},
|
||||||
|
{"label": "7", "matrix": [0, 7], "x": 7, "y": 0},
|
||||||
|
{"label": "8", "matrix": [0, 8], "x": 8, "y": 0},
|
||||||
|
{"label": "9", "matrix": [0, 9], "x": 9, "y": 0},
|
||||||
|
{"label": "0", "matrix": [0, 10], "x": 10, "y": 0},
|
||||||
|
{"label": "-", "matrix": [0, 11], "x": 11, "y": 0},
|
||||||
|
{"label": "=", "matrix": [0, 12], "x": 12, "y": 0},
|
||||||
|
{"label": "Backspace", "matrix": [0, 13], "x": 13, "y": 0, "w": 2},
|
||||||
|
{"label": "Del", "matrix": [4, 11], "x": 16, "y": 0},
|
||||||
|
{"label": "NumLock", "matrix": [0, 14], "x": 18, "y": 0},
|
||||||
|
{"label": "KP/", "matrix": [0, 15], "x": 19, "y": 0},
|
||||||
|
{"label": "KP*", "matrix": [0, 16], "x": 20, "y": 0},
|
||||||
|
{"label": "KP-", "matrix": [0, 17], "x": 21, "y": 0},
|
||||||
|
{"label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
|
||||||
|
{"label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1},
|
||||||
|
{"label": "W", "matrix": [1, 2], "x": 2.5, "y": 1},
|
||||||
|
{"label": "E", "matrix": [1, 3], "x": 3.5, "y": 1},
|
||||||
|
{"label": "R", "matrix": [1, 4], "x": 4.5, "y": 1},
|
||||||
|
{"label": "T", "matrix": [1, 5], "x": 5.5, "y": 1},
|
||||||
|
{"label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1},
|
||||||
|
{"label": "U", "matrix": [1, 7], "x": 7.5, "y": 1},
|
||||||
|
{"label": "I", "matrix": [1, 8], "x": 8.5, "y": 1},
|
||||||
|
{"label": "O", "matrix": [1, 9], "x": 9.5, "y": 1},
|
||||||
|
{"label": "P", "matrix": [1, 10], "x": 10.5, "y": 1},
|
||||||
|
{"label": "[", "matrix": [1, 11], "x": 11.5, "y": 1},
|
||||||
|
{"label": "]", "matrix": [1, 12], "x": 12.5, "y": 1},
|
||||||
|
{"label": "\\", "matrix": [2, 12], "x": 13.5, "y": 1, "w": 1.5},
|
||||||
|
{"label": "PgUp", "matrix": [4, 12], "x": 16, "y": 1},
|
||||||
|
{"label": "KP7", "matrix": [1, 14], "x": 18, "y": 1},
|
||||||
|
{"label": "KP8", "matrix": [1, 15], "x": 19, "y": 1},
|
||||||
|
{"label": "KP9", "matrix": [1, 16], "x": 20, "y": 1},
|
||||||
|
{"label": "KP+", "matrix": [1, 17], "x": 21, "y": 1},
|
||||||
|
{"label": "Caps", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
|
||||||
|
{"label": "A", "matrix": [2, 1], "x": 1.75, "y": 2},
|
||||||
|
{"label": "S", "matrix": [2, 2], "x": 2.75, "y": 2},
|
||||||
|
{"label": "D", "matrix": [2, 3], "x": 3.75, "y": 2},
|
||||||
|
{"label": "F", "matrix": [2, 4], "x": 4.75, "y": 2},
|
||||||
|
{"label": "G", "matrix": [2, 5], "x": 5.75, "y": 2},
|
||||||
|
{"label": "H", "matrix": [2, 6], "x": 6.75, "y": 2},
|
||||||
|
{"label": "J", "matrix": [2, 7], "x": 7.75, "y": 2},
|
||||||
|
{"label": "K", "matrix": [2, 8], "x": 8.75, "y": 2},
|
||||||
|
{"label": "L", "matrix": [2, 9], "x": 9.75, "y": 2},
|
||||||
|
{"label": ";", "matrix": [2, 10], "x": 10.75, "y": 2},
|
||||||
|
{"label": "'", "matrix": [2, 11], "x": 11.75, "y": 2},
|
||||||
|
{"label": "Return", "matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25},
|
||||||
|
{"label": "PgDn", "matrix": [4, 13], "x": 16, "y": 2},
|
||||||
|
{"label": "KP4", "matrix": [2, 14], "x": 18, "y": 2},
|
||||||
|
{"label": "KP5", "matrix": [2, 15], "x": 19, "y": 2},
|
||||||
|
{"label": "KP6", "matrix": [2, 16], "x": 20, "y": 2},
|
||||||
|
{"label": "KP+", "matrix": [2, 17], "x": 21, "y": 2},
|
||||||
|
{"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 2.25},
|
||||||
|
{"label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3},
|
||||||
|
{"label": "X", "matrix": [3, 3], "x": 3.25, "y": 3},
|
||||||
|
{"label": "C", "matrix": [3, 4], "x": 4.25, "y": 3},
|
||||||
|
{"label": "V", "matrix": [3, 5], "x": 5.25, "y": 3},
|
||||||
|
{"label": "B", "matrix": [3, 6], "x": 6.25, "y": 3},
|
||||||
|
{"label": "N", "matrix": [3, 7], "x": 7.25, "y": 3},
|
||||||
|
{"label": "M", "matrix": [3, 8], "x": 8.25, "y": 3},
|
||||||
|
{"label": ",", "matrix": [3, 9], "x": 9.25, "y": 3},
|
||||||
|
{"label": ".", "matrix": [3, 10], "x": 10.25, "y": 3},
|
||||||
|
{"label": "/", "matrix": [3, 11], "x": 11.25, "y": 3},
|
||||||
|
{"label": "Shift", "matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75},
|
||||||
|
{"label": "Up", "matrix": [3, 13], "x": 13, "y": 3},
|
||||||
|
{"label": "KP1", "matrix": [3, 14], "x": 18, "y": 3},
|
||||||
|
{"label": "KP2", "matrix": [3, 15], "x": 19, "y": 3},
|
||||||
|
{"label": "KP3", "matrix": [3, 16], "x": 20, "y": 3},
|
||||||
|
{"label": "Enter", "matrix": [3, 17], "x": 21, "y": 3},
|
||||||
|
{"label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
|
||||||
|
{"label": "GUI", "matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25},
|
||||||
|
{"label": "Alt", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25},
|
||||||
|
{"label": "Space", "matrix": [4, 5], "x": 3.75, "y": 4, "w": 6.25},
|
||||||
|
{"label": "GUI", "matrix": [4, 6], "x": 10, "y": 4, "w": 1.25},
|
||||||
|
{"label": "Ctrl", "matrix": [4, 7], "x": 11.25, "y": 4, "w": 1.25},
|
||||||
|
{"label": "Left", "matrix": [4, 8], "x": 14, "y": 4},
|
||||||
|
{"label": "Down", "matrix": [4, 9], "x": 15, "y": 4},
|
||||||
|
{"label": "Right", "matrix": [4, 10], "x": 16, "y": 4},
|
||||||
|
{"label": "KP0", "matrix": [4, 16], "x": 18, "y": 4},
|
||||||
|
{"label": "KP.", "matrix": [4, 17], "x": 19, "y": 4}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"LAYOUT_7u_space_bar_split_bs": {
|
||||||
|
"layout": [
|
||||||
|
{"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
|
||||||
|
{"label": "1", "matrix": [0, 1], "x": 1, "y": 0},
|
||||||
|
{"label": "2", "matrix": [0, 2], "x": 2, "y": 0},
|
||||||
|
{"label": "3", "matrix": [0, 3], "x": 3, "y": 0},
|
||||||
|
{"label": "4", "matrix": [0, 4], "x": 4, "y": 0},
|
||||||
|
{"label": "5", "matrix": [0, 5], "x": 5, "y": 0},
|
||||||
|
{"label": "6", "matrix": [0, 6], "x": 6, "y": 0},
|
||||||
|
{"label": "7", "matrix": [0, 7], "x": 7, "y": 0},
|
||||||
|
{"label": "8", "matrix": [0, 8], "x": 8, "y": 0},
|
||||||
|
{"label": "9", "matrix": [0, 9], "x": 9, "y": 0},
|
||||||
|
{"label": "0", "matrix": [0, 10], "x": 10, "y": 0},
|
||||||
|
{"label": "-", "matrix": [0, 11], "x": 11, "y": 0},
|
||||||
|
{"label": "=", "matrix": [0, 12], "x": 12, "y": 0},
|
||||||
|
{"label": "\\", "matrix": [0, 13], "x": 13, "y": 0},
|
||||||
|
{"label": "`", "matrix": [1, 13], "x": 14, "y": 0},
|
||||||
|
{"label": "PgUp", "matrix": [4, 11], "x": 16, "y": 0},
|
||||||
|
{"label": "NumLock", "matrix": [0, 14], "x": 18, "y": 0},
|
||||||
|
{"label": "KP/", "matrix": [0, 15], "x": 19, "y": 0},
|
||||||
|
{"label": "KP*", "matrix": [0, 16], "x": 20, "y": 0},
|
||||||
|
{"label": "KP-", "matrix": [0, 17], "x": 21, "y": 0},
|
||||||
|
{"label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
|
||||||
|
{"label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1},
|
||||||
|
{"label": "W", "matrix": [1, 2], "x": 2.5, "y": 1},
|
||||||
|
{"label": "E", "matrix": [1, 3], "x": 3.5, "y": 1},
|
||||||
|
{"label": "R", "matrix": [1, 4], "x": 4.5, "y": 1},
|
||||||
|
{"label": "T", "matrix": [1, 5], "x": 5.5, "y": 1},
|
||||||
|
{"label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1},
|
||||||
|
{"label": "U", "matrix": [1, 7], "x": 7.5, "y": 1},
|
||||||
|
{"label": "I", "matrix": [1, 8], "x": 8.5, "y": 1},
|
||||||
|
{"label": "O", "matrix": [1, 9], "x": 9.5, "y": 1},
|
||||||
|
{"label": "P", "matrix": [1, 10], "x": 10.5, "y": 1},
|
||||||
|
{"label": "[", "matrix": [1, 11], "x": 11.5, "y": 1},
|
||||||
|
{"label": "]", "matrix": [1, 12], "x": 12.5, "y": 1},
|
||||||
|
{"label": "Backspace", "matrix": [2, 12], "x": 13.5, "y": 1, "w": 1.5},
|
||||||
|
{"label": "PgDn", "matrix": [4, 12], "x": 16, "y": 1},
|
||||||
|
{"label": "KP7", "matrix": [1, 14], "x": 18, "y": 1},
|
||||||
|
{"label": "KP8", "matrix": [1, 15], "x": 19, "y": 1},
|
||||||
|
{"label": "KP9", "matrix": [1, 16], "x": 20, "y": 1},
|
||||||
|
{"label": "KP+", "matrix": [1, 17], "x": 21, "y": 1},
|
||||||
|
{"label": "Ctrl", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
|
||||||
|
{"label": "A", "matrix": [2, 1], "x": 1.75, "y": 2},
|
||||||
|
{"label": "S", "matrix": [2, 2], "x": 2.75, "y": 2},
|
||||||
|
{"label": "D", "matrix": [2, 3], "x": 3.75, "y": 2},
|
||||||
|
{"label": "F", "matrix": [2, 4], "x": 4.75, "y": 2},
|
||||||
|
{"label": "G", "matrix": [2, 5], "x": 5.75, "y": 2},
|
||||||
|
{"label": "H", "matrix": [2, 6], "x": 6.75, "y": 2},
|
||||||
|
{"label": "J", "matrix": [2, 7], "x": 7.75, "y": 2},
|
||||||
|
{"label": "K", "matrix": [2, 8], "x": 8.75, "y": 2},
|
||||||
|
{"label": "L", "matrix": [2, 9], "x": 9.75, "y": 2},
|
||||||
|
{"label": ";", "matrix": [2, 10], "x": 10.75, "y": 2},
|
||||||
|
{"label": "'", "matrix": [2, 11], "x": 11.75, "y": 2},
|
||||||
|
{"label": "Return", "matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25},
|
||||||
|
{"label": "End", "matrix": [4, 13], "x": 16, "y": 2},
|
||||||
|
{"label": "KP4", "matrix": [2, 14], "x": 18, "y": 2},
|
||||||
|
{"label": "KP5", "matrix": [2, 15], "x": 19, "y": 2},
|
||||||
|
{"label": "KP6", "matrix": [2, 16], "x": 20, "y": 2},
|
||||||
|
{"label": "KP+", "matrix": [2, 17], "x": 21, "y": 2},
|
||||||
|
{"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 2.25},
|
||||||
|
{"label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3},
|
||||||
|
{"label": "X", "matrix": [3, 3], "x": 3.25, "y": 3},
|
||||||
|
{"label": "C", "matrix": [3, 4], "x": 4.25, "y": 3},
|
||||||
|
{"label": "V", "matrix": [3, 5], "x": 5.25, "y": 3},
|
||||||
|
{"label": "B", "matrix": [3, 6], "x": 6.25, "y": 3},
|
||||||
|
{"label": "N", "matrix": [3, 7], "x": 7.25, "y": 3},
|
||||||
|
{"label": "M", "matrix": [3, 8], "x": 8.25, "y": 3},
|
||||||
|
{"label": ",", "matrix": [3, 9], "x": 9.25, "y": 3},
|
||||||
|
{"label": ".", "matrix": [3, 10], "x": 10.25, "y": 3},
|
||||||
|
{"label": "/", "matrix": [3, 11], "x": 11.25, "y": 3},
|
||||||
|
{"label": "Shift", "matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75},
|
||||||
|
{"label": "Up", "matrix": [3, 13], "x": 13, "y": 3},
|
||||||
|
{"label": "KP1", "matrix": [3, 14], "x": 18, "y": 3},
|
||||||
|
{"label": "KP2", "matrix": [3, 15], "x": 19, "y": 3},
|
||||||
|
{"label": "KP3", "matrix": [3, 16], "x": 20, "y": 3},
|
||||||
|
{"label": "Enter", "matrix": [3, 17], "x": 21, "y": 3},
|
||||||
|
{"label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.5},
|
||||||
|
{"label": "GUI", "matrix": [4, 1], "x": 1.5, "y": 4},
|
||||||
|
{"label": "Alt", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5},
|
||||||
|
{"label": "Space", "matrix": [4, 5], "x": 4, "y": 4, "w": 7},
|
||||||
|
{"label": "Ctrl", "matrix": [4, 7], "x": 11, "y": 4, "w": 1.5},
|
||||||
|
{"label": "Left", "matrix": [4, 8], "x": 13, "y": 4},
|
||||||
|
{"label": "Down", "matrix": [4, 9], "x": 14, "y": 4},
|
||||||
|
{"label": "Right", "matrix": [4, 10], "x": 15, "y": 4},
|
||||||
|
{"label": "KP0", "matrix": [4, 16], "x": 18, "y": 4},
|
||||||
|
{"label": "KP.", "matrix": [4, 17], "x": 19, "y": 4}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
40
keyboards/windstudio/wind_x/r1/keymaps/default/keymap.c
Normal file
40
keyboards/windstudio/wind_x/r1/keymaps/default/keymap.c
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
/* Copyright 2024 chrisgve
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include QMK_KEYBOARD_H
|
||||||
|
|
||||||
|
// clang-format off
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
|
||||||
|
[0] = LAYOUT(
|
||||||
|
QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS,
|
||||||
|
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP, KC_P7, KC_P8, KC_P9, KC_PPLS,
|
||||||
|
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN, KC_P4, KC_P5, KC_P6, KC_PPLS,
|
||||||
|
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT,
|
||||||
|
KC_LCTL, KC_LGUI, KC_LALT, LT(1, KC_SPC), KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT
|
||||||
|
),
|
||||||
|
|
||||||
|
[1] = LAYOUT(
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||||
|
)
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
// clang-format on
|
6
keyboards/windstudio/wind_x/r1/keymaps/default/readme.md
Normal file
6
keyboards/windstudio/wind_x/r1/keymaps/default/readme.md
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
# Default Wind X R1 Layout
|
||||||
|
|
||||||
|
This is the default layout that comes flashed on every Wind X R1. For the most
|
||||||
|
part it's a straightforward and easy to follow layout. The only unusual key is
|
||||||
|
the key in the upper left, which sends Escape normally, but Grave when any of
|
||||||
|
the Ctrl, Alt, or GUI modifiers are held down.
|
28
keyboards/windstudio/wind_x/r1/readme.md
Normal file
28
keyboards/windstudio/wind_x/r1/readme.md
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
# WindX R1 by Windstudio
|
||||||
|
|
||||||
|
![WindX R1](https://i.imgur.com/FEVczwG.jpg)
|
||||||
|
_Compact, yet feature full working or gaming keyboard_
|
||||||
|
|
||||||
|
A large layout keyboard without the function keys. [More info on geekhack.org](https://geekhack.org/index.php?topic=114767.0)
|
||||||
|
|
||||||
|
- Keyboard Maintainer: [Christian C. Berclaz](https://github.com/chrisgve)
|
||||||
|
- Hardware Supported: Wind X R1 w/ ATmega32U4 microcontroller
|
||||||
|
- Hardware Availability: [windstudio.store](https://windstudio.store/collections/wind-x)
|
||||||
|
|
||||||
|
Make example for this keyboard (after setting up your build environment):
|
||||||
|
|
||||||
|
make windstudio/wind_x/r1:default
|
||||||
|
|
||||||
|
Flashing example for this keyboard:
|
||||||
|
|
||||||
|
make windstudio/wind_x/r1:default:flash
|
||||||
|
|
||||||
|
See the [build environment setup](getting_started_build_tools) and the [make instructions](getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](newbs).
|
||||||
|
|
||||||
|
## Bootloader
|
||||||
|
|
||||||
|
Enter the bootloader in 3 ways:
|
||||||
|
|
||||||
|
- **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
|
||||||
|
- **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
|
||||||
|
- **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
|
@ -326,7 +326,7 @@
|
|||||||
{"matrix": [7, 6], "x": 14, "y": 3},
|
{"matrix": [7, 6], "x": 14, "y": 3},
|
||||||
{"matrix": [7, 7], "x": 15, "y": 3},
|
{"matrix": [7, 7], "x": 15, "y": 3},
|
||||||
{"matrix": [8, 0], "x": 0, "y": 4, "w": 1.5},
|
{"matrix": [8, 0], "x": 0, "y": 4, "w": 1.5},
|
||||||
{"matrix": [9, 0], "x": 1.5, "y": 4, "w": 1},
|
{"matrix": [9, 0], "x": 1.5, "y": 4},
|
||||||
{"matrix": [8, 1], "x": 2.5, "y": 4, "w": 1.5},
|
{"matrix": [8, 1], "x": 2.5, "y": 4, "w": 1.5},
|
||||||
{"matrix": [8, 3], "x": 4, "y": 4, "w": 7},
|
{"matrix": [8, 3], "x": 4, "y": 4, "w": 7},
|
||||||
{"matrix": [8, 5], "x": 11, "y": 4, "w": 1.5},
|
{"matrix": [8, 5], "x": 11, "y": 4, "w": 1.5},
|
||||||
@ -397,7 +397,7 @@
|
|||||||
{"matrix": [7, 6], "x": 14, "y": 3},
|
{"matrix": [7, 6], "x": 14, "y": 3},
|
||||||
{"matrix": [7, 7], "x": 15, "y": 3},
|
{"matrix": [7, 7], "x": 15, "y": 3},
|
||||||
{"matrix": [8, 0], "x": 0, "y": 4, "w": 1.5},
|
{"matrix": [8, 0], "x": 0, "y": 4, "w": 1.5},
|
||||||
{"matrix": [9, 0], "x": 1.5, "y": 4, "w": 1},
|
{"matrix": [9, 0], "x": 1.5, "y": 4},
|
||||||
{"matrix": [8, 1], "x": 2.5, "y": 4, "w": 1.5},
|
{"matrix": [8, 1], "x": 2.5, "y": 4, "w": 1.5},
|
||||||
{"matrix": [8, 3], "x": 4, "y": 4, "w": 7},
|
{"matrix": [8, 3], "x": 4, "y": 4, "w": 7},
|
||||||
{"matrix": [8, 5], "x": 11, "y": 4, "w": 1.5},
|
{"matrix": [8, 5], "x": 11, "y": 4, "w": 1.5},
|
||||||
@ -613,7 +613,7 @@
|
|||||||
{"matrix": [7, 6], "x": 14, "y": 3},
|
{"matrix": [7, 6], "x": 14, "y": 3},
|
||||||
{"matrix": [7, 7], "x": 15, "y": 3},
|
{"matrix": [7, 7], "x": 15, "y": 3},
|
||||||
{"matrix": [8, 0], "x": 0, "y": 4, "w": 1.5},
|
{"matrix": [8, 0], "x": 0, "y": 4, "w": 1.5},
|
||||||
{"matrix": [9, 0], "x": 1.5, "y": 4, "w": 1},
|
{"matrix": [9, 0], "x": 1.5, "y": 4},
|
||||||
{"matrix": [8, 1], "x": 2.5, "y": 4, "w": 1.5},
|
{"matrix": [8, 1], "x": 2.5, "y": 4, "w": 1.5},
|
||||||
{"matrix": [8, 3], "x": 4, "y": 4, "w": 7},
|
{"matrix": [8, 3], "x": 4, "y": 4, "w": 7},
|
||||||
{"matrix": [8, 5], "x": 11, "y": 4, "w": 1.5},
|
{"matrix": [8, 5], "x": 11, "y": 4, "w": 1.5},
|
||||||
@ -685,7 +685,7 @@
|
|||||||
{"matrix": [7, 6], "x": 14, "y": 3},
|
{"matrix": [7, 6], "x": 14, "y": 3},
|
||||||
{"matrix": [7, 7], "x": 15, "y": 3},
|
{"matrix": [7, 7], "x": 15, "y": 3},
|
||||||
{"matrix": [8, 0], "x": 0, "y": 4, "w": 1.5},
|
{"matrix": [8, 0], "x": 0, "y": 4, "w": 1.5},
|
||||||
{"matrix": [9, 0], "x": 1.5, "y": 4, "w": 1},
|
{"matrix": [9, 0], "x": 1.5, "y": 4},
|
||||||
{"matrix": [8, 1], "x": 2.5, "y": 4, "w": 1.5},
|
{"matrix": [8, 1], "x": 2.5, "y": 4, "w": 1.5},
|
||||||
{"matrix": [8, 3], "x": 4, "y": 4, "w": 7},
|
{"matrix": [8, 3], "x": 4, "y": 4, "w": 7},
|
||||||
{"matrix": [8, 5], "x": 11, "y": 4, "w": 1.5},
|
{"matrix": [8, 5], "x": 11, "y": 4, "w": 1.5},
|
||||||
|
21
keyboards/zykrah/fuyu_hs/config.h
Normal file
21
keyboards/zykrah/fuyu_hs/config.h
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
/*
|
||||||
|
Copyright 2024 Zykrah
|
||||||
|
|
||||||
|
This program is free software: you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation, either version 2 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
This program is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET
|
||||||
|
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 500U
|
404
keyboards/zykrah/fuyu_hs/keyboard.json
Normal file
404
keyboards/zykrah/fuyu_hs/keyboard.json
Normal file
@ -0,0 +1,404 @@
|
|||||||
|
{
|
||||||
|
"keyboard_name": "Fuyu Hotswap",
|
||||||
|
"maintainer": "zykrah",
|
||||||
|
"manufacturer": "Zykrah",
|
||||||
|
"processor": "RP2040",
|
||||||
|
"bootloader": "rp2040",
|
||||||
|
"usb": {
|
||||||
|
"device_version": "0.0.1",
|
||||||
|
"pid": "0x4648",
|
||||||
|
"vid": "0x7A79"
|
||||||
|
},
|
||||||
|
"features": {
|
||||||
|
"bootmagic": true,
|
||||||
|
"extrakey": true,
|
||||||
|
"mousekey": true,
|
||||||
|
"nkro": true,
|
||||||
|
"rgb_matrix": true
|
||||||
|
},
|
||||||
|
"diode_direction": "COL2ROW",
|
||||||
|
"dynamic_keymap": {
|
||||||
|
"layer_count": 6
|
||||||
|
},
|
||||||
|
"matrix_pins": {
|
||||||
|
"rows": ["GP13", "GP12", "GP11", "GP10", "GP15", "GP14"],
|
||||||
|
"cols": ["GP29", "GP28", "GP27", "GP26", "GP25", "GP24", "GP23", "GP22", "GP21", "GP20", "GP19", "GP18", "GP17", "GP16", "GP2", "GP1", "GP0"]
|
||||||
|
},
|
||||||
|
"rgb_matrix": {
|
||||||
|
"animations": {
|
||||||
|
"alphas_mods": true,
|
||||||
|
"gradient_up_down": true,
|
||||||
|
"gradient_left_right": true,
|
||||||
|
"breathing": true,
|
||||||
|
"band_sat": true,
|
||||||
|
"band_val": true,
|
||||||
|
"band_pinwheel_sat": true,
|
||||||
|
"band_pinwheel_val": true,
|
||||||
|
"band_spiral_sat": true,
|
||||||
|
"band_spiral_val": true,
|
||||||
|
"cycle_all": true,
|
||||||
|
"cycle_left_right": true,
|
||||||
|
"cycle_up_down": true,
|
||||||
|
"rainbow_moving_chevron": true,
|
||||||
|
"cycle_out_in": true,
|
||||||
|
"cycle_out_in_dual": true,
|
||||||
|
"cycle_pinwheel": true,
|
||||||
|
"cycle_spiral": true,
|
||||||
|
"dual_beacon": true,
|
||||||
|
"rainbow_beacon": true,
|
||||||
|
"rainbow_pinwheels": true,
|
||||||
|
"raindrops": true,
|
||||||
|
"jellybean_raindrops": true,
|
||||||
|
"hue_breathing": true,
|
||||||
|
"hue_pendulum": true,
|
||||||
|
"hue_wave": true,
|
||||||
|
"pixel_rain": true,
|
||||||
|
"pixel_flow": true,
|
||||||
|
"pixel_fractal": true
|
||||||
|
},
|
||||||
|
"default": {
|
||||||
|
"val": 150
|
||||||
|
},
|
||||||
|
"driver": "ws2812",
|
||||||
|
"max_brightness": 200,
|
||||||
|
"layout": [
|
||||||
|
{"x": 112, "y": 32, "flags": 8},
|
||||||
|
{"x": 138, "y": 17, "flags": 8},
|
||||||
|
{"x": 112, "y": 2, "flags": 8},
|
||||||
|
{"x": 86, "y": 17, "flags": 8},
|
||||||
|
{"x": 86, "y": 47, "flags": 8},
|
||||||
|
{"x": 112, "y": 62, "flags": 8},
|
||||||
|
{"x": 138, "y": 47, "flags": 8},
|
||||||
|
{"x": 0, "y": 0, "flags": 2},
|
||||||
|
{"x": 16, "y": 0, "flags": 2},
|
||||||
|
{"x": 32, "y": 0, "flags": 2},
|
||||||
|
{"x": 48, "y": 0, "flags": 2},
|
||||||
|
{"x": 64, "y": 0, "flags": 2},
|
||||||
|
{"x": 80, "y": 0, "flags": 2},
|
||||||
|
{"x": 96, "y": 0, "flags": 2},
|
||||||
|
{"x": 112, "y": 0, "flags": 2},
|
||||||
|
{"x": 128, "y": 0, "flags": 2},
|
||||||
|
{"x": 144, "y": 0, "flags": 2},
|
||||||
|
{"x": 160, "y": 0, "flags": 2},
|
||||||
|
{"x": 176, "y": 0, "flags": 2},
|
||||||
|
{"x": 192, "y": 0, "flags": 2},
|
||||||
|
{"x": 208, "y": 0, "flags": 2},
|
||||||
|
{"x": 208, "y": 16, "flags": 2},
|
||||||
|
{"x": 208, "y": 32, "flags": 2},
|
||||||
|
{"x": 208, "y": 48, "flags": 2},
|
||||||
|
{"x": 208, "y": 64, "flags": 2},
|
||||||
|
{"x": 192, "y": 64, "flags": 2},
|
||||||
|
{"x": 176, "y": 64, "flags": 2},
|
||||||
|
{"x": 160, "y": 64, "flags": 2},
|
||||||
|
{"x": 144, "y": 64, "flags": 2},
|
||||||
|
{"x": 128, "y": 64, "flags": 2},
|
||||||
|
{"x": 112, "y": 64, "flags": 2},
|
||||||
|
{"x": 96, "y": 64, "flags": 2},
|
||||||
|
{"x": 80, "y": 64, "flags": 2},
|
||||||
|
{"x": 64, "y": 64, "flags": 2},
|
||||||
|
{"x": 48, "y": 64, "flags": 2},
|
||||||
|
{"x": 32, "y": 64, "flags": 2},
|
||||||
|
{"x": 16, "y": 64, "flags": 2},
|
||||||
|
{"x": 0, "y": 64, "flags": 2},
|
||||||
|
{"x": 0, "y": 48, "flags": 2},
|
||||||
|
{"x": 0, "y": 32, "flags": 2},
|
||||||
|
{"x": 0, "y": 16, "flags": 2}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"url": "https://github.com/zykrah/fuyu",
|
||||||
|
"ws2812": {
|
||||||
|
"driver": "vendor",
|
||||||
|
"pin": "GP3"
|
||||||
|
},
|
||||||
|
"layouts": {
|
||||||
|
"LAYOUT_all": {
|
||||||
|
"layout": [
|
||||||
|
{"matrix": [0, 0], "x": 0, "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.5, "y": 0},
|
||||||
|
{"matrix": [0, 7], "x": 7.5, "y": 0},
|
||||||
|
{"matrix": [0, 8], "x": 8.5, "y": 0},
|
||||||
|
{"matrix": [0, 9], "x": 9.5, "y": 0},
|
||||||
|
{"matrix": [0, 10], "x": 11, "y": 0},
|
||||||
|
{"matrix": [0, 11], "x": 12, "y": 0},
|
||||||
|
{"matrix": [0, 12], "x": 13, "y": 0},
|
||||||
|
{"matrix": [0, 13], "x": 14, "y": 0},
|
||||||
|
{"matrix": [0, 14], "x": 15.25, "y": 0},
|
||||||
|
{"matrix": [0, 15], "x": 16.25, "y": 0},
|
||||||
|
{"matrix": [0, 16], "x": 17.25, "y": 0},
|
||||||
|
{"matrix": [1, 0], "x": 0, "y": 1.25},
|
||||||
|
{"matrix": [1, 1], "x": 1, "y": 1.25},
|
||||||
|
{"matrix": [1, 2], "x": 2, "y": 1.25},
|
||||||
|
{"matrix": [1, 3], "x": 3, "y": 1.25},
|
||||||
|
{"matrix": [1, 4], "x": 4, "y": 1.25},
|
||||||
|
{"matrix": [1, 5], "x": 5, "y": 1.25},
|
||||||
|
{"matrix": [1, 6], "x": 6, "y": 1.25},
|
||||||
|
{"matrix": [1, 7], "x": 7, "y": 1.25},
|
||||||
|
{"matrix": [1, 8], "x": 8, "y": 1.25},
|
||||||
|
{"matrix": [1, 9], "x": 9, "y": 1.25},
|
||||||
|
{"matrix": [1, 10], "x": 10, "y": 1.25},
|
||||||
|
{"matrix": [1, 11], "x": 11, "y": 1.25},
|
||||||
|
{"matrix": [1, 12], "x": 12, "y": 1.25},
|
||||||
|
{"matrix": [1, 13], "x": 13, "y": 1.25},
|
||||||
|
{"matrix": [3, 13], "x": 14, "y": 1.25},
|
||||||
|
{"matrix": [1, 14], "x": 15.25, "y": 1.25},
|
||||||
|
{"matrix": [1, 15], "x": 16.25, "y": 1.25},
|
||||||
|
{"matrix": [1, 16], "x": 17.25, "y": 1.25},
|
||||||
|
{"matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5},
|
||||||
|
{"matrix": [2, 1], "x": 1.5, "y": 2.25},
|
||||||
|
{"matrix": [2, 2], "x": 2.5, "y": 2.25},
|
||||||
|
{"matrix": [2, 3], "x": 3.5, "y": 2.25},
|
||||||
|
{"matrix": [2, 4], "x": 4.5, "y": 2.25},
|
||||||
|
{"matrix": [2, 5], "x": 5.5, "y": 2.25},
|
||||||
|
{"matrix": [2, 6], "x": 6.5, "y": 2.25},
|
||||||
|
{"matrix": [2, 7], "x": 7.5, "y": 2.25},
|
||||||
|
{"matrix": [2, 8], "x": 8.5, "y": 2.25},
|
||||||
|
{"matrix": [2, 9], "x": 9.5, "y": 2.25},
|
||||||
|
{"matrix": [2, 10], "x": 10.5, "y": 2.25},
|
||||||
|
{"matrix": [2, 11], "x": 11.5, "y": 2.25},
|
||||||
|
{"matrix": [2, 12], "x": 12.5, "y": 2.25},
|
||||||
|
{"matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5},
|
||||||
|
{"matrix": [2, 14], "x": 15.25, "y": 2.25},
|
||||||
|
{"matrix": [2, 15], "x": 16.25, "y": 2.25},
|
||||||
|
{"matrix": [2, 16], "x": 17.25, "y": 2.25},
|
||||||
|
{"matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75},
|
||||||
|
{"matrix": [3, 1], "x": 1.75, "y": 3.25},
|
||||||
|
{"matrix": [3, 2], "x": 2.75, "y": 3.25},
|
||||||
|
{"matrix": [3, 3], "x": 3.75, "y": 3.25},
|
||||||
|
{"matrix": [3, 4], "x": 4.75, "y": 3.25},
|
||||||
|
{"matrix": [3, 5], "x": 5.75, "y": 3.25},
|
||||||
|
{"matrix": [3, 6], "x": 6.75, "y": 3.25},
|
||||||
|
{"matrix": [3, 7], "x": 7.75, "y": 3.25},
|
||||||
|
{"matrix": [3, 8], "x": 8.75, "y": 3.25},
|
||||||
|
{"matrix": [3, 9], "x": 9.75, "y": 3.25},
|
||||||
|
{"matrix": [3, 10], "x": 10.75, "y": 3.25},
|
||||||
|
{"matrix": [3, 11], "x": 11.75, "y": 3.25},
|
||||||
|
{"matrix": [3, 12], "x": 12.75, "y": 3.25, "w": 2.25},
|
||||||
|
{"matrix": [3, 14], "x": 15.25, "y": 3.25},
|
||||||
|
{"matrix": [3, 15], "x": 16.25, "y": 3.25},
|
||||||
|
{"matrix": [3, 16], "x": 17.25, "y": 3.25},
|
||||||
|
{"matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25},
|
||||||
|
{"matrix": [4, 2], "x": 2.25, "y": 4.25},
|
||||||
|
{"matrix": [4, 3], "x": 3.25, "y": 4.25},
|
||||||
|
{"matrix": [4, 4], "x": 4.25, "y": 4.25},
|
||||||
|
{"matrix": [4, 5], "x": 5.25, "y": 4.25},
|
||||||
|
{"matrix": [4, 6], "x": 6.25, "y": 4.25},
|
||||||
|
{"matrix": [4, 7], "x": 7.25, "y": 4.25},
|
||||||
|
{"matrix": [4, 8], "x": 8.25, "y": 4.25},
|
||||||
|
{"matrix": [4, 9], "x": 9.25, "y": 4.25},
|
||||||
|
{"matrix": [4, 10], "x": 10.25, "y": 4.25},
|
||||||
|
{"matrix": [4, 11], "x": 11.25, "y": 4.25},
|
||||||
|
{"matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 1.75},
|
||||||
|
{"matrix": [4, 13], "x": 14, "y": 4.25},
|
||||||
|
{"matrix": [4, 14], "x": 15.25, "y": 4.25},
|
||||||
|
{"matrix": [4, 15], "x": 16.25, "y": 4.25},
|
||||||
|
{"matrix": [4, 16], "x": 17.25, "y": 4.25},
|
||||||
|
{"matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.25},
|
||||||
|
{"matrix": [5, 1], "x": 1.25, "y": 5.25, "w": 1.25},
|
||||||
|
{"matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.25},
|
||||||
|
{"matrix": [5, 6], "x": 3.75, "y": 5.25, "w": 6.25},
|
||||||
|
{"matrix": [5, 10], "x": 10, "y": 5.25, "w": 1.25},
|
||||||
|
{"matrix": [5, 11], "x": 11.25, "y": 5.25, "w": 1.25},
|
||||||
|
{"matrix": [5, 12], "x": 12.5, "y": 5.25, "w": 1.25},
|
||||||
|
{"matrix": [5, 13], "x": 13.75, "y": 5.25, "w": 1.25},
|
||||||
|
{"matrix": [5, 14], "x": 15.25, "y": 5.25},
|
||||||
|
{"matrix": [5, 15], "x": 16.25, "y": 5.25},
|
||||||
|
{"matrix": [5, 16], "x": 17.25, "y": 5.25}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"LAYOUT_tkl_ansi_numpad": {
|
||||||
|
"layout": [
|
||||||
|
{"matrix": [0, 0], "x": 0, "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.5, "y": 0},
|
||||||
|
{"matrix": [0, 7], "x": 7.5, "y": 0},
|
||||||
|
{"matrix": [0, 8], "x": 8.5, "y": 0},
|
||||||
|
{"matrix": [0, 9], "x": 9.5, "y": 0},
|
||||||
|
{"matrix": [0, 10], "x": 11, "y": 0},
|
||||||
|
{"matrix": [0, 11], "x": 12, "y": 0},
|
||||||
|
{"matrix": [0, 12], "x": 13, "y": 0},
|
||||||
|
{"matrix": [0, 13], "x": 14, "y": 0},
|
||||||
|
{"matrix": [0, 14], "x": 15.25, "y": 0},
|
||||||
|
{"matrix": [0, 15], "x": 16.25, "y": 0},
|
||||||
|
{"matrix": [0, 16], "x": 17.25, "y": 0},
|
||||||
|
{"matrix": [1, 0], "x": 0, "y": 1.25},
|
||||||
|
{"matrix": [1, 1], "x": 1, "y": 1.25},
|
||||||
|
{"matrix": [1, 2], "x": 2, "y": 1.25},
|
||||||
|
{"matrix": [1, 3], "x": 3, "y": 1.25},
|
||||||
|
{"matrix": [1, 4], "x": 4, "y": 1.25},
|
||||||
|
{"matrix": [1, 5], "x": 5, "y": 1.25},
|
||||||
|
{"matrix": [1, 6], "x": 6, "y": 1.25},
|
||||||
|
{"matrix": [1, 7], "x": 7, "y": 1.25},
|
||||||
|
{"matrix": [1, 8], "x": 8, "y": 1.25},
|
||||||
|
{"matrix": [1, 9], "x": 9, "y": 1.25},
|
||||||
|
{"matrix": [1, 10], "x": 10, "y": 1.25},
|
||||||
|
{"matrix": [1, 11], "x": 11, "y": 1.25},
|
||||||
|
{"matrix": [1, 12], "x": 12, "y": 1.25},
|
||||||
|
{"matrix": [1, 13], "x": 13, "y": 1.25, "w": 2},
|
||||||
|
{"matrix": [1, 14], "x": 15.25, "y": 1.25},
|
||||||
|
{"matrix": [1, 15], "x": 16.25, "y": 1.25},
|
||||||
|
{"matrix": [1, 16], "x": 17.25, "y": 1.25},
|
||||||
|
{"matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5},
|
||||||
|
{"matrix": [2, 1], "x": 1.5, "y": 2.25},
|
||||||
|
{"matrix": [2, 2], "x": 2.5, "y": 2.25},
|
||||||
|
{"matrix": [2, 3], "x": 3.5, "y": 2.25},
|
||||||
|
{"matrix": [2, 4], "x": 4.5, "y": 2.25},
|
||||||
|
{"matrix": [2, 5], "x": 5.5, "y": 2.25},
|
||||||
|
{"matrix": [2, 6], "x": 6.5, "y": 2.25},
|
||||||
|
{"matrix": [2, 7], "x": 7.5, "y": 2.25},
|
||||||
|
{"matrix": [2, 8], "x": 8.5, "y": 2.25},
|
||||||
|
{"matrix": [2, 9], "x": 9.5, "y": 2.25},
|
||||||
|
{"matrix": [2, 10], "x": 10.5, "y": 2.25},
|
||||||
|
{"matrix": [2, 11], "x": 11.5, "y": 2.25},
|
||||||
|
{"matrix": [2, 12], "x": 12.5, "y": 2.25},
|
||||||
|
{"matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5},
|
||||||
|
{"matrix": [2, 14], "x": 15.25, "y": 2.25},
|
||||||
|
{"matrix": [2, 15], "x": 16.25, "y": 2.25},
|
||||||
|
{"matrix": [2, 16], "x": 17.25, "y": 2.25},
|
||||||
|
{"matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75},
|
||||||
|
{"matrix": [3, 1], "x": 1.75, "y": 3.25},
|
||||||
|
{"matrix": [3, 2], "x": 2.75, "y": 3.25},
|
||||||
|
{"matrix": [3, 3], "x": 3.75, "y": 3.25},
|
||||||
|
{"matrix": [3, 4], "x": 4.75, "y": 3.25},
|
||||||
|
{"matrix": [3, 5], "x": 5.75, "y": 3.25},
|
||||||
|
{"matrix": [3, 6], "x": 6.75, "y": 3.25},
|
||||||
|
{"matrix": [3, 7], "x": 7.75, "y": 3.25},
|
||||||
|
{"matrix": [3, 8], "x": 8.75, "y": 3.25},
|
||||||
|
{"matrix": [3, 9], "x": 9.75, "y": 3.25},
|
||||||
|
{"matrix": [3, 10], "x": 10.75, "y": 3.25},
|
||||||
|
{"matrix": [3, 11], "x": 11.75, "y": 3.25},
|
||||||
|
{"matrix": [3, 12], "x": 12.75, "y": 3.25, "w": 2.25},
|
||||||
|
{"matrix": [3, 14], "x": 15.25, "y": 3.25},
|
||||||
|
{"matrix": [3, 15], "x": 16.25, "y": 3.25},
|
||||||
|
{"matrix": [3, 16], "x": 17.25, "y": 3.25},
|
||||||
|
{"matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25},
|
||||||
|
{"matrix": [4, 2], "x": 2.25, "y": 4.25},
|
||||||
|
{"matrix": [4, 3], "x": 3.25, "y": 4.25},
|
||||||
|
{"matrix": [4, 4], "x": 4.25, "y": 4.25},
|
||||||
|
{"matrix": [4, 5], "x": 5.25, "y": 4.25},
|
||||||
|
{"matrix": [4, 6], "x": 6.25, "y": 4.25},
|
||||||
|
{"matrix": [4, 7], "x": 7.25, "y": 4.25},
|
||||||
|
{"matrix": [4, 8], "x": 8.25, "y": 4.25},
|
||||||
|
{"matrix": [4, 9], "x": 9.25, "y": 4.25},
|
||||||
|
{"matrix": [4, 10], "x": 10.25, "y": 4.25},
|
||||||
|
{"matrix": [4, 11], "x": 11.25, "y": 4.25},
|
||||||
|
{"matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 2.75},
|
||||||
|
{"matrix": [4, 14], "x": 15.25, "y": 4.25},
|
||||||
|
{"matrix": [4, 15], "x": 16.25, "y": 4.25},
|
||||||
|
{"matrix": [4, 16], "x": 17.25, "y": 4.25},
|
||||||
|
{"matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.25},
|
||||||
|
{"matrix": [5, 1], "x": 1.25, "y": 5.25, "w": 1.25},
|
||||||
|
{"matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.25},
|
||||||
|
{"matrix": [5, 6], "x": 3.75, "y": 5.25, "w": 6.25},
|
||||||
|
{"matrix": [5, 10], "x": 10, "y": 5.25, "w": 1.25},
|
||||||
|
{"matrix": [5, 11], "x": 11.25, "y": 5.25, "w": 1.25},
|
||||||
|
{"matrix": [5, 12], "x": 12.5, "y": 5.25, "w": 1.25},
|
||||||
|
{"matrix": [5, 13], "x": 13.75, "y": 5.25, "w": 1.25},
|
||||||
|
{"matrix": [5, 14], "x": 15.25, "y": 5.25},
|
||||||
|
{"matrix": [5, 15], "x": 16.25, "y": 5.25},
|
||||||
|
{"matrix": [5, 16], "x": 17.25, "y": 5.25}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"LAYOUT_tkl_ansi_tsangan_numpad": {
|
||||||
|
"layout": [
|
||||||
|
{"matrix": [0, 0], "x": 0, "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.5, "y": 0},
|
||||||
|
{"matrix": [0, 7], "x": 7.5, "y": 0},
|
||||||
|
{"matrix": [0, 8], "x": 8.5, "y": 0},
|
||||||
|
{"matrix": [0, 9], "x": 9.5, "y": 0},
|
||||||
|
{"matrix": [0, 10], "x": 11, "y": 0},
|
||||||
|
{"matrix": [0, 11], "x": 12, "y": 0},
|
||||||
|
{"matrix": [0, 12], "x": 13, "y": 0},
|
||||||
|
{"matrix": [0, 13], "x": 14, "y": 0},
|
||||||
|
{"matrix": [0, 14], "x": 15.25, "y": 0},
|
||||||
|
{"matrix": [0, 15], "x": 16.25, "y": 0},
|
||||||
|
{"matrix": [0, 16], "x": 17.25, "y": 0},
|
||||||
|
{"matrix": [1, 0], "x": 0, "y": 1.25},
|
||||||
|
{"matrix": [1, 1], "x": 1, "y": 1.25},
|
||||||
|
{"matrix": [1, 2], "x": 2, "y": 1.25},
|
||||||
|
{"matrix": [1, 3], "x": 3, "y": 1.25},
|
||||||
|
{"matrix": [1, 4], "x": 4, "y": 1.25},
|
||||||
|
{"matrix": [1, 5], "x": 5, "y": 1.25},
|
||||||
|
{"matrix": [1, 6], "x": 6, "y": 1.25},
|
||||||
|
{"matrix": [1, 7], "x": 7, "y": 1.25},
|
||||||
|
{"matrix": [1, 8], "x": 8, "y": 1.25},
|
||||||
|
{"matrix": [1, 9], "x": 9, "y": 1.25},
|
||||||
|
{"matrix": [1, 10], "x": 10, "y": 1.25},
|
||||||
|
{"matrix": [1, 11], "x": 11, "y": 1.25},
|
||||||
|
{"matrix": [1, 12], "x": 12, "y": 1.25},
|
||||||
|
{"matrix": [1, 13], "x": 13, "y": 1.25, "w": 2},
|
||||||
|
{"matrix": [1, 14], "x": 15.25, "y": 1.25},
|
||||||
|
{"matrix": [1, 15], "x": 16.25, "y": 1.25},
|
||||||
|
{"matrix": [1, 16], "x": 17.25, "y": 1.25},
|
||||||
|
{"matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5},
|
||||||
|
{"matrix": [2, 1], "x": 1.5, "y": 2.25},
|
||||||
|
{"matrix": [2, 2], "x": 2.5, "y": 2.25},
|
||||||
|
{"matrix": [2, 3], "x": 3.5, "y": 2.25},
|
||||||
|
{"matrix": [2, 4], "x": 4.5, "y": 2.25},
|
||||||
|
{"matrix": [2, 5], "x": 5.5, "y": 2.25},
|
||||||
|
{"matrix": [2, 6], "x": 6.5, "y": 2.25},
|
||||||
|
{"matrix": [2, 7], "x": 7.5, "y": 2.25},
|
||||||
|
{"matrix": [2, 8], "x": 8.5, "y": 2.25},
|
||||||
|
{"matrix": [2, 9], "x": 9.5, "y": 2.25},
|
||||||
|
{"matrix": [2, 10], "x": 10.5, "y": 2.25},
|
||||||
|
{"matrix": [2, 11], "x": 11.5, "y": 2.25},
|
||||||
|
{"matrix": [2, 12], "x": 12.5, "y": 2.25},
|
||||||
|
{"matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5},
|
||||||
|
{"matrix": [2, 14], "x": 15.25, "y": 2.25},
|
||||||
|
{"matrix": [2, 15], "x": 16.25, "y": 2.25},
|
||||||
|
{"matrix": [2, 16], "x": 17.25, "y": 2.25},
|
||||||
|
{"matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75},
|
||||||
|
{"matrix": [3, 1], "x": 1.75, "y": 3.25},
|
||||||
|
{"matrix": [3, 2], "x": 2.75, "y": 3.25},
|
||||||
|
{"matrix": [3, 3], "x": 3.75, "y": 3.25},
|
||||||
|
{"matrix": [3, 4], "x": 4.75, "y": 3.25},
|
||||||
|
{"matrix": [3, 5], "x": 5.75, "y": 3.25},
|
||||||
|
{"matrix": [3, 6], "x": 6.75, "y": 3.25},
|
||||||
|
{"matrix": [3, 7], "x": 7.75, "y": 3.25},
|
||||||
|
{"matrix": [3, 8], "x": 8.75, "y": 3.25},
|
||||||
|
{"matrix": [3, 9], "x": 9.75, "y": 3.25},
|
||||||
|
{"matrix": [3, 10], "x": 10.75, "y": 3.25},
|
||||||
|
{"matrix": [3, 11], "x": 11.75, "y": 3.25},
|
||||||
|
{"matrix": [3, 12], "x": 12.75, "y": 3.25, "w": 2.25},
|
||||||
|
{"matrix": [3, 14], "x": 15.25, "y": 3.25},
|
||||||
|
{"matrix": [3, 15], "x": 16.25, "y": 3.25},
|
||||||
|
{"matrix": [3, 16], "x": 17.25, "y": 3.25},
|
||||||
|
{"matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25},
|
||||||
|
{"matrix": [4, 2], "x": 2.25, "y": 4.25},
|
||||||
|
{"matrix": [4, 3], "x": 3.25, "y": 4.25},
|
||||||
|
{"matrix": [4, 4], "x": 4.25, "y": 4.25},
|
||||||
|
{"matrix": [4, 5], "x": 5.25, "y": 4.25},
|
||||||
|
{"matrix": [4, 6], "x": 6.25, "y": 4.25},
|
||||||
|
{"matrix": [4, 7], "x": 7.25, "y": 4.25},
|
||||||
|
{"matrix": [4, 8], "x": 8.25, "y": 4.25},
|
||||||
|
{"matrix": [4, 9], "x": 9.25, "y": 4.25},
|
||||||
|
{"matrix": [4, 10], "x": 10.25, "y": 4.25},
|
||||||
|
{"matrix": [4, 11], "x": 11.25, "y": 4.25},
|
||||||
|
{"matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 2.75},
|
||||||
|
{"matrix": [4, 14], "x": 15.25, "y": 4.25},
|
||||||
|
{"matrix": [4, 15], "x": 16.25, "y": 4.25},
|
||||||
|
{"matrix": [4, 16], "x": 17.25, "y": 4.25},
|
||||||
|
{"matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.5},
|
||||||
|
{"matrix": [5, 1], "x": 1.5, "y": 5.25},
|
||||||
|
{"matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.5},
|
||||||
|
{"matrix": [5, 6], "x": 4, "y": 5.25, "w": 7},
|
||||||
|
{"matrix": [5, 11], "x": 11, "y": 5.25, "w": 1.5},
|
||||||
|
{"matrix": [5, 12], "x": 12.5, "y": 5.25},
|
||||||
|
{"matrix": [5, 13], "x": 13.5, "y": 5.25, "w": 1.5},
|
||||||
|
{"matrix": [5, 14], "x": 15.25, "y": 5.25},
|
||||||
|
{"matrix": [5, 15], "x": 16.25, "y": 5.25},
|
||||||
|
{"matrix": [5, 16], "x": 17.25, "y": 5.25}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
39
keyboards/zykrah/fuyu_hs/keymaps/default/keymap.c
Normal file
39
keyboards/zykrah/fuyu_hs/keymaps/default/keymap.c
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
/*
|
||||||
|
Copyright 2024 Zykrah
|
||||||
|
|
||||||
|
This program is free software: you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation, either version 2 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
This program is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include QMK_KEYBOARD_H
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
|
||||||
|
[0] = LAYOUT_all(
|
||||||
|
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUS,
|
||||||
|
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
|
||||||
|
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
|
||||||
|
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS,
|
||||||
|
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
|
||||||
|
|
||||||
|
|
||||||
|
[1] = LAYOUT_all(
|
||||||
|
QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
|
||||||
|
|
||||||
|
};
|
27
keyboards/zykrah/fuyu_hs/readme.md
Normal file
27
keyboards/zykrah/fuyu_hs/readme.md
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
# FUYU HOTSWAP
|
||||||
|
|
||||||
|
![FUYU HS 7U](https://i.imgur.com/8zjDNJT.jpg)
|
||||||
|
|
||||||
|
An F12 TKL Hotswappable H87-Compat Type-C PCB for the Geon F1-8K
|
||||||
|
|
||||||
|
* Keyboard Maintainer: [Zykrah](https://github.com/zykrah)
|
||||||
|
* Hardware Supported: Fuyu HS 7u rev1, Fuyu HS 6.25u rev1
|
||||||
|
* Hardware Availability: [Github Repo](https://github.com/zykrah/fuyu), [GEON Store](https://geon.works/products/fuyu-pcb-for-f1-8k), [Cafege](https://cafege.com.au/products/fuyu-8k-pcb)
|
||||||
|
|
||||||
|
Make example for this keyboard (after setting up your build environment):
|
||||||
|
|
||||||
|
make zykrah/fuyu_hs:default
|
||||||
|
|
||||||
|
Flashing example for this keyboard:
|
||||||
|
|
||||||
|
make zykrah/fuyu_hs:default:flash
|
||||||
|
|
||||||
|
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
|
||||||
|
|
||||||
|
## Bootloader
|
||||||
|
|
||||||
|
Enter the bootloader in 3 ways:
|
||||||
|
|
||||||
|
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
|
||||||
|
* **Physical reset button**: Briefly short the `RST` and `GND` pads on the SWD header twice, or short the `BOOT` header and plug in keyboard
|
||||||
|
* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
|
@ -1,5 +1,6 @@
|
|||||||
"""Command to search through all keyboards and keymaps for a given search criteria.
|
"""Command to search through all keyboards and keymaps for a given search criteria.
|
||||||
"""
|
"""
|
||||||
|
import os
|
||||||
from milc import cli
|
from milc import cli
|
||||||
from qmk.search import filter_help, search_keymap_targets
|
from qmk.search import filter_help, search_keymap_targets
|
||||||
from qmk.util import maybe_exit_config
|
from qmk.util import maybe_exit_config
|
||||||
@ -20,6 +21,7 @@ from qmk.util import maybe_exit_config
|
|||||||
def find(cli):
|
def find(cli):
|
||||||
"""Search through all keyboards and keymaps for a given search criteria.
|
"""Search through all keyboards and keymaps for a given search criteria.
|
||||||
"""
|
"""
|
||||||
|
os.environ.setdefault('SKIP_SCHEMA_VALIDATION', '1')
|
||||||
maybe_exit_config(should_exit=False, should_reraise=True)
|
maybe_exit_config(should_exit=False, should_reraise=True)
|
||||||
|
|
||||||
targets = search_keymap_targets([('all', cli.config.find.keymap)], cli.args.filter)
|
targets = search_keymap_targets([('all', cli.config.find.keymap)], cli.args.filter)
|
||||||
|
@ -20,6 +20,8 @@ def mass_compile_targets(targets: List[BuildTarget], clean: bool, dry_run: bool,
|
|||||||
if len(targets) == 0:
|
if len(targets) == 0:
|
||||||
return
|
return
|
||||||
|
|
||||||
|
os.environ.setdefault('SKIP_SCHEMA_VALIDATION', '1')
|
||||||
|
|
||||||
make_cmd = find_make()
|
make_cmd = find_make()
|
||||||
builddir = Path(QMK_FIRMWARE) / '.build'
|
builddir = Path(QMK_FIRMWARE) / '.build'
|
||||||
makefile = builddir / 'parallel_kb_builds.mk'
|
makefile = builddir / 'parallel_kb_builds.mk'
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
"""Functions that help us generate and use info.json files.
|
"""Functions that help us generate and use info.json files.
|
||||||
"""
|
"""
|
||||||
import re
|
import re
|
||||||
|
import os
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
import jsonschema
|
import jsonschema
|
||||||
from dotty_dict import dotty
|
from dotty_dict import dotty
|
||||||
@ -14,7 +15,7 @@ from qmk.keyboard import config_h, rules_mk
|
|||||||
from qmk.commands import parse_configurator_json
|
from qmk.commands import parse_configurator_json
|
||||||
from qmk.makefile import parse_rules_mk_file
|
from qmk.makefile import parse_rules_mk_file
|
||||||
from qmk.math import compute
|
from qmk.math import compute
|
||||||
from qmk.util import maybe_exit
|
from qmk.util import maybe_exit, truthy
|
||||||
|
|
||||||
true_values = ['1', 'on', 'yes']
|
true_values = ['1', 'on', 'yes']
|
||||||
false_values = ['0', 'off', 'no']
|
false_values = ['0', 'off', 'no']
|
||||||
@ -262,6 +263,8 @@ def info_json(keyboard, force_layout=None):
|
|||||||
info_data["community_layouts"] = [force_layout]
|
info_data["community_layouts"] = [force_layout]
|
||||||
|
|
||||||
# Validate
|
# Validate
|
||||||
|
# Skip processing if necessary
|
||||||
|
if not truthy(os.environ.get('SKIP_SCHEMA_VALIDATION'), False):
|
||||||
_validate(keyboard, info_data)
|
_validate(keyboard, info_data)
|
||||||
|
|
||||||
# Check that the reported matrix size is consistent with the actual matrix size
|
# Check that the reported matrix size is consistent with the actual matrix size
|
||||||
@ -944,6 +947,7 @@ def merge_info_jsons(keyboard, info_data):
|
|||||||
_log_error(info_data, "Invalid file %s, root object should be a dictionary." % (str(info_file),))
|
_log_error(info_data, "Invalid file %s, root object should be a dictionary." % (str(info_file),))
|
||||||
continue
|
continue
|
||||||
|
|
||||||
|
if not truthy(os.environ.get('SKIP_SCHEMA_VALIDATION'), False):
|
||||||
try:
|
try:
|
||||||
validate(new_info_data, 'qmk.keyboard.v1')
|
validate(new_info_data, 'qmk.keyboard.v1')
|
||||||
except jsonschema.ValidationError as e:
|
except jsonschema.ValidationError as e:
|
||||||
|
@ -27,6 +27,27 @@ def maybe_exit_config(should_exit: bool = True, should_reraise: bool = False):
|
|||||||
maybe_exit_reraise = should_reraise
|
maybe_exit_reraise = should_reraise
|
||||||
|
|
||||||
|
|
||||||
|
def truthy(value, value_if_unknown=False):
|
||||||
|
"""Returns True if the value is truthy, False otherwise.
|
||||||
|
|
||||||
|
Deals with:
|
||||||
|
True: 1, true, t, yes, y, on
|
||||||
|
False: 0, false, f, no, n, off
|
||||||
|
"""
|
||||||
|
if value in {False, True}:
|
||||||
|
return bool(value)
|
||||||
|
|
||||||
|
test_value = str(value).strip().lower()
|
||||||
|
|
||||||
|
if test_value in {"1", "true", "t", "yes", "y", "on"}:
|
||||||
|
return True
|
||||||
|
|
||||||
|
if test_value in {"0", "false", "f", "no", "n", "off"}:
|
||||||
|
return False
|
||||||
|
|
||||||
|
return value_if_unknown
|
||||||
|
|
||||||
|
|
||||||
@contextlib.contextmanager
|
@contextlib.contextmanager
|
||||||
def parallelize():
|
def parallelize():
|
||||||
"""Returns a function that can be used in place of a map() call.
|
"""Returns a function that can be used in place of a map() call.
|
||||||
|
Loading…
Reference in New Issue
Block a user