commit: 81355045cc7a59238485d340724a01f6d1d5d537
parent bcd06f03a55e6fb9bd175a1d2c5c75ce29ae691d
Author: Florent Linguenheld <f@linguenheld.fr>
Date: Sun, 18 May 2025 19:53:00 +0200
Chew folders (#24785)
Diffstat:
12 files changed, 260 insertions(+), 127 deletions(-)
diff --git a/keyboards/chew/config.h b/keyboards/chew/config.h
@@ -1,10 +0,0 @@
-// Copyright 2024 Florent (@FLinguenheld)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#pragma once
-
-/* Flash */
-#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET // Activates the double-tap behavior
-#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 200U // In ms in which the double tap can occur
-
-#define EE_HANDS
diff --git a/keyboards/chew/info.json b/keyboards/chew/info.json
@@ -0,0 +1,17 @@
+{
+ "manufacturer": "florent@linguenheld.fr",
+ "maintainer": "florent@linguenheld.fr",
+ "bootloader": "rp2040",
+ "features": {
+ "bootmagic": true,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true
+ },
+ "processor": "RP2040",
+ "usb": {
+ "device_version": "1.0.0",
+ "pid": "0x0000",
+ "vid": "0xFEED"
+ }
+}
diff --git a/keyboards/chew/keyboard.json b/keyboards/chew/keyboard.json
@@ -1,86 +0,0 @@
-{
- "manufacturer": "florent@linguenheld.fr",
- "keyboard_name": "chew",
- "maintainer": "florent@linguenheld.fr",
- "bootloader": "rp2040",
- "features": {
- "bootmagic": true,
- "extrakey": true,
- "mousekey": true,
- "nkro": true
- },
- "matrix_pins": {
- "direct": [
- ["GP4", "GP3", "GP2", "GP1", "GP0"],
- ["GP15", "GP26", "GP27", "GP28", "GP29"],
- ["GP14", "GP13", "GP9", "GP8", "NO_PIN"],
- ["GP7", "GP6", "GP5", "NO_PIN", "NO_PIN"]
- ]
- },
- "processor": "RP2040",
- "split": {
- "enabled": true,
- "matrix_pins": {
- "right": {
- "direct": [
- ["GP0", "GP1", "GP2", "GP3", "GP4"],
- ["GP29", "GP28", "GP27", "GP26", "GP15"],
- ["GP8", "GP9", "GP13", "GP14", "NO_PIN"],
- ["GP5", "GP6", "GP7", "NO_PIN", "NO_PIN"]
- ]
- }
- },
- "serial": {
- "driver": "vendor",
- "pin": "GP11"
- },
- "transport": {
- "watchdog": true
- }
- },
- "usb": {
- "device_version": "1.0.0",
- "pid": "0x0000",
- "vid": "0xFEED"
- },
- "layouts": {
- "LAYOUT": {
- "layout": [
- {"matrix": [0, 0], "x": 0, "y": 0.25},
- {"matrix": [0, 1], "x": 1, "y": 0.125},
- {"matrix": [0, 2], "x": 2, "y": 0},
- {"matrix": [0, 3], "x": 3, "y": 0.125},
- {"matrix": [0, 4], "x": 4, "y": 0.25},
- {"matrix": [4, 0], "x": 7, "y": 0.25},
- {"matrix": [4, 1], "x": 8, "y": 0.125},
- {"matrix": [4, 2], "x": 9, "y": 0},
- {"matrix": [4, 3], "x": 10, "y": 0.125},
- {"matrix": [4, 4], "x": 11, "y": 0.25},
- {"matrix": [1, 0], "x": 0, "y": 1.25},
- {"matrix": [1, 1], "x": 1, "y": 1.125},
- {"matrix": [1, 2], "x": 2, "y": 1},
- {"matrix": [1, 3], "x": 3, "y": 1.125},
- {"matrix": [1, 4], "x": 4, "y": 1.25},
- {"matrix": [5, 0], "x": 7, "y": 1.25},
- {"matrix": [5, 1], "x": 8, "y": 1.125},
- {"matrix": [5, 2], "x": 9, "y": 1},
- {"matrix": [5, 3], "x": 10, "y": 1.125},
- {"matrix": [5, 4], "x": 11, "y": 1.25},
- {"matrix": [2, 0], "x": 0, "y": 2.25},
- {"matrix": [2, 1], "x": 1, "y": 2.125},
- {"matrix": [2, 2], "x": 2, "y": 2},
- {"matrix": [2, 3], "x": 3, "y": 2.125},
- {"matrix": [6, 0], "x": 8, "y": 2.125},
- {"matrix": [6, 1], "x": 9, "y": 2},
- {"matrix": [6, 2], "x": 10, "y": 2.125},
- {"matrix": [6, 3], "x": 11, "y": 2.25},
- {"matrix": [3, 0], "x": 2.5, "y": 3.25},
- {"matrix": [3, 1], "x": 3.5, "y": 3.5},
- {"matrix": [3, 2], "x": 4.5, "y": 3.75},
- {"matrix": [7, 0], "x": 6.5, "y": 3.75},
- {"matrix": [7, 1], "x": 7.5, "y": 3.5},
- {"matrix": [7, 2], "x": 8.5, "y": 3.25}
- ]
- }
- }
-}
diff --git a/keyboards/chew/mono/config.h b/keyboards/chew/mono/config.h
@@ -0,0 +1,8 @@
+// Copyright 2024 Florent (@FLinguenheld)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+/* Flash */
+#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET // Activates the double-tap behavior
+#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 200U // In ms in which the double tap can occur
diff --git a/keyboards/chew/mono/keyboard.json b/keyboards/chew/mono/keyboard.json
@@ -0,0 +1,48 @@
+{
+ "keyboard_name": "chew/mono",
+ "diode_direction": "COL2ROW",
+ "matrix_pins": {
+ "cols": ["GP28", "GP27", "GP26", "GP15", "GP14", "GP4", "GP3", "GP2", "GP1", "GP0"],
+ "rows": ["GP5", "GP6", "GP7", "GP8"]
+ },
+ "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": [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": [1, 0], "x": 0, "y": 1},
+ {"matrix": [1, 1], "x": 1, "y": 1},
+ {"matrix": [1, 2], "x": 2, "y": 1},
+ {"matrix": [1, 3], "x": 3, "y": 1},
+ {"matrix": [1, 4], "x": 4, "y": 1},
+ {"matrix": [1, 5], "x": 5, "y": 1},
+ {"matrix": [1, 6], "x": 6, "y": 1},
+ {"matrix": [1, 7], "x": 7, "y": 1},
+ {"matrix": [1, 8], "x": 8, "y": 1},
+ {"matrix": [1, 9], "x": 9, "y": 1},
+ {"matrix": [2, 0], "x": 0, "y": 2},
+ {"matrix": [2, 1], "x": 1, "y": 2},
+ {"matrix": [2, 2], "x": 2, "y": 2},
+ {"matrix": [2, 3], "x": 3, "y": 2},
+ {"matrix": [2, 6], "x": 6, "y": 2},
+ {"matrix": [2, 7], "x": 7, "y": 2},
+ {"matrix": [2, 8], "x": 8, "y": 2},
+ {"matrix": [2, 9], "x": 9, "y": 2},
+ {"matrix": [3, 2], "x": 2, "y": 3},
+ {"matrix": [3, 3], "x": 3, "y": 3},
+ {"matrix": [3, 4], "x": 4, "y": 3},
+ {"matrix": [3, 5], "x": 5, "y": 3},
+ {"matrix": [3, 6], "x": 6, "y": 3},
+ {"matrix": [3, 7], "x": 7, "y": 3}
+ ]
+ }
+ }
+}
diff --git a/keyboards/chew/mono/keymaps/default/keymap.c b/keyboards/chew/mono/keymaps/default/keymap.c
@@ -0,0 +1,25 @@
+// Copyright 2024 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /*
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
+ * │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │
+ * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
+ * │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │
+ * ├───┼───┼───┼───┼───┴───┼───┼───┼───┼───┤
+ * │ Z │ X │ C │ V │ │ M │ , │ . │ / │
+ * └───┴───┼───┼───┼───┬───┼───┼───┼───┴───┘
+ * │ B │Bsp│Alt│ ␣ │Ent│ N │
+ * └───┴───┴───┴───┴───┴───┘
+ */
+ [0] = LAYOUT(
+ KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
+ KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN,
+ KC_Z, KC_X, KC_C, KC_V, KC_M, KC_COMM, KC_DOT, KC_SLSH,
+ KC_B, KC_BSPC, KC_RALT, KC_SPC, KC_ENT, KC_N
+
+ )
+};
diff --git a/keyboards/chew/mono/readme.md b/keyboards/chew/mono/readme.md
@@ -0,0 +1,37 @@
+## Chew Mono
+
+[](https://live.staticflickr.com/65535/53759880304_b9eb4130cf_o.png)
+[](https://live.staticflickr.com/65535/53759543226_decbf17d2a_o.png)
+
+A crunched *monobloc* 34 key choc-spaced keyboard.
+
+- Keyboard Maintainer: [Florent Linguenheld](https://github.com/flinguenheld/)
+- Visit the repository to get the last release: [Chew](https://github.com/flinguenheld/chew)
+- Read the wiki to have some help or information: [Chew wiki](https://github.com/flinguenheld/chew/wiki)
+
+
+
+
+### Requirements
+
+- 1x PCB
+- 1x MCU board [RP2040-Zero](https://www.waveshare.com/wiki/RP2040-Zero)
+- 34x [1N4148W SMD diodes](https://splitkb.com/collections/keyboard-parts/products/smd-diodes)
+- 34x switches Choc V1 **only**
+- 34x keycaps Choc V1
+
+Optional:
+- 18x [Mill Max sockets](https://splitkb.com/collections/keyboard-parts/products/mill-max-low-profile-sockets)
+- 34x [kailh hotswap sockets](https://cdn.shopify.com/s/files/1/0588/1108/9090/files/5118-Choc-Socket.pdf?v=1686715063)
+- 1x Back PCB + screws and bolts
+
+### Bootloader
+
+The controller has two buttons, so you can enter the bootloader in 2 ways:
+
+- Maintain the **boot** button and plug the usb cable in.
+- Press twice the **reset** button.
+
+
+
+[](https://live.staticflickr.com/65535/53758638612_167c55f840_o.png)
diff --git a/keyboards/chew/readme.md b/keyboards/chew/readme.md
@@ -1,38 +1,12 @@
-## Chew
+## Chew Mono
-
-
+[](https://live.staticflickr.com/65535/53759959610_0c255fe2d4_o.png)
-A humble 34 key choc-spaced keyboard.
+A crunched 34 key choc-spaced keyboard.
+Built with a RP2040 zero and available in [monobloc](https://github.com/qmk/qmk_firmware/tree/master/keyboards/chew/mono) and [splitted](https://github.com/qmk/qmk_firmware/tree/master/keyboards/chew/split) flavors.
- Keyboard Maintainer: [Florent Linguenheld](https://github.com/flinguenheld/)
- Visit the repository to get the last release: [Chew](https://github.com/flinguenheld/chew)
- Read the wiki to have some help or information: [Chew wiki](https://github.com/flinguenheld/chew/wiki)
-
-
-
-### Requirements
-
-- 2x PCB
-- 2x MCU board [RP2040-Zero](https://www.waveshare.com/wiki/RP2040-Zero)
-- 2x TRRS jack
-- 34 switches Choc V1 **only**
-- 34 keycaps Choc V1
-
-Optional:
-- 23 [Mill Max sockets](https://splitkb.com/collections/keyboard-parts/products/mill-max-low-profile-sockets)
-- 34 [kailh hotswap sockets](https://cdn.shopify.com/s/files/1/0588/1108/9090/files/5118-Choc-Socket.pdf?v=1686715063)
-- 2x Back PCB + screws and bolts
-- 2x [Tenting pucks](https://splitkb.com/collections/keyboard-parts/products/tenting-puck)
-- 2x [Tripods](https://www.manfrotto.com/us-en/pocket-support-large-black-mp3-bk/)
-
-### Bootloader
-
-The controller has two buttons, so you can enter the bootloader in 2 ways:
-
-- Maintain the **boot** button and plug the usb cable in.
-- Press twice the **reset** button.
-
-
-
+
diff --git a/keyboards/chew/split/config.h b/keyboards/chew/split/config.h
@@ -0,0 +1,8 @@
+// Copyright 2024 Florent (@FLinguenheld)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+/* Flash */
+#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET // Activates the double-tap behavior
+#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 200U // In ms in which the double tap can occur
diff --git a/keyboards/chew/split/keyboard.json b/keyboards/chew/split/keyboard.json
@@ -0,0 +1,74 @@
+{
+ "keyboard_name": "chew/split",
+ "matrix_pins": {
+ "direct": [
+ ["GP4", "GP3", "GP2", "GP1", "GP0"],
+ ["GP15", "GP26", "GP27", "GP28", "GP29"],
+ ["GP14", "GP13", "GP9", "GP8", "NO_PIN"],
+ ["GP7", "GP6", "GP5", "NO_PIN", "NO_PIN"]
+ ]
+ },
+ "split": {
+ "enabled": true,
+ "handedness": {
+ "pin": "GP10"
+ },
+ "matrix_pins": {
+ "right": {
+ "direct": [
+ ["GP0", "GP1", "GP2", "GP3", "GP4"],
+ ["GP29", "GP28", "GP27", "GP26", "GP15"],
+ ["GP8", "GP9", "GP13", "GP14", "NO_PIN"],
+ ["GP5", "GP6", "GP7", "NO_PIN", "NO_PIN"]
+ ]
+ }
+ },
+ "serial": {
+ "driver": "vendor",
+ "pin": "GP11"
+ },
+ "transport": {
+ "watchdog": true
+ }
+ },
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"matrix": [0, 0], "x": 0, "y": 0.25},
+ {"matrix": [0, 1], "x": 1, "y": 0.125},
+ {"matrix": [0, 2], "x": 2, "y": 0},
+ {"matrix": [0, 3], "x": 3, "y": 0.125},
+ {"matrix": [0, 4], "x": 4, "y": 0.25},
+ {"matrix": [4, 0], "x": 7, "y": 0.25},
+ {"matrix": [4, 1], "x": 8, "y": 0.125},
+ {"matrix": [4, 2], "x": 9, "y": 0},
+ {"matrix": [4, 3], "x": 10, "y": 0.125},
+ {"matrix": [4, 4], "x": 11, "y": 0.25},
+ {"matrix": [1, 0], "x": 0, "y": 1.25},
+ {"matrix": [1, 1], "x": 1, "y": 1.125},
+ {"matrix": [1, 2], "x": 2, "y": 1},
+ {"matrix": [1, 3], "x": 3, "y": 1.125},
+ {"matrix": [1, 4], "x": 4, "y": 1.25},
+ {"matrix": [5, 0], "x": 7, "y": 1.25},
+ {"matrix": [5, 1], "x": 8, "y": 1.125},
+ {"matrix": [5, 2], "x": 9, "y": 1},
+ {"matrix": [5, 3], "x": 10, "y": 1.125},
+ {"matrix": [5, 4], "x": 11, "y": 1.25},
+ {"matrix": [2, 0], "x": 0, "y": 2.25},
+ {"matrix": [2, 1], "x": 1, "y": 2.125},
+ {"matrix": [2, 2], "x": 2, "y": 2},
+ {"matrix": [2, 3], "x": 3, "y": 2.125},
+ {"matrix": [6, 0], "x": 8, "y": 2.125},
+ {"matrix": [6, 1], "x": 9, "y": 2},
+ {"matrix": [6, 2], "x": 10, "y": 2.125},
+ {"matrix": [6, 3], "x": 11, "y": 2.25},
+ {"matrix": [3, 0], "x": 2.5, "y": 3.25},
+ {"matrix": [3, 1], "x": 3.5, "y": 3.5},
+ {"matrix": [3, 2], "x": 4.5, "y": 3.75},
+ {"matrix": [7, 0], "x": 6.5, "y": 3.75},
+ {"matrix": [7, 1], "x": 7.5, "y": 3.5},
+ {"matrix": [7, 2], "x": 8.5, "y": 3.25}
+ ]
+ }
+ }
+}
diff --git a/keyboards/chew/keymaps/default/keymap.c b/keyboards/chew/split/keymaps/default/keymap.c
diff --git a/keyboards/chew/split/readme.md b/keyboards/chew/split/readme.md
@@ -0,0 +1,38 @@
+## Chew Split
+
+[](https://live.staticflickr.com/65535/53745130678_2d3318d279_o.png)
+[](https://live.staticflickr.com/65535/53745130683_90aa38b210_o.png)
+
+A crunched 34 key choc-spaced keyboard.
+
+- Keyboard Maintainer: [Florent Linguenheld](https://github.com/flinguenheld/)
+- Visit the repository to get the last release: [Chew](https://github.com/flinguenheld/chew)
+- Read the wiki to have some help or information: [Chew wiki](https://github.com/flinguenheld/chew/wiki)
+
+
+
+
+### Requirements
+
+- 2x PCB
+- 2x MCU board [RP2040-Zero](https://www.waveshare.com/wiki/RP2040-Zero)
+- 2x TRRS jack
+- 34 switches Choc V1 **only**
+- 34 keycaps Choc V1
+
+Optional:
+- 23 [Mill Max sockets](https://splitkb.com/collections/keyboard-parts/products/mill-max-low-profile-sockets)
+- 34 [kailh hotswap sockets](https://cdn.shopify.com/s/files/1/0588/1108/9090/files/5118-Choc-Socket.pdf?v=1686715063)
+- 2x Back PCB + screws and bolts
+- 2x [Tenting pucks](https://splitkb.com/collections/keyboard-parts/products/tenting-puck)
+- 2x [Tripods](https://www.manfrotto.com/us-en/pocket-support-large-black-mp3-bk/)
+
+### Bootloader
+
+The controller has two buttons, so you can enter the bootloader in 2 ways:
+
+- Maintain the **boot** button and plug the usb cable in.
+- Press twice the **reset** button.
+
+
+[](https://live.staticflickr.com/65535/53744026347_a0a3bbedb4_o.png)