From 81355045cc7a59238485d340724a01f6d1d5d537 Mon Sep 17 00:00:00 2001 From: Florent Linguenheld Date: Sun, 18 May 2025 19:53:00 +0200 Subject: [PATCH] Chew folders (#24785) --- keyboards/chew/info.json | 17 +++++++ keyboards/chew/{ => mono}/config.h | 2 - keyboards/chew/mono/keyboard.json | 48 +++++++++++++++++++ keyboards/chew/mono/keymaps/default/keymap.c | 25 ++++++++++ keyboards/chew/mono/readme.md | 37 ++++++++++++++ keyboards/chew/readme.md | 36 ++------------ keyboards/chew/split/config.h | 8 ++++ keyboards/chew/{ => split}/keyboard.json | 20 ++------ .../chew/{ => split}/keymaps/default/keymap.c | 0 keyboards/chew/split/readme.md | 38 +++++++++++++++ 10 files changed, 182 insertions(+), 49 deletions(-) create mode 100644 keyboards/chew/info.json rename keyboards/chew/{ => mono}/config.h (94%) create mode 100644 keyboards/chew/mono/keyboard.json create mode 100644 keyboards/chew/mono/keymaps/default/keymap.c create mode 100644 keyboards/chew/mono/readme.md create mode 100644 keyboards/chew/split/config.h rename keyboards/chew/{ => split}/keyboard.json (87%) rename keyboards/chew/{ => split}/keymaps/default/keymap.c (100%) create mode 100644 keyboards/chew/split/readme.md diff --git a/keyboards/chew/info.json b/keyboards/chew/info.json new file mode 100644 index 00000000000..306e7f30573 --- /dev/null +++ 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/config.h b/keyboards/chew/mono/config.h similarity index 94% rename from keyboards/chew/config.h rename to keyboards/chew/mono/config.h index df672bc4e12..bb047c0adf3 100644 --- a/keyboards/chew/config.h +++ b/keyboards/chew/mono/config.h @@ -6,5 +6,3 @@ /* 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/mono/keyboard.json b/keyboards/chew/mono/keyboard.json new file mode 100644 index 00000000000..9e481023674 --- /dev/null +++ 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 new file mode 100644 index 00000000000..0a69b72f853 --- /dev/null +++ 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 new file mode 100644 index 00000000000..a0c15170e46 --- /dev/null +++ b/keyboards/chew/mono/readme.md @@ -0,0 +1,37 @@ +## Chew Mono + +[![Chew mono front photo](https://live.staticflickr.com/65535/53759880304_2e97179f76_b.jpg)](https://live.staticflickr.com/65535/53759880304_b9eb4130cf_o.png) +[![Chew mono front photo](https://live.staticflickr.com/65535/53759543226_57e3d6354f_b.jpg)](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) + + +![fox](https://github.com/flinguenheld/chew/blob/main/images/fox_brown.png?raw=true) + +### 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. + +![sausages](https://github.com/flinguenheld/chew/blob/main/images/sausages.png?raw=true) + +[![Chew mono back photo](https://live.staticflickr.com/65535/53758638612_167c55f840_o.png)](https://live.staticflickr.com/65535/53758638612_167c55f840_o.png) diff --git a/keyboards/chew/readme.md b/keyboards/chew/readme.md index a08398ea0fa..d478f86c49d 100644 --- a/keyboards/chew/readme.md +++ b/keyboards/chew/readme.md @@ -1,38 +1,12 @@ -## Chew +## Chew Mono -![Chew front photo](https://live.staticflickr.com/65535/53681212617_90e4eebaf9_o.jpg) -![Chew front photo](https://live.staticflickr.com/65535/53682442119_1fcea26fef_o.jpg) +[![Chew both](https://live.staticflickr.com/65535/53759959610_2960edcb50_b.jpg)](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) - -![squirrel](https://github.com/flinguenheld/chew/blob/main/images/squirrel_brown.png?raw=true) - -### 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. - -![hazelnuts](https://github.com/flinguenheld/chew/blob/main/images/hazelnuts.png?raw=true) -![Chew back photo](https://live.staticflickr.com/65535/53682442124_677ffa6cb5_o.jpg) +![fox](https://github.com/flinguenheld/chew/blob/main/images/fox_brown.png?raw=true) diff --git a/keyboards/chew/split/config.h b/keyboards/chew/split/config.h new file mode 100644 index 00000000000..bb047c0adf3 --- /dev/null +++ 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/keyboard.json b/keyboards/chew/split/keyboard.json similarity index 87% rename from keyboards/chew/keyboard.json rename to keyboards/chew/split/keyboard.json index 304f788af39..2a0245a9b46 100644 --- a/keyboards/chew/keyboard.json +++ b/keyboards/chew/split/keyboard.json @@ -1,14 +1,5 @@ { - "manufacturer": "florent@linguenheld.fr", - "keyboard_name": "chew", - "maintainer": "florent@linguenheld.fr", - "bootloader": "rp2040", - "features": { - "bootmagic": true, - "extrakey": true, - "mousekey": true, - "nkro": true - }, + "keyboard_name": "chew/split", "matrix_pins": { "direct": [ ["GP4", "GP3", "GP2", "GP1", "GP0"], @@ -17,9 +8,11 @@ ["GP7", "GP6", "GP5", "NO_PIN", "NO_PIN"] ] }, - "processor": "RP2040", "split": { "enabled": true, + "handedness": { + "pin": "GP10" + }, "matrix_pins": { "right": { "direct": [ @@ -38,11 +31,6 @@ "watchdog": true } }, - "usb": { - "device_version": "1.0.0", - "pid": "0x0000", - "vid": "0xFEED" - }, "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/chew/keymaps/default/keymap.c b/keyboards/chew/split/keymaps/default/keymap.c similarity index 100% rename from keyboards/chew/keymaps/default/keymap.c rename to keyboards/chew/split/keymaps/default/keymap.c diff --git a/keyboards/chew/split/readme.md b/keyboards/chew/split/readme.md new file mode 100644 index 00000000000..b47d5ac0fa2 --- /dev/null +++ b/keyboards/chew/split/readme.md @@ -0,0 +1,38 @@ +## Chew Split + +[![Chew](https://live.staticflickr.com/65535/53745130678_97ce7dfedf_b.jpg)](https://live.staticflickr.com/65535/53745130678_2d3318d279_o.png) +[![Chew](https://live.staticflickr.com/65535/53745130683_c98f1a152b_b.jpg)](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) + + +![squirrel](https://github.com/flinguenheld/chew/blob/main/images/squirrel_brown.png?raw=true) + +### 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. + +![hazelnuts](https://github.com/flinguenheld/chew/blob/main/images/hazelnuts.png?raw=true) +[![Chew](https://live.staticflickr.com/65535/53744026347_a95fe6d897_b.jpg)](https://live.staticflickr.com/65535/53744026347_a0a3bbedb4_o.png)