-
-
Notifications
You must be signed in to change notification settings - Fork 39.9k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[Keyboard] add kbd0 Curve0 60 ANSI (#24609)
* add kbd0/curve0/60_ansi keyboard * Apply suggestions from code review Co-authored-by: jack <[email protected]> * Apply suggestions from code review Co-authored-by: Duncan Sutherland <[email protected]> --------- Co-authored-by: unknown <code-monke> Co-authored-by: jack <[email protected]> Co-authored-by: Duncan Sutherland <[email protected]>
- Loading branch information
1 parent
5dc92ed
commit d01303c
Showing
3 changed files
with
277 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,228 @@ | ||
{ | ||
"manufacturer": "kbd0", | ||
"keyboard_name": "kbd0/curve0/60_ansi", | ||
"maintainer": "kbd0", | ||
"bootloader": "rp2040", | ||
"bootloader_instructions": "Hold the top left key of the keyboard while plugging in the keyboard", | ||
"diode_direction": "COL2ROW", | ||
"features": { | ||
"bootmagic": true, | ||
"extrakey": true, | ||
"mousekey": true, | ||
"nkro": true | ||
}, | ||
"matrix_pins": { | ||
"cols": ["GP6", "GP5", "GP4", "GP7", "GP10", "GP9", "GP11", "GP12", "GP13", "GP14", "GP25", "GP20", "GP19", "GP18", "GP16"], | ||
"rows": ["GP23", "GP22", "GP21", "GP24", "GP17"] | ||
}, | ||
"processor": "RP2040", | ||
"url": "https://kbd0.com/item/curve0", | ||
"usb": { | ||
"device_version": "1.0.0", | ||
"pid": "0xC000", | ||
"vid": "0xCBD0" | ||
}, | ||
"community_layouts": ["60_ansi", "60_ansi_split_bs_rshift"], | ||
"layouts": { | ||
"LAYOUT_all": { | ||
"layout": [ | ||
{"matrix": [0, 0], "x": 0, "y": 0}, | ||
{"matrix": [0, 1], "x": 1, "y": 0}, | ||
{"matrix": [0, 2], "x": 2, "y": 0}, | ||
{"matrix": [0, 3], "x": 3, "y": 0}, | ||
{"matrix": [0, 4], "x": 4, "y": 0}, | ||
{"matrix": [0, 5], "x": 5, "y": 0}, | ||
{"matrix": [0, 6], "x": 6, "y": 0}, | ||
{"matrix": [0, 7], "x": 7, "y": 0}, | ||
{"matrix": [0, 8], "x": 8, "y": 0}, | ||
{"matrix": [0, 9], "x": 9, "y": 0}, | ||
{"matrix": [0, 10], "x": 10, "y": 0}, | ||
{"matrix": [0, 11], "x": 11, "y": 0}, | ||
{"matrix": [0, 12], "x": 12, "y": 0}, | ||
{"matrix": [0, 13], "x": 13, "y": 0}, | ||
{"matrix": [0, 14], "x": 14, "y": 0}, | ||
{"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, | ||
{"matrix": [1, 1], "x": 1.5, "y": 1}, | ||
{"matrix": [1, 2], "x": 2.5, "y": 1}, | ||
{"matrix": [1, 3], "x": 3.5, "y": 1}, | ||
{"matrix": [1, 4], "x": 4.5, "y": 1}, | ||
{"matrix": [1, 5], "x": 5.5, "y": 1}, | ||
{"matrix": [1, 6], "x": 6.5, "y": 1}, | ||
{"matrix": [1, 7], "x": 7.5, "y": 1}, | ||
{"matrix": [1, 8], "x": 8.5, "y": 1}, | ||
{"matrix": [1, 9], "x": 9.5, "y": 1}, | ||
{"matrix": [1, 10], "x": 10.5, "y": 1}, | ||
{"matrix": [1, 11], "x": 11.5, "y": 1}, | ||
{"matrix": [1, 12], "x": 12.5, "y": 1}, | ||
{"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, | ||
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, | ||
{"matrix": [2, 1], "x": 1.75, "y": 2}, | ||
{"matrix": [2, 2], "x": 2.75, "y": 2}, | ||
{"matrix": [2, 3], "x": 3.75, "y": 2}, | ||
{"matrix": [2, 4], "x": 4.75, "y": 2}, | ||
{"matrix": [2, 5], "x": 5.75, "y": 2}, | ||
{"matrix": [2, 6], "x": 6.75, "y": 2}, | ||
{"matrix": [2, 7], "x": 7.75, "y": 2}, | ||
{"matrix": [2, 8], "x": 8.75, "y": 2}, | ||
{"matrix": [2, 9], "x": 9.75, "y": 2}, | ||
{"matrix": [2, 10], "x": 10.75, "y": 2}, | ||
{"matrix": [2, 11], "x": 11.75, "y": 2}, | ||
{"matrix": [2, 12], "x": 12.75, "y": 2, "w": 2.25}, | ||
{"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, | ||
{"matrix": [3, 1], "x": 1.25, "y": 3}, | ||
{"matrix": [3, 2], "x": 2.25, "y": 3}, | ||
{"matrix": [3, 3], "x": 3.25, "y": 3}, | ||
{"matrix": [3, 4], "x": 4.25, "y": 3}, | ||
{"matrix": [3, 5], "x": 5.25, "y": 3}, | ||
{"matrix": [3, 6], "x": 6.25, "y": 3}, | ||
{"matrix": [3, 7], "x": 7.25, "y": 3}, | ||
{"matrix": [3, 8], "x": 8.25, "y": 3}, | ||
{"matrix": [3, 9], "x": 9.25, "y": 3}, | ||
{"matrix": [3, 10], "x": 10.25, "y": 3}, | ||
{"matrix": [3, 11], "x": 11.25, "y": 3}, | ||
{"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, | ||
{"matrix": [3, 13], "x": 14, "y": 3}, | ||
{"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, | ||
{"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, | ||
{"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, | ||
{"matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25}, | ||
{"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, | ||
{"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, | ||
{"matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25}, | ||
{"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25} | ||
] | ||
}, | ||
"LAYOUT_60_ansi": { | ||
"layout": [ | ||
{"matrix": [0, 0], "x": 0, "y": 0}, | ||
{"matrix": [0, 1], "x": 1, "y": 0}, | ||
{"matrix": [0, 2], "x": 2, "y": 0}, | ||
{"matrix": [0, 3], "x": 3, "y": 0}, | ||
{"matrix": [0, 4], "x": 4, "y": 0}, | ||
{"matrix": [0, 5], "x": 5, "y": 0}, | ||
{"matrix": [0, 6], "x": 6, "y": 0}, | ||
{"matrix": [0, 7], "x": 7, "y": 0}, | ||
{"matrix": [0, 8], "x": 8, "y": 0}, | ||
{"matrix": [0, 9], "x": 9, "y": 0}, | ||
{"matrix": [0, 10], "x": 10, "y": 0}, | ||
{"matrix": [0, 11], "x": 11, "y": 0}, | ||
{"matrix": [0, 12], "x": 12, "y": 0}, | ||
{"matrix": [0, 14], "x": 13, "y": 0, "w": 2}, | ||
{"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, | ||
{"matrix": [1, 1], "x": 1.5, "y": 1}, | ||
{"matrix": [1, 2], "x": 2.5, "y": 1}, | ||
{"matrix": [1, 3], "x": 3.5, "y": 1}, | ||
{"matrix": [1, 4], "x": 4.5, "y": 1}, | ||
{"matrix": [1, 5], "x": 5.5, "y": 1}, | ||
{"matrix": [1, 6], "x": 6.5, "y": 1}, | ||
{"matrix": [1, 7], "x": 7.5, "y": 1}, | ||
{"matrix": [1, 8], "x": 8.5, "y": 1}, | ||
{"matrix": [1, 9], "x": 9.5, "y": 1}, | ||
{"matrix": [1, 10], "x": 10.5, "y": 1}, | ||
{"matrix": [1, 11], "x": 11.5, "y": 1}, | ||
{"matrix": [1, 12], "x": 12.5, "y": 1}, | ||
{"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, | ||
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, | ||
{"matrix": [2, 1], "x": 1.75, "y": 2}, | ||
{"matrix": [2, 2], "x": 2.75, "y": 2}, | ||
{"matrix": [2, 3], "x": 3.75, "y": 2}, | ||
{"matrix": [2, 4], "x": 4.75, "y": 2}, | ||
{"matrix": [2, 5], "x": 5.75, "y": 2}, | ||
{"matrix": [2, 6], "x": 6.75, "y": 2}, | ||
{"matrix": [2, 7], "x": 7.75, "y": 2}, | ||
{"matrix": [2, 8], "x": 8.75, "y": 2}, | ||
{"matrix": [2, 9], "x": 9.75, "y": 2}, | ||
{"matrix": [2, 10], "x": 10.75, "y": 2}, | ||
{"matrix": [2, 11], "x": 11.75, "y": 2}, | ||
{"matrix": [2, 12], "x": 12.75, "y": 2, "w": 2.25}, | ||
{"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, | ||
{"matrix": [3, 2], "x": 2.25, "y": 3}, | ||
{"matrix": [3, 3], "x": 3.25, "y": 3}, | ||
{"matrix": [3, 4], "x": 4.25, "y": 3}, | ||
{"matrix": [3, 5], "x": 5.25, "y": 3}, | ||
{"matrix": [3, 6], "x": 6.25, "y": 3}, | ||
{"matrix": [3, 7], "x": 7.25, "y": 3}, | ||
{"matrix": [3, 8], "x": 8.25, "y": 3}, | ||
{"matrix": [3, 9], "x": 9.25, "y": 3}, | ||
{"matrix": [3, 10], "x": 10.25, "y": 3}, | ||
{"matrix": [3, 11], "x": 11.25, "y": 3}, | ||
{"matrix": [3, 12], "x": 12.25, "y": 3, "w": 2.75}, | ||
{"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, | ||
{"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, | ||
{"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, | ||
{"matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25}, | ||
{"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, | ||
{"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, | ||
{"matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25}, | ||
{"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25} | ||
] | ||
}, | ||
"LAYOUT_60_ansi_split_bs_rshift": { | ||
"layout": [ | ||
{"matrix": [0, 0], "x": 0, "y": 0}, | ||
{"matrix": [0, 1], "x": 1, "y": 0}, | ||
{"matrix": [0, 2], "x": 2, "y": 0}, | ||
{"matrix": [0, 3], "x": 3, "y": 0}, | ||
{"matrix": [0, 4], "x": 4, "y": 0}, | ||
{"matrix": [0, 5], "x": 5, "y": 0}, | ||
{"matrix": [0, 6], "x": 6, "y": 0}, | ||
{"matrix": [0, 7], "x": 7, "y": 0}, | ||
{"matrix": [0, 8], "x": 8, "y": 0}, | ||
{"matrix": [0, 9], "x": 9, "y": 0}, | ||
{"matrix": [0, 10], "x": 10, "y": 0}, | ||
{"matrix": [0, 11], "x": 11, "y": 0}, | ||
{"matrix": [0, 12], "x": 12, "y": 0}, | ||
{"matrix": [0, 13], "x": 13, "y": 0}, | ||
{"matrix": [0, 14], "x": 14, "y": 0}, | ||
{"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, | ||
{"matrix": [1, 1], "x": 1.5, "y": 1}, | ||
{"matrix": [1, 2], "x": 2.5, "y": 1}, | ||
{"matrix": [1, 3], "x": 3.5, "y": 1}, | ||
{"matrix": [1, 4], "x": 4.5, "y": 1}, | ||
{"matrix": [1, 5], "x": 5.5, "y": 1}, | ||
{"matrix": [1, 6], "x": 6.5, "y": 1}, | ||
{"matrix": [1, 7], "x": 7.5, "y": 1}, | ||
{"matrix": [1, 8], "x": 8.5, "y": 1}, | ||
{"matrix": [1, 9], "x": 9.5, "y": 1}, | ||
{"matrix": [1, 10], "x": 10.5, "y": 1}, | ||
{"matrix": [1, 11], "x": 11.5, "y": 1}, | ||
{"matrix": [1, 12], "x": 12.5, "y": 1}, | ||
{"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, | ||
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, | ||
{"matrix": [2, 1], "x": 1.75, "y": 2}, | ||
{"matrix": [2, 2], "x": 2.75, "y": 2}, | ||
{"matrix": [2, 3], "x": 3.75, "y": 2}, | ||
{"matrix": [2, 4], "x": 4.75, "y": 2}, | ||
{"matrix": [2, 5], "x": 5.75, "y": 2}, | ||
{"matrix": [2, 6], "x": 6.75, "y": 2}, | ||
{"matrix": [2, 7], "x": 7.75, "y": 2}, | ||
{"matrix": [2, 8], "x": 8.75, "y": 2}, | ||
{"matrix": [2, 9], "x": 9.75, "y": 2}, | ||
{"matrix": [2, 10], "x": 10.75, "y": 2}, | ||
{"matrix": [2, 11], "x": 11.75, "y": 2}, | ||
{"matrix": [2, 12], "x": 12.75, "y": 2, "w": 2.25}, | ||
{"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, | ||
{"matrix": [3, 2], "x": 2.25, "y": 3}, | ||
{"matrix": [3, 3], "x": 3.25, "y": 3}, | ||
{"matrix": [3, 4], "x": 4.25, "y": 3}, | ||
{"matrix": [3, 5], "x": 5.25, "y": 3}, | ||
{"matrix": [3, 6], "x": 6.25, "y": 3}, | ||
{"matrix": [3, 7], "x": 7.25, "y": 3}, | ||
{"matrix": [3, 8], "x": 8.25, "y": 3}, | ||
{"matrix": [3, 9], "x": 9.25, "y": 3}, | ||
{"matrix": [3, 10], "x": 10.25, "y": 3}, | ||
{"matrix": [3, 11], "x": 11.25, "y": 3}, | ||
{"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, | ||
{"matrix": [3, 13], "x": 14, "y": 3}, | ||
{"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, | ||
{"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, | ||
{"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, | ||
{"matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25}, | ||
{"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, | ||
{"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, | ||
{"matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25}, | ||
{"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25} | ||
] | ||
} | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
{ | ||
"author": "kbd0", | ||
"keyboard": "kbd0/curve0/60_ansi", | ||
"keymap": "default", | ||
"layout": "LAYOUT_all", | ||
"layers": [ | ||
[ | ||
"KC_ESC", "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_BSLS", "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_BSLS", | ||
"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_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", "MO(1)", | ||
"KC_LCTL", "KC_LGUI", "KC_LALT", "KC_SPC", "KC_RALT", "KC_RGUI", "KC_APP", "KC_RCTL" | ||
], | ||
[ | ||
"KC_GRV", "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_UP", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", | ||
"_______", "KC_LEFT", "KC_DOWN", "KC_RGHT", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", | ||
"_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", | ||
"_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______" | ||
] | ||
] | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
# kbd0/curve0/60_ansi | ||
|
||
![Curve0](https://i.imgur.com/y5ZIbWI.jpeg) | ||
|
||
Curve0 - Curved stainless steel keyboard by kbd0 | ||
|
||
* Keyboard Maintainer: [kbd0](https://github.com/kbd0) | ||
* Hardware Supported: Curve0 PCB | ||
* Hardware Availability: [kbd0.com](https://kbd0.com/item/curve0) | ||
|
||
Make example for this keyboard (after setting up your build environment): | ||
|
||
make kbd0/curve0/60_ansi:default | ||
|
||
Flashing example for this keyboard: | ||
|
||
make kbd0/curve0/60_ansi: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 the top left key of the keyboard while plugging in the keyboard | ||
* **Physical reset button**: Hold the button on the main PCB (inside the keyboard) while plugging in the keyboard | ||
* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available |