Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Chew folders #24785

Open
wants to merge 4 commits into
base: develop
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 19 additions & 0 deletions keyboards/chew/info.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
"manufacturer": "florent@linguenheld.fr",
"maintainer": "florent@linguenheld.fr",
"bootloader": "rp2040",
"features": {
"bootmagic": true,
"command": false,
"console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
},
"processor": "RP2040",
"usb": {
"device_version": "1.0.0",
"pid": "0x0000",
"vid": "0xFEED"
}
}
2 changes: 0 additions & 2 deletions keyboards/chew/config.h → keyboards/chew/mono/config.h
Original file line number Diff line number Diff line change
Expand Up @@ -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
48 changes: 48 additions & 0 deletions keyboards/chew/mono/keyboard.json
Original file line number Diff line number Diff line change
@@ -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}
]
}
}
}
25 changes: 25 additions & 0 deletions keyboards/chew/mono/keymaps/default/keymap.c
Original file line number Diff line number Diff line change
@@ -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

)
};
37 changes: 37 additions & 0 deletions keyboards/chew/mono/readme.md
Original file line number Diff line number Diff line change
@@ -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)
1 change: 1 addition & 0 deletions keyboards/chew/mono/rules.mk
flinguenheld marked this conversation as resolved.
Show resolved Hide resolved
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# This file intentionally left blank
36 changes: 5 additions & 31 deletions keyboards/chew/readme.md
Original file line number Diff line number Diff line change
@@ -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)
11 changes: 11 additions & 0 deletions keyboards/chew/split/config.h
Original file line number Diff line number Diff line change
@@ -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 SPLIT_HAND_PIN GP10
#define SERIAL_USART_TX_PIN GP11
flinguenheld marked this conversation as resolved.
Show resolved Hide resolved
Original file line number Diff line number Diff line change
@@ -1,16 +1,5 @@
{
"manufacturer": "florent@linguenheld.fr",
"keyboard_name": "chew",
"maintainer": "florent@linguenheld.fr",
"bootloader": "rp2040",
"features": {
"bootmagic": true,
"command": false,
"console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
},
"keyboard_name": "chew/split",
"matrix_pins": {
"direct": [
["GP4", "GP3", "GP2", "GP1", "GP0"],
Expand All @@ -19,7 +8,6 @@
["GP7", "GP6", "GP5", "NO_PIN", "NO_PIN"]
]
},
"processor": "RP2040",
"split": {
"enabled": true,
"matrix_pins": {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The previous submission used EE_HANDS, is there now a new PCB revision that supports handedness by pin?

Suggested change
"matrix_pins": {
"handedness": {
"pin": "GP10"
},
"matrix_pins": {

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, gp10 on the left and gp12 on the right are on +vcc.
Thanks to that I can use these pins as a kind of vbus.
(There were the last free pins thanks to the uart half-duplex)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Humm, now I have some doubts about that.
We could eventually remove this option to leave the user free to decide in the keymap config.
In this case I will be able to use the full duplex with a potential next PCB 😅

Expand All @@ -33,18 +21,12 @@
}
},
"serial": {
"driver": "vendor",
"pin": "GP11"
"driver": "vendor"
flinguenheld marked this conversation as resolved.
Show resolved Hide resolved
},
"transport": {
"watchdog": true
}
},
"usb": {
"device_version": "1.0.0",
"pid": "0x0000",
"vid": "0xFEED"
},
"layouts": {
"LAYOUT": {
"layout": [
Expand Down
38 changes: 38 additions & 0 deletions keyboards/chew/split/readme.md
Original file line number Diff line number Diff line change
@@ -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)
Loading