-
-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
12 changed files
with
671 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
# Auto detect text files and perform LF normalization | ||
* text=auto |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,71 @@ | ||
// Copyright 2022 grooovebob (@grooovebob) | ||
// SPDX-License-Identifier: GPL-2.0-or-later | ||
|
||
#pragma once | ||
|
||
#define MATRIX_ROWS 8 | ||
#define MATRIX_COLS 5 | ||
|
||
#define DIRECT_PINS { \ | ||
{ GP13, GP28, GP12, GP29, GP0 }, \ | ||
{ GP22, GP14, GP26, GP4, GP27}, \ | ||
{ GP21, GP23, GP7, GP20, GP6 }, \ | ||
{ GP16, GP9, GP8, NO_PIN, NO_PIN } \ | ||
} | ||
|
||
#define DIRECT_PINS_RIGHT { \ | ||
{ GP0, GP29, GP12, GP28, GP13 }, \ | ||
{ GP27, GP4, GP26, GP14, GP22}, \ | ||
{ GP6, GP20, GP7, GP23, GP21 }, \ | ||
{ GP8, GP9, GP16, NO_PIN, NO_PIN } \ | ||
} | ||
|
||
|
||
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ | ||
#define DEBOUNCE 5 | ||
|
||
/* Serial Config */ | ||
#define USE_SERIAL | ||
#define SERIAL_USART_TX_PIN GP1 | ||
#define MASTER_LEFT | ||
|
||
/* I2C Pin mapping */ | ||
//#define I2C1_SDA_PIN GP7 | ||
//#define I2C1_SCL_PIN GP6 | ||
//#define I2C1_CLOCK_SPEED 400000 | ||
//#define I2C_DRIVER I2CD2 | ||
|
||
// Set the mouse settings to a comfortable speed/accuracy trade-off, | ||
// assuming a screen refresh rate of 60 Htz or higher | ||
// The default is 50. This makes the mouse ~3 times faster and more accurate | ||
#define MOUSEKEY_INTERVAL 16 | ||
// The default is 20. Since we made the mouse about 3 times faster with the previous setting, | ||
// give it more time to accelerate to max speed to retain precise control over short distances. | ||
#define MOUSEKEY_TIME_TO_MAX 40 | ||
// The default is 300. Let's try and make this as low as possible while keeping the cursor responsive | ||
#define MOUSEKEY_DELAY 100 | ||
// It makes sense to use the same delay for the mouseweel | ||
#define MOUSEKEY_WHEEL_DELAY 100 | ||
// The default is 100 | ||
#define MOUSEKEY_WHEEL_INTERVAL 50 | ||
// The default is 40 | ||
#define MOUSEKEY_WHEEL_TIME_TO_MAX 100 | ||
|
||
// Pick good defaults for enabling homerow modifiers | ||
#define TAPPING_TERM 200 | ||
#define PERMISSIVE_HOLD | ||
#define IGNORE_MOD_TAP_INTERRUPT | ||
#define TAPPING_FORCE_HOLD | ||
#define USB_VBUS_PIN 19 | ||
#define AUDIO_PWM_DRIVER PWMD2 | ||
#define AUDIO_PWM_CHANNEL RP2040_PWM_CHANNEL_B | ||
#define AUDIO_STATE_TIMER GPTD4 | ||
#define AUDIO_PIN GP5 | ||
#ifdef AUDIO_ENABLE | ||
#define AUDIO_INIT_DELAY | ||
#define AUDIO_CLICKY | ||
#define AUDIO_CLICKY_FREQ_RANDOMNESS 1.0f | ||
#define STARTUP_SONG SONG(STARTUP_SOUND) | ||
#endif | ||
|
||
#define STARTUP_SOUND E__NOTE(_E6), E__NOTE(_A6), ED_NOTE(_E7), |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
#pragma once | ||
|
||
#undef HAL_USE_SIO | ||
#define HAL_USE_SIO TRUE | ||
|
||
#define HAL_USE_I2C TRUE | ||
|
||
#define HAL_USE_PWM TRUE | ||
#define HAL_USE_PAL TRUE | ||
|
||
#include_next <halconf.h> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,55 @@ | ||
{ | ||
"manufacturer": "grooovebob", | ||
"keyboard_name": "dasbob", | ||
"maintainer": "grooovebob", | ||
"processor": "RP2040", | ||
"bootloader": "rp2040", | ||
"url": "", | ||
"usb": { | ||
"device_version": "1.0.0", | ||
"pid": "0x0000", | ||
"vid": "0xFEED" | ||
}, | ||
"layouts": { | ||
"LAYOUT_split_3x5_3": { | ||
"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": [3, 2], "x": 5.5, "y": 3.75 }, | ||
{ "matrix": [7, 0], "x": 7.5, "y": 3.75 }, | ||
{ "matrix": [7, 1], "x": 8.5, "y": 3.5 }, | ||
{ "matrix": [7, 2], "x": 9.5, "y": 3.25 } | ||
] | ||
} | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,114 @@ | ||
#include QMK_KEYBOARD_H | ||
|
||
enum dasbob_layers { | ||
_QWERTY, | ||
_LOWER, | ||
_RAISE | ||
}; | ||
|
||
|
||
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 │ , │ . │ / │ | ||
* └───┴───┴───┴───┴───┘ └───┴───┴───┴───┴───┘ | ||
* ┌───┐ ┌───┐ | ||
* │DEL├───┐ ┌───┤ESC│ | ||
* └───┤SPC├───┐ ┌───┤BSP├───┘ | ||
* └───│LOW│ │RSE├───┘ | ||
* └───┘ └───┘ | ||
*/ | ||
|
||
|
||
[_QWERTY] = LAYOUT_split_3x5_3( | ||
KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, | ||
KC_A, RALT_T(KC_S), LCTL_T(KC_D), LSFT_T(KC_F), KC_G, KC_H, LSFT_T(KC_J), LCTL_T(KC_K), RALT_T(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_DEL, KC_SPC, MO(1), MO(2), KC_BSPC, KC_ESC | ||
), | ||
|
||
[_LOWER] = LAYOUT_split_3x5_3( | ||
KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, | ||
CK_RST, RALT_T(XXXXXXX), LCTL_T(XXXXXXX), LSFT_T(XXXXXXX), XXXXXXX, KC_MINS, LSFT_T(KC_EQL), LCTL_T(KC_GRV), RALT_T(KC_QUOT), KC_BSLS, | ||
CK_TOGG, CK_UP, CK_DOWN, LCTL(KC_C), LCTL(KC_V), KC_TAB, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, | ||
KC_TRNS, KC_TRNS, KC_TAB, KC_ENT, KC_TRNS, KC_TRNS | ||
), | ||
|
||
[_RAISE] = LAYOUT_split_3x5_3( | ||
KC_ESC, KC_UP, XXXXXXX, XXXXXXX, CK_TOGG, KC_NUM_LOCK, KC_KP_7, KC_KP_8, KC_KP_9, KC_KP_MINUS, | ||
KC_LEFT, RALT_T(KC_DOWN), LCTL_T(KC_RGHT), LSFT_T(XXXXXXX), KC_LGUI, XXXXXXX, LSFT_T(KC_KP_4), LCTL_T(KC_KP_5), RALT_T(KC_KP_6), KC_KP_PLUS, | ||
KC_MPRV, KC_MSTP, KC_MPLY, KC_MNXT, KC_PSCR, XXXXXXX, KC_KP_1, KC_KP_2, KC_KP_3, KC_KP_0, | ||
KC_TRNS, KC_TRNS, KC_TAB, KC_ENT, KC_TRNS, KC_TRNS | ||
), | ||
|
||
|
||
}; | ||
#ifdef OLED_ENABLE | ||
|
||
oled_rotation_t oled_init_user(oled_rotation_t rotation) { return OLED_ROTATION_0; } | ||
bool oled_task_user(void) { | ||
if (is_keyboard_master()) { | ||
static const char PROGMEM runqmk_logo[] = {0,0,0,0,152,152,152,152,152,152,24,24,24, | ||
152,152,24,24,24,152,152,24,24,152,152,24,24,24,152,152,0,0,0,0,0,0,0,0,0,0,0,0,0,0, | ||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, | ||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, | ||
0,0,0,0,0,127,127,13,13,29,63,103,64,0,63,127,96,96,96,127,63,0,0,127,127,7,12,56, | ||
127,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, | ||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, | ||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,120,252,134,198,198,252,120,0,0,254,254, | ||
60,224,224,60,254,254,0,254,254,16,24,124,230,130,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, | ||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, | ||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, | ||
0,0,24,24,25,25,25,25,27,24,24,25,25,24,25,25,24,25,25,24,25,25,24,24,24,24,25,0,0,0, | ||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, | ||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, | ||
0,0,0,0,0,0,0,0,0,0}; | ||
|
||
|
||
oled_write_raw_P(runqmk_logo, sizeof(runqmk_logo)); | ||
|
||
led_t led_usb_state = host_keyboard_led_state(); | ||
oled_set_cursor(6, 3); | ||
oled_write_P(led_usb_state.num_lock ? PSTR("NUM") : PSTR(""), false); | ||
oled_set_cursor(6, 2); | ||
oled_write_P(PSTR("WPM: "), false); | ||
oled_write(get_u8_str(get_current_wpm(), '0'), false); | ||
oled_set_cursor(6, 0); | ||
oled_write_P(PSTR("by GroooveBob"), false); | ||
oled_set_cursor(6, 1); | ||
oled_write_P(PSTR("Layer: "), false); | ||
|
||
switch (get_highest_layer(layer_state)) { | ||
case _QWERTY: | ||
oled_set_cursor(12, 1); | ||
oled_write_P(PSTR("Default\n"), false); | ||
break; | ||
case _LOWER: | ||
oled_set_cursor(12, 1); | ||
oled_write_P(PSTR("Lower\n"), false); | ||
break; | ||
case _RAISE: | ||
oled_set_cursor(12, 1); | ||
oled_write_P(PSTR("Raise\n"), false); | ||
break; | ||
default: | ||
// Or use the write_ln shortcut over adding '\n' to the end of your string | ||
oled_set_cursor(6, 1); | ||
oled_write_ln_P(PSTR("Undefined"), false); | ||
} | ||
} else { | ||
static const char PROGMEM dasbob_logo[] = { | ||
0, 0, 0, 0, 0,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, 0, 0, 0, 0, 0,128,128,128,192,192,192,192,192,192,192,192,192,192,192,128,128, 0, 0, 0, 0, 0, 0, 0,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, 0, 0, 0, 0, 0,128,128,128,128,128,128,128,128,128,128,128,128,128, 0, 0, 0,128,128,128,128,128,192,192,192,192,192, 0, 0, 0,128,128,128,128,128,128,128,128,128, 0, 0, 0, 0,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, 0, 0, | ||
0, 0,126,127,255,255,255,255,255,255,255,199,247,255,255,255,255,255,255,255,255,127,252,255,255,255,255,255,255,255,255,255, 15,127,255,255,255,255,255,255,255,255,254,248, 0,126,127,255,255,255,255,255,255,255,199,247,255,255,255,255,255,255,255,255,127,126,255,255,255,255,255,255,255,255,239,239,239,239,207,223,223,223,159, 63, 0, 7, 63,255,255,255,255,255,255,255,254, 14,254,255,255,255,255,255,255,255, 63,241,252,254,255,255,255,255,255,255,255, 31,255,255,255,255,255,255,255,255,255,255,128, 0, | ||
0, 0,126,255,255,255,255,255,255,255,255,227,255,255,255,255,255,255,255,255,255, 0, 15, 63,127,255,255,255,255,255,255,255,248,255,255,255,255,255,255,255,255,127, 63, 7, 0,126,255,255,255,255,255,255,255,255,227,255,255,255,255,255,255,255,255,255,128,252,253,249,249,251,251,251,251,251,255,255,255,255,255,255,255,255,127, 30, 0, 0, 0, 3, 31,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 7, 0, 63,255,255,255,255,255,255,255,255,255,248,255,255,255,255,255,255,255,255,255,255,255, 0, | ||
0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, | ||
}; | ||
oled_write_raw_P(dasbob_logo, sizeof(dasbob_logo)); | ||
} | ||
return false; | ||
} | ||
#endif |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
/* SPDX-License-Identifier: GPL-2.0-or-later */ | ||
|
||
#pragma once | ||
|
||
#define VIAL_KEYBOARD_UID {0x33, 0x7A, 0x81, 0x10, 0xBF, 0xCB, 0x21, 0x73} |
Oops, something went wrong.