logo

qmk_firmware

custom branch of QMK firmware git clone https://anongit.hacktivis.me/git/qmk_firmware.git
commit: 81355045cc7a59238485d340724a01f6d1d5d537
parent bcd06f03a55e6fb9bd175a1d2c5c75ce29ae691d
Author: Florent Linguenheld <f@linguenheld.fr>
Date:   Sun, 18 May 2025 19:53:00 +0200

Chew folders (#24785)


Diffstat:

Dkeyboards/chew/config.h10----------
Akeyboards/chew/info.json17+++++++++++++++++
Dkeyboards/chew/keyboard.json86-------------------------------------------------------------------------------
Akeyboards/chew/mono/config.h8++++++++
Akeyboards/chew/mono/keyboard.json48++++++++++++++++++++++++++++++++++++++++++++++++
Akeyboards/chew/mono/keymaps/default/keymap.c25+++++++++++++++++++++++++
Akeyboards/chew/mono/readme.md37+++++++++++++++++++++++++++++++++++++
Mkeyboards/chew/readme.md36+++++-------------------------------
Akeyboards/chew/split/config.h8++++++++
Akeyboards/chew/split/keyboard.json74++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Rkeyboards/chew/keymaps/default/keymap.c -> keyboards/chew/split/keymaps/default/keymap.c0
Akeyboards/chew/split/readme.md38++++++++++++++++++++++++++++++++++++++
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 + +[![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 @@ -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 @@ -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 + +[![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)