1
0
Fork 0

Merge remote-tracking branch 'upstream/master' into develop

This commit is contained in:
fauxpark 2023-12-20 16:03:14 +11:00
commit 2c191e21c2
1875 changed files with 649 additions and 120281 deletions

View file

@ -1,45 +0,0 @@
/* Copyright 2022 HorrorTroll <https://github.com/HorrorTroll>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
/* Additional thing to reduce compiled size */
#define NO_ACTION_ONESHOT
#define LAYER_STATE_8BIT
#ifdef RGB_MATRIX_ENABLE
/* RGB Matrix config */
#undef RGB_MATRIX_KEYPRESSES
/* RGB Matrix effect */
#undef ENABLE_RGB_MATRIX_ALPHAS_MODS
#undef ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
#undef ENABLE_RGB_MATRIX_BREATHING
#undef ENABLE_RGB_MATRIX_BAND_SAT
#undef ENABLE_RGB_MATRIX_BAND_VAL
#undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
#undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
#undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN
#undef ENABLE_RGB_MATRIX_DUAL_BEACON
#undef ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
#undef ENABLE_RGB_MATRIX_RAINDROPS
#undef ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
#undef ENABLE_RGB_MATRIX_HUE_PENDULUM
#undef ENABLE_RGB_MATRIX_HUE_WAVE
#undef ENABLE_RGB_MATRIX_PIXEL_RAIN
#undef ENABLE_RGB_MATRIX_PIXEL_FLOW
#undef ENABLE_RGB_MATRIX_PIXEL_FRACTAL
#endif

View file

@ -1,148 +0,0 @@
/* Copyright 2022 HorrorTroll <https://github.com/HorrorTroll>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include QMK_KEYBOARD_H
// OLED animation
#include "./lib/bongocat/bongocat.h"
// Each layer gets a name for readability, which is then used in the keymap matrix below.
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
// Layer names don't all need to be of the same length, obviously, and you can also skip them
// entirely and just use numbers.
enum layer_names {
_BASE,
_FN,
_FN1,
_FN2
};
// enum layer_keycodes { };
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/*
1 2 3 4 Ply TO1
5 6 7 8
9 0 Ent
Mut
Fn2
! @ # $
% ^ & *
( )
*/
/* Row: 0 1 2 3 4 */
[_BASE] = LAYOUT(
KC_1, KC_2, KC_3, KC_4, KC_MPLY,
KC_5, KC_6, KC_7, KC_8, TO(_FN),
KC_9, KC_0, KC_UP, KC_ENT, KC_MUTE,
MO(_FN2), KC_LEFT, KC_DOWN, KC_RIGHT
),
/*
*/
/* Row: 0 1 2 3 4 */
[_FN] = LAYOUT(
_______, _______, _______, _______, _______,
_______, _______, _______, _______, TO(_FN1),
_______, _______, _______, _______, _______,
_______, _______, _______, _______
),
/*
*/
/* Row: 0 1 2 3 4 */
[_FN1] = LAYOUT(
_______, _______, _______, _______, _______,
_______, _______, _______, _______, TO(_FN2),
_______, _______, _______, _______, _______,
_______, _______, _______, _______
),
/*
SpiSpd TO0
SaiSad
TogModHui
VaiHudVad
*/
/* Row: 0 1 2 3 4 */
[_FN2] = LAYOUT(
RGB_SPI, RGB_SPD, _______, QK_BOOT, _______,
RGB_SAI, RGB_SAD, _______, _______, TO(_BASE),
RGB_TOG, RGB_MOD, RGB_HUI, _______, _______,
_______, RGB_VAI, RGB_HUD, RGB_VAD
),
};
#ifdef OLED_ENABLE
bool oled_task_user(void) {
led_t led_usb_state = host_keyboard_led_state();
render_bongocat();
oled_set_cursor(14, 0); // sets cursor to (column, row) using charactar spacing (4 rows on 128x32 screen, anything more will overflow back to the top)
oled_write_P(PSTR("WPM:"), false);
oled_write(get_u8_str(get_current_wpm(), '0'), false); // writes wpm on top right corner of string
oled_set_cursor(17, 2);
oled_write_P(led_usb_state.caps_lock ? PSTR("CAPS") : PSTR(" "), false);
oled_set_cursor(17, 3);
oled_write_P(led_usb_state.scroll_lock ? PSTR("SCRL") : PSTR(" "), false);
return true;
}
#endif
#ifdef ENCODER_MAP_ENABLE
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[_BASE] = { ENCODER_CCW_CW(KC_MPRV, KC_MNXT), ENCODER_CCW_CW(KC_PGDN, KC_PGUP), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[_FN] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
[_FN1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
[_FN2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
};
#endif

View file

@ -1,17 +0,0 @@
SRC += ./lib/bongocat/bongocat.c
# Build Options
# change yes to no to disable
#
MOUSEKEY_ENABLE = no # Mouse keys
VIA_ENABLE = yes
# Additional thing to reduce compiled size
GRAVE_ESC_ENABLE = no
# OLED enabled
WPM_ENABLE = yes
# Encoder enabled
ENCODER_MAP_ENABLE = yes

View file

@ -1,135 +0,0 @@
/* Copyright 2022 DOIO
* Copyright 2022 HorrorTroll <https://github.com/HorrorTroll>
* Copyright 2022 Ryan Anderson <ryan@michonline.com>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include QMK_KEYBOARD_H
// OLED animation
#include "lib/layer_status/layer_status.h"
// Each layer gets a name for readability, which is then used in the keymap matrix below.
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
// Layer names don't all need to be of the same length, obviously, and you can also skip them
// entirely and just use numbers.
enum layer_names {
_BASE = 0,
_FN,
_FN1,
_FN2,
};
// enum layer_keycodes { };
// clang-format off
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/*
C-DC-EM-DM-E Ply TO1
5 6 7 8
9 0 Ent
Mut
Fn2
! @ # $
% ^ & *
( )
*/
/* Row: 0 1 2 3 4 5 6 */
[_BASE] = LAYOUT(C(KC_D), C(KC_E), LCMD(KC_D), LCMD(KC_E), KC_MPLY,
KC_5, KC_6, LCTL(LCMD(KC_H)), KC_8, TO(_FN),
KC_9, KC_0, KC_UP, KC_ENT, KC_MUTE,
MO(_FN2), KC_LEFT, KC_DOWN, KC_RIGHT),
/*
*/
/* Row: 0 1 2 3 4 5 6 */
[_FN] = LAYOUT(_______, _______, _______, _______, _______,
_______, _______, _______, _______, TO(_FN1),
_______, _______, _______, _______, _______,
_______, _______, _______, _______),
/*
*/
/* Row: 0 1 2 3 4 5 6 */
[_FN1] = LAYOUT(_______, _______, _______, _______, _______,
_______, _______, _______, _______, TO(_FN2),
_______, _______, _______, _______, _______,
_______, _______, _______, _______),
/*
SpiSpd TO0
SaiSad
TogModHui
VaiHudVad
*/
/* Row: 0 1 2 3 4 5 6 */
[_FN2] = LAYOUT(RGB_SPI, RGB_SPD, _______, QK_BOOT, _______,
RGB_SAI, RGB_SAD, _______, _______, TO(_BASE),
RGB_TOG, RGB_MOD, RGB_HUI, _______, _______,
_______, RGB_VAI, RGB_HUD, RGB_VAD),
};
// clang-format on
#ifdef OLED_ENABLE
bool oled_task_user(void) {
render_layer_status();
return true;
}
#endif
#ifdef ENCODER_MAP_ENABLE
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[_BASE] = {ENCODER_CCW_CW(KC_MPRV, KC_MNXT), ENCODER_CCW_CW(KC_PGDN, KC_PGUP), ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
[_FN] = {ENCODER_CCW_CW(KC_MPRV, KC_MNXT), ENCODER_CCW_CW(KC_PGDN, KC_PGUP), ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
[_FN2] = {ENCODER_CCW_CW(KC_MPRV, KC_MNXT), ENCODER_CCW_CW(KC_PGDN, KC_PGUP), ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
[_BASE] = {ENCODER_CCW_CW(KC_MPRV, KC_MNXT), ENCODER_CCW_CW(KC_PGDN, KC_PGUP), ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
};
#endif

View file

@ -1,10 +0,0 @@
# pugmajere's Google Meet optimized version of the default keymap
A lightly modified version of the default keymap.
The top row is converted to keys used for muting audio and video in
Google Meet, in both Linux and MacOS. (Yes, they annoyingly have
different conventions.)
The ASCII-art depiction uses "C-E" to mean "ctrl-e", and "M-E" to mean
CMD(GUI) and "e", roughly following Emacs naming conventions.

View file

@ -1,148 +0,0 @@
/* Copyright 2022 HorrorTroll <https://github.com/HorrorTroll>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include QMK_KEYBOARD_H
// OLED animation
#include "./lib/bongocat/bongocat.h"
// Each layer gets a name for readability, which is then used in the keymap matrix below.
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
// Layer names don't all need to be of the same length, obviously, and you can also skip them
// entirely and just use numbers.
enum layer_names {
_BASE,
_FN,
_FN1,
_FN2
};
// enum layer_keycodes { };
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/*
1 2 3 4 Ply TO1
5 6 7 8
9 0 Ent
Mut
Fn2
! @ # $
% ^ & *
( )
*/
/* Row: 0 1 2 3 4 */
[_BASE] = LAYOUT(
KC_1, KC_2, KC_3, KC_4, KC_MPLY,
KC_5, KC_6, KC_7, KC_8, TO(_FN),
KC_9, KC_0, KC_UP, KC_ENT, KC_MUTE,
MO(_FN2), KC_LEFT, KC_DOWN, KC_RIGHT
),
/*
*/
/* Row: 0 1 2 3 4 */
[_FN] = LAYOUT(
_______, _______, _______, _______, _______,
_______, _______, _______, _______, TO(_FN1),
_______, _______, _______, _______, _______,
_______, _______, _______, _______
),
/*
*/
/* Row: 0 1 2 3 4 */
[_FN1] = LAYOUT(
_______, _______, _______, _______, _______,
_______, _______, _______, _______, TO(_FN2),
_______, _______, _______, _______, _______,
_______, _______, _______, _______
),
/*
SpiSpd TO0
SaiSad
TogModHui
VaiHudVad
*/
/* Row: 0 1 2 3 4 */
[_FN2] = LAYOUT(
RGB_SPI, RGB_SPD, _______, QK_BOOT, _______,
RGB_SAI, RGB_SAD, _______, _______, TO(_BASE),
RGB_TOG, RGB_MOD, RGB_HUI, _______, _______,
_______, RGB_VAI, RGB_HUD, RGB_VAD
),
};
#ifdef OLED_ENABLE
bool oled_task_user(void) {
led_t led_usb_state = host_keyboard_led_state();
render_bongocat();
oled_set_cursor(14, 0); // sets cursor to (column, row) using charactar spacing (4 rows on 128x32 screen, anything more will overflow back to the top)
oled_write_P(PSTR("WPM:"), false);
oled_write(get_u8_str(get_current_wpm(), '0'), false); // writes wpm on top right corner of string
oled_set_cursor(17, 2);
oled_write_P(led_usb_state.caps_lock ? PSTR("CAPS") : PSTR(" "), false);
oled_set_cursor(17, 3);
oled_write_P(led_usb_state.scroll_lock ? PSTR("SCRL") : PSTR(" "), false);
return true;
}
#endif
#ifdef ENCODER_MAP_ENABLE
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[_BASE] = { ENCODER_CCW_CW(KC_MPRV, KC_MNXT), ENCODER_CCW_CW(KC_PGDN, KC_PGUP), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[_FN] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
[_FN1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
[_FN2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
};
#endif

View file

@ -1,9 +0,0 @@
SRC += ./lib/bongocat/bongocat.c
VIA_ENABLE = yes
# OLED enabled
WPM_ENABLE = yes
# Encoder enabled
ENCODER_MAP_ENABLE = yes

View file

@ -0,0 +1,77 @@
{
"keyboard_name": "KB19-01",
"manufacturer": "DOIO",
"url": "",
"maintainer": "DOIO2022",
"usb": {
"vid": "0xD010",
"pid": "0x1901",
"device_version": "0.0.1"
},
"diode_direction": "COL2ROW",
"features": {
"bootmagic": true,
"mousekey": true,
"extrakey": true,
"console": false,
"command": false,
"encoder": true,
"nkro": false,
"rgblight": true
},
"matrix_pins": {
"cols": ["B14", "B13", "B12", "B0", "A7"],
"rows": ["B3", "B4", "B9", "B8", "B1"]
},
"ws2812": {
"pin": "A10"
},
"encoder": {
"rotary": [
{"pin_a": "B5", "pin_b": "B6"}
]
},
"rgblight": {
"led_count": 19,
"animations": {
"breathing": true,
"rainbow_mood": true,
"rainbow_swirl": true,
"snake": true,
"knight": true,
"christmas": true,
"static_gradient": true,
"rgb_test": true,
"alternating": true,
"twinkle": true
}
},
"processor": "STM32F103",
"bootloader": "stm32duino",
"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": 5, "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, "h": 2},
{"matrix": [1, 4], "x": 5, "y": 1},
{"matrix": [2, 0], "x": 0, "y": 2},
{"matrix": [2, 1], "x": 1, "y": 2},
{"matrix": [2, 2], "x": 2, "y": 2},
{"matrix": [3, 0], "x": 0, "y": 3},
{"matrix": [3, 1], "x": 1, "y": 3},
{"matrix": [3, 2], "x": 2, "y": 3},
{"matrix": [3, 3], "x": 3, "y": 3, "h": 2},
{"matrix": [4, 0], "x": 0, "y": 4, "w": 2},
{"matrix": [4, 2], "x": 2, "y": 4},
{"matrix": [4, 3], "x": 5, "y": 4}
]
}
}
}

View file

@ -0,0 +1,34 @@
/* Copyright 2022 DOIO
* Copyright 2022 DOIO2022 <https://github.com/DOIO2022>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include QMK_KEYBOARD_H
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT(
KC_NUM, KC_PSLS, KC_PAST, KC_PMNS, RGB_MOD,
KC_P7, KC_P8, KC_P9, KC_PPLS, RGB_TOG,
KC_P4, KC_P5, KC_P6,
KC_P1, KC_P2, KC_P3, KC_PENT,
KC_P0, KC_PDOT, KC_MUTE
)
};
#ifdef ENCODER_MAP_ENABLE
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
};
#endif

View file

@ -1,2 +1 @@
# Encoder enabled
ENCODER_MAP_ENABLE = yes

View file

@ -0,0 +1,34 @@
/* Copyright 2022 DOIO
* Copyright 2022 DOIO2022 <https://github.com/DOIO2022>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include QMK_KEYBOARD_H
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT(
KC_NUM, KC_PSLS, KC_PAST, KC_PMNS, RGB_MOD,
KC_P7, KC_P8, KC_P9, KC_PPLS, RGB_TOG,
KC_P4, KC_P5, KC_P6,
KC_P1, KC_P2, KC_P3, KC_PENT,
KC_P0, KC_PDOT, KC_MUTE
)
};
#ifdef ENCODER_MAP_ENABLE
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
};
#endif

View file

@ -0,0 +1,2 @@
VIA_ENABLE = yes
ENCODER_MAP_ENABLE = yes

View file

@ -0,0 +1,24 @@
# doio/kb19
QMK for DOIO Knob keypad .
* Keyboard Maintainer: DOIO2022
* Hardware Supported: DOIO Knob keypad
Make example for this keyboard (after setting up your build environment):
make doio/kb19:default
Flashing example for this keyboard:
make doio/kb19: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
* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available

View file

@ -0,0 +1 @@
# This file intentionally left blank