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

Adding support For Budgy and Crowboard Keyboards #19141

Merged
merged 47 commits into from
Apr 4, 2023
Merged
Show file tree
Hide file tree
Changes from 43 commits
Commits
Show all changes
47 commits
Select commit Hold shift + click to select a range
0c2eff8
Adding Budgy the budget keyboard
doesntfazer Nov 23, 2022
ffabbe2
fixed image url
doesntfazer Nov 23, 2022
5d9ecaf
Adding the Crowboard
doesntfazer Nov 23, 2022
b2dc9d5
Merge branch 'master' of https://github.com/doesntfazer/qmk_firmware
doesntfazer Nov 23, 2022
b937aae
Merge branch 'qmk:master' into master
doesntfazer Nov 23, 2022
09b736c
Update keyboards/budgy/config.h
doesntfazer Nov 25, 2022
304ba31
Update keyboards/budgy/info.json
doesntfazer Nov 25, 2022
0fdec50
Update keyboards/budgy/readme.md
doesntfazer Nov 25, 2022
add9cc3
Update keyboards/budgy/readme.md
doesntfazer Nov 25, 2022
94ca75e
Update keyboards/crowboard/readme.md
doesntfazer Nov 25, 2022
4ccc43b
Update keyboards/crowboard/keymaps/default/keymap.c
doesntfazer Nov 25, 2022
546e20c
Update keyboards/crowboard/info.json
doesntfazer Nov 25, 2022
2989155
Update keyboards/crowboard/readme.md
doesntfazer Nov 25, 2022
dbaeed3
Update keyboards/crowboard/rules.mk
doesntfazer Nov 25, 2022
b112308
Update keyboards/crowboard/rules.mk
doesntfazer Nov 25, 2022
36452fc
Update keyboards/crowboard/keymaps/default/keymap.c
doesntfazer Nov 25, 2022
26fb59d
Update keyboards/crowboard/keymaps/default/keymap.c
doesntfazer Nov 25, 2022
225b66d
Update keyboards/crowboard/readme.md
doesntfazer Nov 25, 2022
ecf3d48
Update keyboards/crowboard/keymaps/default/keymap.c
doesntfazer Nov 25, 2022
7ff2036
Update keyboards/crowboard/keymaps/default/keymap.c
doesntfazer Nov 25, 2022
fea0e80
Delete config.h
doesntfazer Nov 25, 2022
d133c73
Update keymap.c
doesntfazer Nov 25, 2022
cf1e70c
Update keymap.c
doesntfazer Dec 1, 2022
3cdbce8
Update keymap.c
doesntfazer Dec 1, 2022
5edef6a
Update keymap.c
doesntfazer Dec 1, 2022
1cb5186
Update readme.md
doesntfazer Dec 6, 2022
939e5bc
Update readme.md
doesntfazer Dec 15, 2022
1d4720d
Update keyboards/budgy/config.h
doesntfazer Feb 25, 2023
3efd90e
Update keyboards/budgy/info.json
doesntfazer Feb 25, 2023
4d38d76
Update keyboards/budgy/config.h
doesntfazer Feb 25, 2023
886f8a6
Update keyboards/crowboard/rules.mk
doesntfazer Feb 25, 2023
ba44416
Update keyboards/crowboard/info.json
doesntfazer Feb 25, 2023
fded198
Update keyboards/budgy/info.json
doesntfazer Feb 25, 2023
2f5102f
Update keyboards/budgy/config.h
doesntfazer Feb 25, 2023
82bbf4c
Update keyboards/crowboard/rules.mk
doesntfazer Feb 25, 2023
282b028
Update keyboards/crowboard/readme.md
doesntfazer Feb 25, 2023
e0ee654
Update keyboards/crowboard/rules.mk
doesntfazer Feb 25, 2023
0bf2e22
Update keyboards/crowboard/keymaps/default/keymap.c
doesntfazer Feb 25, 2023
40cdcc5
Update keyboards/crowboard/keymaps/default/keymap.c
doesntfazer Feb 25, 2023
8b3a2a4
Update keyboards/crowboard/keymaps/default/keymap.c
doesntfazer Feb 25, 2023
c2279c8
Update keyboards/crowboard/keymaps/default/rules.mk
doesntfazer Feb 25, 2023
58c136e
removed rules.mk to fix tri-layer error
doesntfazer Feb 28, 2023
1f1613f
Revert "removed rules.mk to fix tri-layer error"
doesntfazer Feb 28, 2023
2102baa
Update keyboards/crowboard/keymaps/default/config.h
doesntfazer Apr 3, 2023
fc54912
Update keyboards/crowboard/keymaps/default/keymap.c
doesntfazer Apr 3, 2023
7e0d086
Update keyboards/crowboard/keymaps/default/keymap.c
doesntfazer Apr 3, 2023
317ef89
Update keyboards/crowboard/keymaps/default/keymap.c
doesntfazer Apr 3, 2023
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
14 changes: 14 additions & 0 deletions keyboards/budgy/config.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
// Copyright 2022 KeyboardDweebs (@doesntfazer)
// SPDX-License-Identifier: GPL-2.0-or-later

#pragma once

#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 1000U


#define SERIAL_USART_FULL_DUPLEX
#define SERIAL_USART_TX_PIN GP1
#define SERIAL_USART_RX_PIN GP0

// #define SERIAL_USART_PIN_SWAP
81 changes: 81 additions & 0 deletions keyboards/budgy/info.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
{
"manufacturer": "KeyboardDweebs",
"keyboard_name": "budgy",
"maintainer": "doesntfazer",
"bootloader": "rp2040",
"features": {
"bootmagic": true,
"command": false,
"console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
},
"processor": "RP2040",
"url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x0117",
"vid": "0xFABE"
},
doesntfazer marked this conversation as resolved.
Show resolved Hide resolved
"matrix_pins": {
"direct": [
["GP6", "GP5", "GP4", "GP3", "GP2"],
["GP11", "GP10", "GP9", "GP8", "GP7"],
["GP15", "GP14", "GP13", "GP12", "GP16"],
["GP17", "GP18", null, null, null]
]
},
"split": {
"matrix_pins": {
"right": {
"direct": [
["GP2", "GP3", "GP4", "GP5", "GP6"],
["GP7", "GP8", "GP9", "GP10", "GP11"],
["GP16", "GP12", "GP13", "GP14", "GP15"],
["GP18", "GP17", null, null, null]
]
}
}
},
"layouts": {
"LAYOUT_split_3x5_2": {
"layout": [
{ "matrix": [0, 0], "x": 0, "y": 0.25 },
{ "matrix": [0, 1], "x": 1, "y": 0.25 },
{ "matrix": [0, 2], "x": 2, "y": 0.125 },
{ "matrix": [0, 3], "x": 3, "y": 0 },
{ "matrix": [0, 4], "x": 4, "y": 0.125 },
{ "matrix": [4, 0], "x": 8, "y": 0.25 },
{ "matrix": [4, 1], "x": 9, "y": 0.125 },
{ "matrix": [4, 2], "x": 10, "y": 0 },
{ "matrix": [4, 3], "x": 11, "y": 0.125 },
{ "matrix": [4, 4], "x": 12, "y": 0.25 },
{ "matrix": [1, 0], "x": 0, "y": 1.25 },
{ "matrix": [1, 1], "x": 1, "y": 1.25 },
{ "matrix": [1, 2], "x": 2, "y": 1.125 },
{ "matrix": [1, 3], "x": 3, "y": 1 },
{ "matrix": [1, 4], "x": 4, "y": 1.125 },
{ "matrix": [5, 0], "x": 8, "y": 1.25 },
{ "matrix": [5, 1], "x": 9, "y": 1.125 },
{ "matrix": [5, 2], "x": 10, "y": 1 },
{ "matrix": [5, 3], "x": 11, "y": 1.125 },
{ "matrix": [5, 4], "x": 12, "y": 1.25 },
{ "matrix": [2, 0], "x": 0, "y": 2.25 },
{ "matrix": [2, 1], "x": 1, "y": 2.25 },
{ "matrix": [2, 2], "x": 2, "y": 2.125 },
{ "matrix": [2, 3], "x": 3, "y": 2 },
{ "matrix": [2, 4], "x": 4, "y": 2.125 },
{ "matrix": [6, 0], "x": 8, "y": 2.25 },
{ "matrix": [6, 1], "x": 9, "y": 2.125 },
{ "matrix": [6, 2], "x": 10, "y": 2 },
{ "matrix": [6, 3], "x": 11, "y": 2.125 },
{ "matrix": [6, 4], "x": 12, "y": 2.25 },
{ "matrix": [3, 0], "x": 3.5, "y": 3.25 },
{ "matrix": [3, 1], "x": 4.5, "y": 3.5 },
{ "matrix": [7, 0], "x": 7.5, "y": 3.75 },
{ "matrix": [7, 1], "x": 8.5, "y": 3.5 }
]
}
}
}
25 changes: 25 additions & 0 deletions keyboards/budgy/keymaps/default/keymap.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
// Copyright 2021 Keyboard Dweebs (@doesntfazer)
// SPDX-License-Identifier: GPL-2.0-or-later
#include QMK_KEYBOARD_H
doesntfazer marked this conversation as resolved.
Show resolved Hide resolved

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 │ B │ │ N │ M │ , │ . │ / │
* └───┴───┴───┴───┴───┘ └───┴───┴───┴───┴───┘
* ┌───┐ ┌───┐
* │Bsp├───┐ ┌───┤Ent│
* └───┤Tab│ │Spc├───┘
* └───┘ └───┘
*/
[0] = LAYOUT_split_3x5_2(
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_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH,
KC_BSPC, KC_TAB, KC_SPC, KC_ENT
)
};
27 changes: 27 additions & 0 deletions keyboards/budgy/readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# budgy

![budgy](https://i.imgur.com/6kjxmSMh.jpeg)

34 key, diodeless, RP2040 based, budget keyboard.

* Keyboard Maintainer: [KeyboardDweebs](https://github.com/doesntfazer)
* Hardware Supported: Raspberry Pi Pico
* Hardware Availability: [Github Page](https://github.com/doesntfazer/Budgy) Buy Directly from [Keyboard Dweebs](https://keyboarddweebs.net/)

Make example for this keyboard (after setting up your build environment):

make budgy:default

Flashing example for this keyboard:

make budgy:default:flash

See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).

## Bootloader

Enter the bootloader in 3 ways:

* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
2 changes: 2 additions & 0 deletions keyboards/budgy/rules.mk
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
SPLIT_KEYBOARD = yes
SERIAL_DRIVER = vendor
66 changes: 66 additions & 0 deletions keyboards/crowboard/info.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
{
"manufacturer": "KeyboardDweebs",
"keyboard_name": "crowboard",
"maintainer": "doesntfazer",
"bootloader": "rp2040",
"diode_direction": "COL2ROW",
"features": {
"bootmagic": true,
"mousekey": true,
"extrakey": true,
"nkro": true
},
"matrix_pins": {
"cols": ["GP6", "GP7", "GP8", "GP9", "GP10", "GP18", "GP19", "GP20", "GP21", "GP22"],
"rows": ["GP14", "GP15", "GP16", "GP17"]
},
"processor": "RP2040",
"url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x0000",
"vid": "0xFEED"
},
"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, 4], "x": 4, "y": 2 },
{ "matrix": [2, 5], "x": 5, "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 }
]
}
}
}
6 changes: 6 additions & 0 deletions keyboards/crowboard/keymaps/default/config.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
// Copyright 2022 doesntfazer (@doesntfazer)
// SPDX-License-Identifier: GPL-2.0-or-later

#pragma once

#define IGNORE_MOD_TAP_INTERRUPT_PER_KEY
doesntfazer marked this conversation as resolved.
Show resolved Hide resolved
60 changes: 60 additions & 0 deletions keyboards/crowboard/keymaps/default/keymap.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
// Copyright 2021 Keyboard Dweebs (@doesntfazer)
// SPDX-License-Identifier: GPL-2.0-or-later
#include QMK_KEYBOARD_H
doesntfazer marked this conversation as resolved.
Show resolved Hide resolved

#define CTLA LCTL(KC_A)
#define CAE LCTL(LALT(KC_END))
#define CAD LCTL(LALT(KC_DEL))

enum crow_layers {
_QWERTY,
_LOWER,
_RAISE,
_ADJUST,
};

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {

[_QWERTY] = LAYOUT (
KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
LCTL_T(KC_A), KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_QUOT,
LSFT_T(KC_Z), KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, RSFT_T(KC_SLSH),
KC_LCTL, TL_LOWR, KC_SPACE, KC_BSPC, TL_UPPR, KC_RALT
),

[_LOWER] = LAYOUT (
KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0,
KC_TAB, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, KC_TRNS, KC_MINUS, KC_EQUAL, KC_LBRC, KC_RBRC,
KC_LCTL, KC_GRAVE, KC_LGUI, KC_LALT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_BSLS, KC_SCLN,
KC_TRNS, LOWER, KC_TRNS, KC_ENTER, RAISE, KC_TRNS
doesntfazer marked this conversation as resolved.
Show resolved Hide resolved
),
[_RAISE] = LAYOUT (
KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN,
KC_ESC, KC_DEL, CTLA, KC_TRNS, KC_TRNS, KC_TRNS, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR,
KC_CAPS, KC_TILDE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PIPE, KC_COLN,
KC_TRNS, LOWER, KC_TRNS, KC_TRNS, RAISE, KC_TRNS
doesntfazer marked this conversation as resolved.
Show resolved Hide resolved
),
[_ADJUST] = LAYOUT (
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10,
KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, CAD, CAE, CAD, CAD,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
),
};


bool get_ignore_mod_tap_interrupt(uint16_t keycode, keyrecord_t *record) {
switch (keycode) {
case LCTL_T(KC_A):
// Do not force the mod-tap key press to be handled as a modifier
// if any other key was pressed while the mod-tap key is held down.
return true;
default:
// Force the mod-tap key press to be handled as a modifier if any
// other key was pressed while the mod-tap key is held down.
return false;
}
}

doesntfazer marked this conversation as resolved.
Show resolved Hide resolved


1 change: 1 addition & 0 deletions keyboards/crowboard/keymaps/default/rules.mk
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
TRI_LAYER_ENABLE = yes
28 changes: 28 additions & 0 deletions keyboards/crowboard/readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# crowboard

![crowboard](https://i.imgur.com/Rg7IYPwh.jpg)

RP2040 based 36 key keyboard

* Keyboard Maintainer: [doesntfazer](https://github.com/doesntfazer)
* Hardware Supported: Raspberry Pi Pico
* Hardware Availability: keyboarddweebs.net

## Bootloader

Enter the bootloader in 2 ways:

* **Physical reset button**: Hold the button down on the raspberry pi pico while plugging it in. There is no reset button on the pcb.
* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available

Make example for this keyboard (after setting up your build environment):
doesntfazer marked this conversation as resolved.
Show resolved Hide resolved

make crowboard:default

Flashing example for this keyboard:

make crowboard:default:flash

See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).


1 change: 1 addition & 0 deletions keyboards/crowboard/rules.mk
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
PICO_INTRINSICS_ENABLED = no # ATM Unsupported by ChibiOS!