aboutsummaryrefslogtreecommitdiff
path: root/keyboards/chew
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/chew')
-rw-r--r--keyboards/chew/config.h11
-rw-r--r--keyboards/chew/info.json84
-rw-r--r--keyboards/chew/keymaps/default/keymap.c27
-rw-r--r--keyboards/chew/readme.md38
-rw-r--r--keyboards/chew/rules.mk1
5 files changed, 161 insertions, 0 deletions
diff --git a/keyboards/chew/config.h b/keyboards/chew/config.h
new file mode 100644
index 0000000000..22b43cf799
--- /dev/null
+++ b/keyboards/chew/config.h
@@ -0,0 +1,11 @@
+// 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
+#define SERIAL_USART_TX_PIN GP11
diff --git a/keyboards/chew/info.json b/keyboards/chew/info.json
new file mode 100644
index 0000000000..f6ddaa627d
--- /dev/null
+++ b/keyboards/chew/info.json
@@ -0,0 +1,84 @@
+{
+ "manufacturer": "[email protected]",
+ "keyboard_name": "chew",
+ "maintainer": "[email protected]",
+ "bootloader": "rp2040",
+ "features": {
+ "bootmagic": true,
+ "command": false,
+ "console": false,
+ "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"]
+ ]
+ }
+ },
+ "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/keymaps/default/keymap.c b/keyboards/chew/keymaps/default/keymap.c
new file mode 100644
index 0000000000..541ddbdf1c
--- /dev/null
+++ b/keyboards/chew/keymaps/default/keymap.c
@@ -0,0 +1,27 @@
+// 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 ├───┐ ┌───┤ N │
+ * └───┤Bsp├───┐ ┌───┤Ent├───┘
+ * └───┤Alt│ │ ├───┘
+ * └───┘ └───┘
+ */
+ [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/readme.md b/keyboards/chew/readme.md
new file mode 100644
index 0000000000..a08398ea0f
--- /dev/null
+++ b/keyboards/chew/readme.md
@@ -0,0 +1,38 @@
+## Chew
+
+![Chew front photo](https://live.staticflickr.com/65535/53681212617_90e4eebaf9_o.jpg)
+![Chew front photo](https://live.staticflickr.com/65535/53682442119_1fcea26fef_o.jpg)
+
+A humble 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 back photo](https://live.staticflickr.com/65535/53682442124_677ffa6cb5_o.jpg)
diff --git a/keyboards/chew/rules.mk b/keyboards/chew/rules.mk
new file mode 100644
index 0000000000..161ec22b16
--- /dev/null
+++ b/keyboards/chew/rules.mk
@@ -0,0 +1 @@
+SERIAL_DRIVER = vendor