From 5efe657f0c6a6af418251ca6727aa38ae85a2dfb Mon Sep 17 00:00:00 2001 From: Can Baytok Date: Tue, 19 Nov 2024 12:10:32 +0100 Subject: [PATCH 01/11] added cans12erv2 keyboard --- keyboards/handwired/cans12erv2/keyboard.json | 49 +++++++++++++++++++ .../cans12erv2/keymaps/default/keymap.c | 24 +++++++++ .../cans12erv2/keymaps/default/rules.mk | 2 + keyboards/handwired/cans12erv2/readme.md | 28 +++++++++++ 4 files changed, 103 insertions(+) create mode 100644 keyboards/handwired/cans12erv2/keyboard.json create mode 100644 keyboards/handwired/cans12erv2/keymaps/default/keymap.c create mode 100644 keyboards/handwired/cans12erv2/keymaps/default/rules.mk create mode 100644 keyboards/handwired/cans12erv2/readme.md diff --git a/keyboards/handwired/cans12erv2/keyboard.json b/keyboards/handwired/cans12erv2/keyboard.json new file mode 100644 index 000000000000..3ec889d7a3e0 --- /dev/null +++ b/keyboards/handwired/cans12erv2/keyboard.json @@ -0,0 +1,49 @@ +{ + "manufacturer": "Can Baytok", + "keyboard_name": "Cans12erV2", + "maintainer": "canbaytok", + "bootloader": "rp2040", + "diode_direction": "COL2ROW", + "encoder": { + "rotary": [ + {"pin_a": "GP14", "pin_b": "GP15"} + ] + }, + "features": { + "bootmagic": true, + "encoder": true, + "extrakey": true, + "mousekey": true, + "nkro": true, + "via": true + }, + "matrix_pins": { + "cols": ["GP9", "GP10", "GP11", "GP12"], + "rows": ["GP13", "GP7", "GP8"] + }, + "processor": "RP2040", + "url": "https://github.com/canbaytok/Cans12erV2", + "usb": { + "device_version": "1.0.0", + "pid": "0xABC0", + "vid": "0x4342" + }, + "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": 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} + ] + } + } +} diff --git a/keyboards/handwired/cans12erv2/keymaps/default/keymap.c b/keyboards/handwired/cans12erv2/keymaps/default/keymap.c new file mode 100644 index 000000000000..0be28b202a80 --- /dev/null +++ b/keyboards/handwired/cans12erv2/keymaps/default/keymap.c @@ -0,0 +1,24 @@ +// Copyright 2024 Can Baytok (https://github.com/canbaytok) +// SPDX-License-Identifier: GPL-2.0-or-later +#include QMK_KEYBOARD_H + +// Each layer gets a name for readability, which is then used in the keymap matrix below. +// The underscores don't mean anything - you can have a layer called STUFF or any other name. +// Layer names don't all need to be of the same length, obviously, and you can also skip them +// entirely and just use numbers. + +#define _KEYPAD 0 + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_KEYPAD] = LAYOUT( + KC_A, KC_B, KC_C, KC_D, + KC_E, KC_F, KC_G, KC_H, + KC_I, KC_J, KC_K, KC_L + ) +}; + +#if defined(ENCODER_MAP_ENABLE) +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) } +}; +#endif \ No newline at end of file diff --git a/keyboards/handwired/cans12erv2/keymaps/default/rules.mk b/keyboards/handwired/cans12erv2/keymaps/default/rules.mk new file mode 100644 index 000000000000..4f841b58218c --- /dev/null +++ b/keyboards/handwired/cans12erv2/keymaps/default/rules.mk @@ -0,0 +1,2 @@ +ENCODER_ENABLE = yes +ENCODER_MAP_ENABLE = yes \ No newline at end of file diff --git a/keyboards/handwired/cans12erv2/readme.md b/keyboards/handwired/cans12erv2/readme.md new file mode 100644 index 000000000000..0d3bd7e19989 --- /dev/null +++ b/keyboards/handwired/cans12erv2/readme.md @@ -0,0 +1,28 @@ +# Cans12erV2 +![Cans12erV2](https://raw.githubusercontent.com/canbaytok/Cans12erV2/refs/heads/main/assets/Cans12erV2.png) + +New version of my 12-key orthogonal macro keypad with hot swappable keyswitch support and an encoder knob. +Programming is planned to be possible with [QMK/VIA](https://usevia.app/) + +* Keyboard Maintainer: [Can Baytok](https://github.com/canbaytok) +* Build Instructions: [Github](https://github.com/canbaytok/Cans12erV2) +* Hardware Supported: RP2040 Zero +* Hardware Availability: amazon, aliexpress (RP2040 Zero clones work too) + +Make example for this keyboard (after setting up your build environment): + + make handwired/cans12erv2:default + +Flashing example for this keyboard: + + make handwired/cans12erv2: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**: Quickly double press the reset button on the PCB to make the RP2040 boot into its uf2 mode +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file From 97b2098a71a30fdefa63bf43ffaf59d09d68b8d8 Mon Sep 17 00:00:00 2001 From: Can Baytok Date: Thu, 21 Nov 2024 14:56:13 +0100 Subject: [PATCH 02/11] removed via feature flag --- keyboards/handwired/cans12erv2/keyboard.json | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/keyboards/handwired/cans12erv2/keyboard.json b/keyboards/handwired/cans12erv2/keyboard.json index 3ec889d7a3e0..138354781d98 100644 --- a/keyboards/handwired/cans12erv2/keyboard.json +++ b/keyboards/handwired/cans12erv2/keyboard.json @@ -14,8 +14,7 @@ "encoder": true, "extrakey": true, "mousekey": true, - "nkro": true, - "via": true + "nkro": true }, "matrix_pins": { "cols": ["GP9", "GP10", "GP11", "GP12"], From 35dd9f7794b5124ddbe6973ca52c0384629c4095 Mon Sep 17 00:00:00 2001 From: Can Baytok Date: Thu, 21 Nov 2024 15:14:41 +0100 Subject: [PATCH 03/11] Update keyboards/handwired/cans12erv2/keymaps/default/keymap.c Co-authored-by: jack --- keyboards/handwired/cans12erv2/keymaps/default/keymap.c | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/keyboards/handwired/cans12erv2/keymaps/default/keymap.c b/keyboards/handwired/cans12erv2/keymaps/default/keymap.c index 0be28b202a80..a5ca6a2c091d 100644 --- a/keyboards/handwired/cans12erv2/keymaps/default/keymap.c +++ b/keyboards/handwired/cans12erv2/keymaps/default/keymap.c @@ -2,15 +2,8 @@ // SPDX-License-Identifier: GPL-2.0-or-later #include QMK_KEYBOARD_H -// Each layer gets a name for readability, which is then used in the keymap matrix below. -// The underscores don't mean anything - you can have a layer called STUFF or any other name. -// Layer names don't all need to be of the same length, obviously, and you can also skip them -// entirely and just use numbers. - -#define _KEYPAD 0 - const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_KEYPAD] = LAYOUT( + [0] = LAYOUT( KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G, KC_H, KC_I, KC_J, KC_K, KC_L From a9d1b55ed5b4e81b3b10e3214dd5ea58330052e9 Mon Sep 17 00:00:00 2001 From: Can Baytok Date: Thu, 21 Nov 2024 15:15:22 +0100 Subject: [PATCH 04/11] Update keyboards/handwired/cans12erv2/keymaps/default/rules.mk Co-authored-by: jack --- keyboards/handwired/cans12erv2/keymaps/default/rules.mk | 1 - 1 file changed, 1 deletion(-) diff --git a/keyboards/handwired/cans12erv2/keymaps/default/rules.mk b/keyboards/handwired/cans12erv2/keymaps/default/rules.mk index 4f841b58218c..a40474b4d5c7 100644 --- a/keyboards/handwired/cans12erv2/keymaps/default/rules.mk +++ b/keyboards/handwired/cans12erv2/keymaps/default/rules.mk @@ -1,2 +1 @@ -ENCODER_ENABLE = yes ENCODER_MAP_ENABLE = yes \ No newline at end of file From cc84fd0d2a8e44854693ff5b40f6f5c176cac04d Mon Sep 17 00:00:00 2001 From: Can Baytok Date: Thu, 21 Nov 2024 15:15:30 +0100 Subject: [PATCH 05/11] Update keyboards/handwired/cans12erv2/readme.md Co-authored-by: jack --- keyboards/handwired/cans12erv2/readme.md | 1 - 1 file changed, 1 deletion(-) diff --git a/keyboards/handwired/cans12erv2/readme.md b/keyboards/handwired/cans12erv2/readme.md index 0d3bd7e19989..e41d16cfa844 100644 --- a/keyboards/handwired/cans12erv2/readme.md +++ b/keyboards/handwired/cans12erv2/readme.md @@ -2,7 +2,6 @@ ![Cans12erV2](https://raw.githubusercontent.com/canbaytok/Cans12erV2/refs/heads/main/assets/Cans12erV2.png) New version of my 12-key orthogonal macro keypad with hot swappable keyswitch support and an encoder knob. -Programming is planned to be possible with [QMK/VIA](https://usevia.app/) * Keyboard Maintainer: [Can Baytok](https://github.com/canbaytok) * Build Instructions: [Github](https://github.com/canbaytok/Cans12erV2) From 4cc9ccd479f5e96875c731fd241f53891115aceb Mon Sep 17 00:00:00 2001 From: Can Baytok Date: Thu, 21 Nov 2024 15:15:49 +0100 Subject: [PATCH 06/11] uploaded keypad image to imgur --- keyboards/handwired/cans12erv2/readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/keyboards/handwired/cans12erv2/readme.md b/keyboards/handwired/cans12erv2/readme.md index 0d3bd7e19989..ddf8e0c3e94b 100644 --- a/keyboards/handwired/cans12erv2/readme.md +++ b/keyboards/handwired/cans12erv2/readme.md @@ -1,5 +1,5 @@ # Cans12erV2 -![Cans12erV2](https://raw.githubusercontent.com/canbaytok/Cans12erV2/refs/heads/main/assets/Cans12erV2.png) +![Cans12erV2](https://i.imgur.com/3fkbydJ.png) New version of my 12-key orthogonal macro keypad with hot swappable keyswitch support and an encoder knob. Programming is planned to be possible with [QMK/VIA](https://usevia.app/) From 3204ecd1c0c2d6df4a240e2eeaf806eac69118dc Mon Sep 17 00:00:00 2001 From: Can Baytok Date: Fri, 22 Nov 2024 09:34:24 +0100 Subject: [PATCH 07/11] Update keyboards/handwired/cans12erv2/keyboard.json Co-authored-by: Duncan Sutherland --- keyboards/handwired/cans12erv2/keyboard.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/keyboards/handwired/cans12erv2/keyboard.json b/keyboards/handwired/cans12erv2/keyboard.json index 138354781d98..8930bf8fbdac 100644 --- a/keyboards/handwired/cans12erv2/keyboard.json +++ b/keyboards/handwired/cans12erv2/keyboard.json @@ -33,7 +33,7 @@ {"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, 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}, From 77c33ca329b1965b6b5f0648cafe1175f1f46d3e Mon Sep 17 00:00:00 2001 From: Can Baytok Date: Fri, 22 Nov 2024 13:27:00 +0100 Subject: [PATCH 08/11] added keymap_german header --- keyboards/handwired/cans12erv2/keyboard.json | 1 + keyboards/handwired/cans12erv2/keymaps/default/keymap.c | 1 + 2 files changed, 2 insertions(+) diff --git a/keyboards/handwired/cans12erv2/keyboard.json b/keyboards/handwired/cans12erv2/keyboard.json index 8930bf8fbdac..ed0e78cd94ee 100644 --- a/keyboards/handwired/cans12erv2/keyboard.json +++ b/keyboards/handwired/cans12erv2/keyboard.json @@ -20,6 +20,7 @@ "cols": ["GP9", "GP10", "GP11", "GP12"], "rows": ["GP13", "GP7", "GP8"] }, + "host_language": "german", "processor": "RP2040", "url": "https://github.com/canbaytok/Cans12erV2", "usb": { diff --git a/keyboards/handwired/cans12erv2/keymaps/default/keymap.c b/keyboards/handwired/cans12erv2/keymaps/default/keymap.c index a5ca6a2c091d..39f5682f59cd 100644 --- a/keyboards/handwired/cans12erv2/keymaps/default/keymap.c +++ b/keyboards/handwired/cans12erv2/keymaps/default/keymap.c @@ -1,6 +1,7 @@ // Copyright 2024 Can Baytok (https://github.com/canbaytok) // SPDX-License-Identifier: GPL-2.0-or-later #include QMK_KEYBOARD_H +#include "keymap_german.h" const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT( From a1a7c4b057aa66a705104dbaee67d628ce01ee23 Mon Sep 17 00:00:00 2001 From: Can Baytok Date: Mon, 2 Dec 2024 08:17:50 +0100 Subject: [PATCH 09/11] Update keyboards/handwired/cans12erv2/keymaps/default/keymap.c Co-authored-by: Drashna Jaelre --- keyboards/handwired/cans12erv2/keymaps/default/keymap.c | 1 - 1 file changed, 1 deletion(-) diff --git a/keyboards/handwired/cans12erv2/keymaps/default/keymap.c b/keyboards/handwired/cans12erv2/keymaps/default/keymap.c index 39f5682f59cd..a5ca6a2c091d 100644 --- a/keyboards/handwired/cans12erv2/keymaps/default/keymap.c +++ b/keyboards/handwired/cans12erv2/keymaps/default/keymap.c @@ -1,7 +1,6 @@ // Copyright 2024 Can Baytok (https://github.com/canbaytok) // SPDX-License-Identifier: GPL-2.0-or-later #include QMK_KEYBOARD_H -#include "keymap_german.h" const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT( From 6999128dab5b2e632bb0cde65f16555518dd2e5b Mon Sep 17 00:00:00 2001 From: Can Baytok Date: Mon, 2 Dec 2024 08:18:02 +0100 Subject: [PATCH 10/11] Update keyboards/handwired/cans12erv2/keymaps/default/keymap.c Co-authored-by: Drashna Jaelre --- keyboards/handwired/cans12erv2/keymaps/default/keymap.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/keyboards/handwired/cans12erv2/keymaps/default/keymap.c b/keyboards/handwired/cans12erv2/keymaps/default/keymap.c index a5ca6a2c091d..0619369bb27d 100644 --- a/keyboards/handwired/cans12erv2/keymaps/default/keymap.c +++ b/keyboards/handwired/cans12erv2/keymaps/default/keymap.c @@ -14,4 +14,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) } }; -#endif \ No newline at end of file +#endif From 9e37e9a64f2c13428837f2d71a54855f71c10e6e Mon Sep 17 00:00:00 2001 From: Can Baytok Date: Mon, 2 Dec 2024 08:18:11 +0100 Subject: [PATCH 11/11] Update keyboards/handwired/cans12erv2/keymaps/default/rules.mk Co-authored-by: Drashna Jaelre --- keyboards/handwired/cans12erv2/keymaps/default/rules.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/keyboards/handwired/cans12erv2/keymaps/default/rules.mk b/keyboards/handwired/cans12erv2/keymaps/default/rules.mk index a40474b4d5c7..ee325681483f 100644 --- a/keyboards/handwired/cans12erv2/keymaps/default/rules.mk +++ b/keyboards/handwired/cans12erv2/keymaps/default/rules.mk @@ -1 +1 @@ -ENCODER_MAP_ENABLE = yes \ No newline at end of file +ENCODER_MAP_ENABLE = yes