diff options
author | jack <[email protected]> | 2022-11-03 12:04:45 -0600 |
---|---|---|
committer | jack <[email protected]> | 2022-11-03 12:04:45 -0600 |
commit | 731ae4f105356608ba2f3fceafa2ccef7df53b39 (patch) | |
tree | 69b02195967b6780094ce31d29cd95ec97bb53ef | |
parent | 1d912b04f911f5a0dde98072206b27ddba3d8ab7 (diff) | |
download | qmk_me-731ae4f105356608ba2f3fceafa2ccef7df53b39.tar.gz qmk_me-731ae4f105356608ba2f3fceafa2ccef7df53b39.zip |
other keyboards & keymaps
40 files changed, 876 insertions, 0 deletions
diff --git a/keyboards/leftover30/chconf.h b/keyboards/leftover30/chconf.h new file mode 100644 index 0000000..558dd84 --- /dev/null +++ b/keyboards/leftover30/chconf.h @@ -0,0 +1,9 @@ +#pragma once + +#define CH_CFG_ST_FREQUENCY 10000 + +#define CH_CFG_OPTIMIZE_SPEED FALSE + +#define CH_CFG_USE_CONDVARS_TIMEOUT FALSE + +#include_next <chconf.h> diff --git a/keyboards/leftover30/config.h b/keyboards/leftover30/config.h new file mode 100644 index 0000000..d775cd3 --- /dev/null +++ b/keyboards/leftover30/config.h @@ -0,0 +1,21 @@ +#pragma once +#define VENDOR_ID 0x6A73 +#define PRODUCT_ID 0x6C6F +#define DEVICE_VER 0x0001 +#define PRODUCT "leftover" + +#define MATRIX_ROWS 4 +#define MATRIX_COLS 11 +#define MATRIX_ROW_PINS { B3, B4, C13, A5 } +#define MATRIX_COL_PINS { A15, B9, B8, B7, B6, B5, C14, C15, F1, F0, A1 } +#define DIODE_DIRECTION COL2ROW + +#define ENCODERS_PAD_A { B12 } +#define ENCODERS_PAD_B { B14 } + +#define RGB_DI_PIN B15 +#define RGBLED_NUM 7 +#define WS2812_SPI SPID2 +#define WS2812_SPI_MOSI_PAL_MODE 0 +#define WS2812_SPI_SCK_PIN B13 +#define WS2812_EXTERNAL_PULLUP diff --git a/keyboards/leftover30/halconf.h b/keyboards/leftover30/halconf.h new file mode 100644 index 0000000..02ef4f6 --- /dev/null +++ b/keyboards/leftover30/halconf.h @@ -0,0 +1,5 @@ +#pragma once + +#define HAL_USE_SPI TRUE + +#include_next <halconf.h> diff --git a/keyboards/leftover30/keymaps/waffle/keymap.c b/keyboards/leftover30/keymaps/waffle/keymap.c new file mode 100644 index 0000000..6c02950 --- /dev/null +++ b/keyboards/leftover30/keymaps/waffle/keymap.c @@ -0,0 +1,15 @@ +#include "waffle.h" +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_BASE] = LAYOUT_waffle( + ___BASE1___, KC_BSPC, + ___BASE2___, + ___BASE3___, + KC_MPLY, KC_NO, LWRSPC, C(S(KC_V)), RWORD + ), + [_LOWER] = LAYOUT_waffle( + ___LOWER1___, KC_DEL, + ___LOWER2___, + ___LOWER3___, + KC_MUTE, KC_TRNS, KC_TRNS, RGB_MOD, RGB_TOG + ) +}; diff --git a/keyboards/leftover30/leftover30.c b/keyboards/leftover30/leftover30.c new file mode 100644 index 0000000..b7b9c32 --- /dev/null +++ b/keyboards/leftover30/leftover30.c @@ -0,0 +1 @@ +#include "leftover30_arm.h" diff --git a/keyboards/leftover30/leftover30.h b/keyboards/leftover30/leftover30.h new file mode 100644 index 0000000..05500ab --- /dev/null +++ b/keyboards/leftover30/leftover30.h @@ -0,0 +1,18 @@ +#pragma once + +#include "quantum.h" + +#define XXX KC_NO + +#define LAYOUT( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k1a, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, \ + k30, k31, k35, k38, k39 \ +) \ +{ \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a }, \ + { k10, k11, k12, k13, k14, k15, k16, k17, k18, XXX, k1a }, \ + { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, XXX }, \ + { k30, k31, XXX, XXX, XXX, k35, XXX, XXX, k38, k39, XXX } \ +} diff --git a/keyboards/leftover30/mcuconf.h b/keyboards/leftover30/mcuconf.h new file mode 100644 index 0000000..2e058f3 --- /dev/null +++ b/keyboards/leftover30/mcuconf.h @@ -0,0 +1,6 @@ +#pragma once + +#include_next <mcuconf.h> + +#undef STM32_SPI_USE_SPI2 +#define STM32_SPI_USE_SPI2 TRUE diff --git a/keyboards/leftover30/rules.mk b/keyboards/leftover30/rules.mk new file mode 100644 index 0000000..9bfb262 --- /dev/null +++ b/keyboards/leftover30/rules.mk @@ -0,0 +1,6 @@ +MCU = STM32F072 +BOOTLOADER = stm32-dfu +RGBLIGHT_ENABLE = yes +WS2812_DRIVER = spi +ENCODER_ENABLE = yes +OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/minidox/info.json b/keyboards/minidox/info.json new file mode 100644 index 0000000..abf4c7e --- /dev/null +++ b/keyboards/minidox/info.json @@ -0,0 +1,66 @@ +{ + "keyboard_name": "minidox", + "development_board": "promicro", + "diode_direction": "COL2ROW", + "matrix_pins": { + "cols": ["F6", "F5", "F4", "B6", "B4"], + "rows": ["F7", "B1", "B3", "B5"] + }, + "usb": { + "vid": "0x6A73", + "pid": "0x6D64", + "device_version": "1.0.0" + }, + "split": { + "enabled": true, + "soft_serial_pin": "D3", + "matrix_pins": { + "right": { + "cols": ["D7", "B4", "B5", "B6", "B2"], + "rows": ["E6", "C6", "D4", "B3"] + } + } + }, + "layouts": { + "LAYOUT_split_3x5_3": { + "layout": [ + { "matrix": [0, 0] }, + { "matrix": [0, 1] }, + { "matrix": [0, 2] }, + { "matrix": [0, 3] }, + { "matrix": [0, 4] }, + { "matrix": [4, 4] }, + { "matrix": [4, 3] }, + { "matrix": [4, 2] }, + { "matrix": [4, 1] }, + { "matrix": [4, 0] }, + { "matrix": [1, 0] }, + { "matrix": [1, 1] }, + { "matrix": [1, 2] }, + { "matrix": [1, 3] }, + { "matrix": [1, 4] }, + { "matrix": [5, 4] }, + { "matrix": [5, 3] }, + { "matrix": [5, 2] }, + { "matrix": [5, 1] }, + { "matrix": [5, 0] }, + { "matrix": [2, 0] }, + { "matrix": [2, 1] }, + { "matrix": [2, 2] }, + { "matrix": [2, 3] }, + { "matrix": [2, 4] }, + { "matrix": [6, 4] }, + { "matrix": [6, 3] }, + { "matrix": [6, 2] }, + { "matrix": [6, 1] }, + { "matrix": [6, 0] }, + { "matrix": [3, 2] }, + { "matrix": [3, 3] }, + { "matrix": [3, 4] }, + { "matrix": [7, 4] }, + { "matrix": [7, 3] }, + { "matrix": [7, 2] } + ] + } + } +} diff --git a/keyboards/minidox/keymaps/default/keymap.c b/keyboards/minidox/keymaps/default/keymap.c new file mode 100644 index 0000000..e354440 --- /dev/null +++ b/keyboards/minidox/keymaps/default/keymap.c @@ -0,0 +1,15 @@ +#include QMK_KEYBOARD_H +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = 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, 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, + MO(1), KC_SPC, KC_MS_L, KC_MS_R, KC_BSPC, MO(2) + ), + [1] = LAYOUT_split_3x5_3( + KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, + KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, + KC_ESC, KC_TAB, KC_CAPS, KC_TILD, KC_GRV, KC_LEFT, KC_UP, KC_DOWN, KC_RGHT, KC_RGUI, + KC_TRNS, KC_SPC, KC_LGUI, KC_PGUP, KC_VOLU, KC_MS_U + ) +}; diff --git a/keyboards/minidox/keymaps/waffle/keymap.c b/keyboards/minidox/keymaps/waffle/keymap.c new file mode 100644 index 0000000..ffe5888 --- /dev/null +++ b/keyboards/minidox/keymaps/waffle/keymap.c @@ -0,0 +1,21 @@ +#include "waffle.h" +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_BASE] = LAYOUT_waffle_3x5( + ___BASE1___, + ___BASE2___, + ___BASE3___, + ___BASE4___ + ), + [_LOWER] = LAYOUT_waffle_3x5( + ___LOWER1___, + ___LOWER2___, + ___LOWER3___, + ___LOWER4___ + ), + [_RAISE] = LAYOUT_waffle_3x5( + ___RAISE1___, + ___RAISE2___, + ___RAISE3___, + ___RAISE4___ + ) +}; diff --git a/keyboards/minidox/readme.md b/keyboards/minidox/readme.md new file mode 100644 index 0000000..5f8e5d3 --- /dev/null +++ b/keyboards/minidox/readme.md @@ -0,0 +1,4 @@ +## handwired minidox +![Front/Top](https://i.imgur.com/E4Pq2g8.jpeg) +![Back](https://i.imgur.com/0zt3L3r.jpeg) +![Inside](https://i.imgur.com/s77FOeB_d.webp?maxwidth=760&fidelity=grand) diff --git a/keyboards/minidox/rules.mk b/keyboards/minidox/rules.mk new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/keyboards/minidox/rules.mk diff --git a/keyboards/relic/info.json b/keyboards/relic/info.json new file mode 100644 index 0000000..079b797 --- /dev/null +++ b/keyboards/relic/info.json @@ -0,0 +1,58 @@ +{ + "keyboard_name": "relic", + "processor": "atmega32u4", + "bootloader": "atmel-dfu", + "diode_direction": "COL2ROW", + "matrix_pins": { + "cols": ["D3", "D5", "B0", "F0", "F1", "F4", "F5", "F6", "C7", "C6", "B4"], + "rows": ["D7", "B2", "B6", "B5"] + }, + "usb": { + "vid": "0x6A73", + "pid": "0x7263", + "device_version": "1.0.0" + }, + "layouts": { + "LAYOUT": { + "layout": [ + {"label": "q", "matrix": [0, 0]}, + {"label": "w", "matrix": [0, 1]}, + {"label": "e", "matrix": [0, 2]}, + {"label": "r", "matrix": [0, 3]}, + {"label": "t", "matrix": [0, 4]}, + {"label": "y", "matrix": [0, 5]}, + {"label": "u", "matrix": [0, 6]}, + {"label": "i", "matrix": [0, 7]}, + {"label": "o", "matrix": [0, 8]}, + {"label": "p", "matrix": [0, 9]}, + {"label": "play", "matrix": [0, 10]}, + {"label": "a", "matrix": [1, 0]}, + {"label": "s", "matrix": [1, 1]}, + {"label": "d", "matrix": [1, 2]}, + {"label": "f", "matrix": [1, 3]}, + {"label": "g", "matrix": [1, 4]}, + {"label": "h", "matrix": [1, 5]}, + {"label": "j", "matrix": [1, 6]}, + {"label": "k", "matrix": [1, 7]}, + {"label": "l", "matrix": [1, 8]}, + {"label": ";", "matrix": [1, 9]}, + {"label": "z", "matrix": [2, 0]}, + {"label": "x", "matrix": [2, 1]}, + {"label": "c", "matrix": [2, 2]}, + {"label": "v", "matrix": [2, 3]}, + {"label": "b", "matrix": [2, 4]}, + {"label": "n", "matrix": [2, 5]}, + {"label": "m", "matrix": [2, 6]}, + {"label": ",", "matrix": [2, 7]}, + {"label": ".", "matrix": [2, 8]}, + {"label": "/", "matrix": [2, 9]}, + {"label": "vol-", "matrix": [3, 0]}, + {"label": "gui", "matrix": [3, 1]}, + {"label": "spc", "matrix": [3, 4]}, + {"label": "bspc", "matrix": [3, 6]}, + {"label": "pste", "matrix": [3, 8]}, + {"label": "vol+", "matrix": [3, 9]} + ] + } + } +} diff --git a/keyboards/relic/keymaps/waffle/keymap.c b/keyboards/relic/keymaps/waffle/keymap.c new file mode 100644 index 0000000..144b999 --- /dev/null +++ b/keyboards/relic/keymaps/waffle/keymap.c @@ -0,0 +1,22 @@ +#include "waffle.h" +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_BASE] = LAYOUT_waffle( + ___BASE1___, PNP, + ___BASE2___, + ___BASE3___, + KC_VOLD, KC_ESC, LWRSPC, RSEBSP, C(S(KC_V)), KC_VOLU + ), + + [_LOWER] = LAYOUT_waffle( + ___LOWER1___, QK_MAKE, + ___LOWER2___, + ___LOWER3___, + KC_TRNS, TABLE1, KC_TRNS, KC_TRNS, TABLE2, KC_TRNS + ), + [_RAISE] = LAYOUT_waffle( + ___RAISE1___, KC_TRNS, + ___RAISE2___, + ___RAISE3___, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ) +}; diff --git a/keyboards/relic/rules.mk b/keyboards/relic/rules.mk new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/keyboards/relic/rules.mk diff --git a/keyboards/vault35/info.json b/keyboards/vault35/info.json new file mode 100644 index 0000000..a375b33 --- /dev/null +++ b/keyboards/vault35/info.json @@ -0,0 +1,69 @@ +{ + "keyboard_name": "Vault35", + "processor": "atmega32u4", + "bootloader": "atmel-dfu", + "diode_direction": "COL2ROW", + "matrix_pins": { + "cols": ["B1", "D3", "F0", "F1", "F4", "F5", "F6", "F7", "C6", "B6", "B5"], + "rows": ["B4", "D4", "B0", "C7"] + }, + "features": { + "rgblight": true + }, + "usb": { + "vid": "0x6A73", + "pid": "0x3335", + "device_version": "1.0.0" + }, + "rgblight": { + "led_count": 12, + "pin": "D5", + "animations": { + "twinkle": true, + "static_gradient": true + } + }, + "layouts": { + "LAYOUT": { + "layout": [ + {"label": "q", "matrix": [0, 0]}, + {"label": "w", "matrix": [0, 1]}, + {"label": "e", "matrix": [0, 2]}, + {"label": "r", "matrix": [0, 3]}, + {"label": "t", "matrix": [0, 4]}, + {"label": "y", "matrix": [0, 5]}, + {"label": "u", "matrix": [0, 6]}, + {"label": "i", "matrix": [0, 7]}, + {"label": "o", "matrix": [0, 8]}, + {"label": "p", "matrix": [0, 9]}, + {"label": "null", "matrix": [0, 10]}, + {"label": "a", "matrix": [1, 0]}, + {"label": "s", "matrix": [1, 1]}, + {"label": "d", "matrix": [1, 2]}, + {"label": "f", "matrix": [1, 3]}, + {"label": "g", "matrix": [1, 4]}, + {"label": "h", "matrix": [1, 5]}, + {"label": "j", "matrix": [1, 6]}, + {"label": "k", "matrix": [1, 7]}, + {"label": "l", "matrix": [1, 8]}, + {"label": ";", "matrix": [1, 9]}, + {"label": "z", "matrix": [2, 0]}, + {"label": "x", "matrix": [2, 1]}, + {"label": "c", "matrix": [2, 2]}, + {"label": "v", "matrix": [2, 3]}, + {"label": "b", "matrix": [2, 4]}, + {"label": "n", "matrix": [2, 5]}, + {"label": "m", "matrix": [2, 6]}, + {"label": ",", "matrix": [2, 7]}, + {"label": ".", "matrix": [2, 8]}, + {"label": "/", "matrix": [2, 9]}, + {"label": "../", "matrix": [3, 1]}, + {"label": "lwr", "matrix": [3, 2]}, + {"label": "spc", "matrix": [3, 3]}, + {"label": "bspc", "matrix": [3, 5]}, + {"label": "rse", "matrix": [3, 6]}, + {"label": "pnp", "matrix": [3, 7]} + ] + } + } +} diff --git a/keyboards/vault35/keymaps/waffle/keymap.c b/keyboards/vault35/keymaps/waffle/keymap.c new file mode 100644 index 0000000..091091e --- /dev/null +++ b/keyboards/vault35/keymaps/waffle/keymap.c @@ -0,0 +1,22 @@ +#include "waffle.h" +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_BASE] = LAYOUT_waffle( + ___BASE1___, KC_NO, + ___BASE2___, + ___BASE3___, + ___BASE4___ + ), + + [_LOWER] = LAYOUT_waffle( + ___LOWER1___, KC_NO, + ___LOWER2___, + ___LOWER3___, + ___LOWER4___ + ), + [_RAISE] = LAYOUT_waffle( + ___RAISE1___, KC_NO, + ___RAISE2___, + ___RAISE3___, + ___RAISE4___ + ) +}; diff --git a/keyboards/vault35/rules.mk b/keyboards/vault35/rules.mk new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/keyboards/vault35/rules.mk diff --git a/keymaps/crkbd/chconf.h b/keymaps/crkbd/chconf.h new file mode 100644 index 0000000..2041f2e --- /dev/null +++ b/keymaps/crkbd/chconf.h @@ -0,0 +1,7 @@ +#define CH_CFG_ST_RESOLUTION 16 +#define CH_CFG_ST_FREQUENCY 10000 +#if __has_include("platforms/chibios/common/configs/chconf.h") +# include_next "platforms/chibios/common/configs/chconf.h" +#else +# include_next "chconf.h" +#endif diff --git a/keymaps/crkbd/config.h b/keymaps/crkbd/config.h new file mode 100644 index 0000000..6025b92 --- /dev/null +++ b/keymaps/crkbd/config.h @@ -0,0 +1,54 @@ +#pragma once + +#undef SOFT_SERIAL_PIN +#define SOFT_SERIAL_PIN D3 +#define CRC8_USE_TABLE +#define CRC8_OPTIMIZE_SPEED +#define SERIAL_USART_SPEED 921600 +#define SERIAL_USART_DRIVER SD1 +#define SERIAL_USART_TX_PAL_MODE 7 + +#ifdef OLED_ENABLE +# define LAYER_ANIM +# define BONGO_CAT +# define FELIX_DOG +#endif + +#ifdef RGB_MATRIX_ENABLE +# undef RGB_DI_PIN +# define RGB_DI_PIN B5 +# define ENABLE_RGB_MATRIX_ALPHAS_MODS +# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT +# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL +# define ENABLE_RGB_MATRIX_RAINDROPS +# define ENABLE_RGB_MATRIX_FRAMEBUFFER_EFFECTS +# define ENABLE_RGB_MATRIX_TYPING_HEATMAP +# define ENABLE_RGB_MATRIX_KEYPRESSES +# define ENABLE_RGB_MATRIX_SOLID_REACTIVE +# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH +# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS +# define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_ALPHAS_MODS +# define RGB_DISABLE_WHEN_USB_SUSPENDED +# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 +# define WS2812_PWM_DRIVER PWMD3 +# define WS2812_PWM_CHANNEL 3 +# define WS2812_PWM_PAL_MODE 2 +# define WS2812_DMA_STREAM STM32_DMA1_STREAM3 +# define WS2812_DMA_CHANNEL 3 +#endif + +#ifdef ENCODER_ENABLE +# define ENCODERS_PAD_A { B2 } +# define ENCODERS_PAD_B { B6 } +#endif + +#ifdef AUDIO_ENABLE +# define AUDIO_PIN A5 +# define STARTUP_SONG SONG(ODE_TO_JOY) +# define AUDIO_CLICKY +#endif + +#ifdef POINTING_DEVICE_ENABLE +# define SPLIT_POINTING_ENABLE +# define POINTING_DEVICE_RIGHT +#endif diff --git a/keymaps/crkbd/halconf.h b/keymaps/crkbd/halconf.h new file mode 100644 index 0000000..c144217 --- /dev/null +++ b/keymaps/crkbd/halconf.h @@ -0,0 +1,5 @@ +#pragma once +// #define HAL_USE_DAC TRUE +#define HAL_USE_PWM TRUE +#define HAL_USE_SERIAL TRUE +#include_next <halconf.h> diff --git a/keymaps/crkbd/keymap.c b/keymaps/crkbd/keymap.c new file mode 100644 index 0000000..9c82765 --- /dev/null +++ b/keymaps/crkbd/keymap.c @@ -0,0 +1,144 @@ +#include "waffle.h" + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_BASE] = LAYOUT_waffle_3x6( + STAR, ___BASE1___, H_S, + LINKS, ___BASE2___, RWORD, + TABLE1, ___BASE3___, TABLE2, + ___BASE4___ + ), + [_LOWER] = LAYOUT_waffle_3x6( + KC_NO, ___LOWER1___, KC_NO, + KC_NO, ___LOWER2___, KC_NO, + KC_NO, ___LOWER3___, KC_NO, + ___LOWER4___ + ), + [_RAISE] = LAYOUT_waffle_3x6( + KC_NO, ___RAISE1___, KC_NO, + KC_NO, ___RAISE2___, KC_NO, + KC_NO, ___RAISE3___, KC_NO, + ___RAISE4___ + ) +}; + +void housekeeping_task_user(void) { + if (last_input_activity_elapsed() > 5000) { + const pin_t row_pins[] = MATRIX_ROW_PINS, col_pins[] = MATRIX_COL_PINS; + for (int i = 0; i < ARRAY_SIZE(col_pins); ++i) { + setPinOutput(col_pins[i]); + writePinLow(col_pins[i]); + } + for (int i = 0; i < ARRAY_SIZE(row_pins); ++i) { + setPinInputHigh(row_pins[i]); + palEnableLineEvent(row_pins[i], PAL_EVENT_MODE_BOTH_EDGES); + } + __WFI(); + for (int i = 0; i < ARRAY_SIZE(row_pins); ++i) { + palDisableLineEvent(row_pins[i]); + writePinHigh(row_pins[i]); + setPinInputHigh(row_pins[i]); + } + for (int i = 0; i < ARRAY_SIZE(col_pins); ++i) { + writePinHigh(col_pins[i]); + setPinInputHigh(col_pins[i]); + } + } +} + +#ifdef AUDIO_ENABLE +void keyboard_pre_init_user(void) { //thank you to @sigprof for this + palSetLineMode(A5, PAL_MODE_INPUT_ANALOG); + palSetLineMode(B1, PAL_MODE_INPUT_ANALOG); +} + +void keyboard_post_init_user(void) { + // enable OPAMP1 as A5 → B1 follower + OPAMP3->CSR = OPAMP3_CSR_VMSEL_1 | OPAMP3_CSR_VMSEL_0 | OPAMP3_CSR_VPSEL_0 | OPAMP3_CSR_OPAMP3EN; +} +#endif //audio + +#ifdef OLED_ENABLE +oled_rotation_t oled_init_user(oled_rotation_t rotation) { + if (!is_keyboard_master()) + return 3; + else + return 2; + return rotation; +} + +bool oled_task_keymap(void) { + if (is_keyboard_master()) + layer_anim(); + else { + oled_set_cursor(0, 0); + render_wpm(); + oled_set_cursor(0, 3); + felix(); + oled_set_cursor(0, 7); + render_keyboard(); + oled_set_cursor(0, 9); + layer_status(); + oled_set_cursor(0, 11); + mod_status(get_mods()); + oled_set_cursor(0, 13); + keylock_status(host_keyboard_led_state()); + oled_set_cursor(1, 15); + render_keylogger(); + oled_set_cursor(0, 15); + keylogger_status(); + } + return false; +} +#endif //oled + +#ifdef ENCODER_MAP_ENABLE +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = { + [_BASE] = { { KC_VOLU, KC_VOLD }, { KC_MNXT, KC_MPRV } }, + [_LOWER] = { { RGB_SAI, RGB_SAD }, { RGB_HUI, RGB_HUD } }, + [_RAISE] = { { KC_LEFT, C(KC_RGHT) }, { C(S(KC_TAB)), C(KC_TAB) } } +}; +#endif //encoder map + +#ifdef RGB_MATRIX_ENABLE +void matrix_init_user(void) { + g_led_config = (led_config_t) { { + { 15, 16, 17, 18, 19, 20 }, + { 14, 13, 12, 11, 10, 9 }, + { 3, 4, 5, 6, 7, 8 }, + { NO_LED, NO_LED, NO_LED, 2, 1, 0 }, + { 47, 46, 45, 44, 43, 42 }, + { 36, 37, 38, 39, 40, 41 }, + { 35, 34, 33, 32, 31, 30 }, + { NO_LED, NO_LED, NO_LED, 27, 28, 29 } + }, { + { 95, 63 }, { 85, 39 }, { 85, 21 }, { 85, 4 }, { 68, 2 }, { 68, 19 }, { 68, 37 }, + { 80, 58 }, { 60, 55 }, { 50, 35 }, { 50, 13 }, { 50, 0 }, { 33, 3 }, { 33, 20 }, + { 33, 37 }, { 16, 42 }, { 16, 24 }, { 16, 7 }, { 0, 7 }, { 0, 24 }, { 0, 41 }, + { 85, 16 }, { 50, 13 }, { 16, 20 }, { 16, 38 }, { 50, 48 }, { 85, 52 }, { 129, 63 }, + { 139, 39 }, { 139, 21 }, { 139, 4 }, { 156, 2 }, { 156, 19 }, { 156, 37 }, { 144, 58 }, + { 164, 55 }, { 174, 35 }, { 174, 13 }, { 174, 0 }, { 191, 3 }, { 191, 20 }, { 191, 37 }, + { 208, 42 }, { 208, 24 }, { 208, 7 }, { 224, 7 }, { 224, 24 }, { 224, 41 }, { 139, 16 }, + { 174, 13 }, { 208, 20 }, { 208, 38 }, { 174, 48 }, { 139, 52 }, + }, { + 1, 1, 1, 1, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, + 1, 1, 4, 4, 4, 4, 4, + 2, 2, 2, 2, 2, 2, 1, + 1, 1, 4, 4, 4, 4, 4, + 1, 1, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 1, 2, + 2, 2, 2, 2, 2 + } }; +} + +extern LED_TYPE rgb_matrix_ws2812_array[RGB_MATRIX_LED_COUNT]; +bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { +#ifdef POINTING_DEVICE_ENABLE + pimoroni_trackball_set_rgbw(rgb_matrix_ws2812_array[29].r, rgb_matrix_ws2812_array[29].g, rgb_matrix_ws2812_array[29].b, 0); +#endif + for (uint8_t i = led_min; i <= led_max; i++) + if (g_led_config.flags[i] & LED_FLAG_UNDERGLOW) + rgb_matrix_set_color(i, RGB_YELLOW); + return false; +} +#endif //rgb matrix diff --git a/keymaps/crkbd/mcuconf.h b/keymaps/crkbd/mcuconf.h new file mode 100644 index 0000000..5acc767 --- /dev/null +++ b/keymaps/crkbd/mcuconf.h @@ -0,0 +1,6 @@ +#pragma once +#include_next <mcuconf.h> +#undef STM32_PWM_USE_TIM3 +#define STM32_PWM_USE_TIM3 TRUE +#undef STM32_SERIAL_USE_USART1 +#define STM32_SERIAL_USE_USART1 TRUE diff --git a/keymaps/crkbd/readme.md b/keymaps/crkbd/readme.md new file mode 100644 index 0000000..e1257ea --- /dev/null +++ b/keymaps/crkbd/readme.md @@ -0,0 +1,2 @@ +### [proton-c crkbd](https://github.com/waffle87/waffle_corne) +![img](https://i.imgur.com/ob8D0hY.jpeg) diff --git a/keymaps/crkbd/rules.mk b/keymaps/crkbd/rules.mk new file mode 100644 index 0000000..eef496f --- /dev/null +++ b/keymaps/crkbd/rules.mk @@ -0,0 +1,11 @@ +MCU = STM32F303 +CONVERT_TO = proton_c +SERIAL_DRIVER = usart +WS2812_DRIVER = pwm +OLED_ENABLE = yes +AUDIO_ENABLE = yes +RGB_MATRIX_ENABLE = yes +ENCODER_ENABLE = yes +ENCODER_MAP_ENABLE = yes +POINTING_DEVICE_ENABLE = yes +POINTING_DEVICE_DRIVER = pimoroni_trackball diff --git a/keymaps/f60/keymap.c b/keymaps/f60/keymap.c new file mode 100644 index 0000000..ad77ec7 --- /dev/null +++ b/keymaps/f60/keymap.c @@ -0,0 +1,26 @@ +#include "waffle.h" +#define ___NONE___ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_BASE] = LAYOUT_waffle_60_ts( + KC_DEL, ___NONE___, + _______, ___BASE1___, _______, _______, PNP, + LINKS, ___BASE2___, KC_BSPC, _______, + _______, ___BASE3___, _______, + KC_VOLD, _______, KC_ESC, LWRSPC, PSTRSE, _______, KC_VOLU + ), + [_LOWER] = LAYOUT_waffle_60_ts( + _______, ___NONE___, + _______, ___LOWER1___, _______, _______, _______, + _______, ___LOWER2___, _______, _______, + _______, ___LOWER3___, _______, + _______, _______, _______, _______, _______, _______, _______ + ), + [_RAISE] = LAYOUT_waffle_60_ts( + _______, ___NONE___, + _______, ___RAISE1___, _______, _______, _______, + _______, ___RAISE2___, _______, _______, + _______, ___RAISE3___, _______, + _______, _______, _______, _______, _______, _______, _______ + ) +}; diff --git a/keymaps/ferris/config.h b/keymaps/ferris/config.h new file mode 100644 index 0000000..a317957 --- /dev/null +++ b/keymaps/ferris/config.h @@ -0,0 +1,24 @@ +#pragma once +#define RGB_DI_PIN B0 +#define DRIVER_LED_TOTAL 34 +#define RGB_MATRIX_SPLIT {17,17} +#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS +#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT +#define RGB_MATRIX_KEYPRESSES +#define ENABLE_RGB_MATRIX_SOLID_REACTIVE +#define __ NO_PIN +#undef DIRECT_PINS +#undef DIRECT_PINS_RIGHT +#define DIRECT_PINS { \ + {D7,F7,F6,F5,F4}, \ + {B1,B3,B2,B6,D3}, \ + {D1,D0,D4,C6,E6}, \ + {B4,B5,__,__,__} \ +} +#define DIRECT_PINS_RIGHT { \ + {F4,F5,F6,F7,D7}, \ + {D3,B6,B2,B3,B1}, \ + {E6,C6,D4,D0,D1}, \ + {B5,B4,__,__,__} \ +} diff --git a/keymaps/ferris/keymap.c b/keymaps/ferris/keymap.c new file mode 100644 index 0000000..788cd7f --- /dev/null +++ b/keymaps/ferris/keymap.c @@ -0,0 +1,52 @@ +#include "waffle.h" +#define XX NO_LED + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_BASE] = LAYOUT_waffle( + ___BASE1___, + ___BASE2___, + ___BASE3___, + ESCLWR, KC_SPC, KC_BSPC, PSTRSE + ), + [_LOWER] = LAYOUT_waffle( + ___LOWER1___, + ___LOWER2___, + ___LOWER3___, + KC_NO, KC_NO, KC_NO, PNP + ), + [_RAISE] = LAYOUT_waffle( + ___RAISE1___, + ___RAISE2___, + ___RAISE3___, + UPDIR, KC_NO, KC_NO, KC_NO + ) +}; + +led_config_t g_led_config = {{ + {4, 3, 2, 1, 0 }, + {5, 6, 7, 8, 9 }, + {14, 13, 12, 11, 10}, + {XX, XX, XX, 15, 16}, + {17, 18, 19, 20, 21}, + {26, 25, 24, 23, 22}, + {27, 28, 29, 30, 31}, + {33, 32, XX, XX, XX} +}, { + {72,7}, {54,4}, {36,0}, {18,4}, {0,13}, + {0,27}, {18,18},{36,14},{54,18},{72,21}, + {72,35},{54,32},{36,28},{18,32},{0,41}, + {67,45},{90,62}, + {126,13},{144,4}, {162,0}, {180,4}, {198,7}, + {198,21},{180,18},{162,14},{144,18},{126,27}, + {126,41},{144,32},{162,28},{180,32},{198,35}, + {117,62},{135,45} +}, { + 4,4,4,4,4, + 4,4,4,4,4, + 4,4,4,4,4, + 4,4, + 4,4,4,4,4, + 4,4,4,4,4, + 4,4,4,4,4, + 4,4 +}}; diff --git a/keymaps/ferris/readme.md b/keymaps/ferris/readme.md new file mode 100644 index 0000000..1e54d11 --- /dev/null +++ b/keymaps/ferris/readme.md @@ -0,0 +1,4 @@ +### rgb ferris sweep +![parts](https://i.imgur.com/zKJoYMa.jpeg) +![switches](https://i.imgur.com/ZSEpMGf.jpeg) +![complete](https://i.imgur.com/Op0bU0N.jpeg) diff --git a/keymaps/ferris/rules.mk b/keymaps/ferris/rules.mk new file mode 100644 index 0000000..8b7e3f7 --- /dev/null +++ b/keymaps/ferris/rules.mk @@ -0,0 +1,4 @@ +BOOTLOADER = atmel-dfu +UNICODE_ENABLE = no +RGB_MATRIX_ENABLE = yes +RGB_MATRIX_DRIVER = WS2812 diff --git a/keymaps/kyria/config.h b/keymaps/kyria/config.h new file mode 100644 index 0000000..1f014a6 --- /dev/null +++ b/keymaps/kyria/config.h @@ -0,0 +1,17 @@ +#pragma once +#define WPM_GRAPH +#define I2C_DRIVER I2CD1 +#define SPLIT_POINTING_ENABLE +#define POINTING_DEVICE_RIGHT +#define CIRQUE_PINNACLE_CURVED_OVERLAY +#define CIRQUE_PINNACLE_TAP_ENABLE +#define CIRQUE_PINNACLE_DIAMETER_MM 35 +#define CRC8_USE_TABLE +#define CRC8_OPTIMIZE_SPEED +#ifdef RGBLIGHT_ENABLE +#define RGBLIGHT_EFFECT_STATIC_GRADIENT +#define RGBLIGHT_EFFECT_TWINKLE +#define RGBLIGHT_SLEEP +#define RGBLIGHT_HUE_STEP 5 +#define RGBLIGHT_SAT_STEP 5 +#endif diff --git a/keymaps/kyria/keymap.c b/keymaps/kyria/keymap.c new file mode 100644 index 0000000..cad95a6 --- /dev/null +++ b/keymaps/kyria/keymap.c @@ -0,0 +1,57 @@ +#include "waffle.h" + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_BASE] = LAYOUT_stack_of_waffles( + KC_NO, KC_Q, KC_W, KC_E, KC_R, KC_T, + KC_NO, HRML(KC_A, KC_S, KC_D, KC_F), KC_G, + KC_NO, KC_Z, KC_X, KC_C, KC_V, KC_B, LINKS, KC_NO, + KC_NO, UPDIR, ESCLWR, KC_SPC, KC_NO, + + KC_Y, KC_U, KC_I, KC_O, KC_P, KC_NO, + KC_H, HRMR(KC_J, KC_K, KC_L, KC_SCLN), KC_NO, + KC_NO, KC_MPLY, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_NO, + KC_NO, KC_BSPC, PSTRSE, PNP, KC_NO + ), + + [_LOWER] = LAYOUT_stack_of_waffles( + KC_TRNS, KC_1, KC_2 , KC_3, KC_4, KC_5, + KC_TRNS, HRML(KC_EXLM, KC_AT, KC_HASH, KC_DLR), KC_PERC, + KC_TRNS, KC_TRNS, KC_TAB, KC_CAPS, KC_TILD, KC_GRV, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, H_S, KC_TRNS, + + KC_6, KC_7, KC_8, KC_9, DEG0, KC_TRNS, + KC_CIRC, HRMR(KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN), KC_TRNS, + KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_TRNS, KC_TRNS, + KC_TRNS, STAR, KC_TRNS, KC_TRNS, KC_TRNS + ), + + [_RAISE] = LAYOUT_stack_of_waffles( + KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, + KC_TRNS, KC_TRNS, RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD, + KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, RWORD, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + + KC_NOMODE, KC_SCRIPT, KC_BLOCKS, KC_REGIONAL, QK_MAKE, KC_TRNS, + KC_WIDE, KC_AUSSIE, KC_ZALGO, KC_SUPER, QK_BOOT, KC_TRNS, + KC_TRNS, KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ) +}; + +#ifdef ENCODER_MAP_ENABLE +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = { + [_BASE] = { { KC_VOLU, KC_VOLD }, { KC_MNXT, KC_MPRV } }, + [_LOWER] = { { RGB_SAI, RGB_SAD }, { RGB_HUI, RGB_HUD } }, + [_RAISE] = { { KC_LEFT, C(KC_RGHT) }, { C(S(KC_TAB)), C(KC_TAB) } } +}; +#endif + +#ifdef OLED_ENABLE +bool oled_task_keymap(void) { + if (is_keyboard_left()) { + wpm_graph(); + render_wpm(); + } + return false; +} +#endif diff --git a/keymaps/kyria/mcuconf.h b/keymaps/kyria/mcuconf.h new file mode 100644 index 0000000..96b0b51 --- /dev/null +++ b/keymaps/kyria/mcuconf.h @@ -0,0 +1,8 @@ +// Copyright 2022 QMK +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +#include_next <mcuconf.h> + +#undef RP_I2C_USE_I2C0 +#define RP_I2C_USE_I2C0 TRUE diff --git a/keymaps/kyria/readme.md b/keymaps/kyria/readme.md new file mode 100644 index 0000000..e473b8a --- /dev/null +++ b/keymaps/kyria/readme.md @@ -0,0 +1,27 @@ +### RP2040 Kyria rev2 +![photo](https://i.imgur.com/P0urp7n.jpeg) + +#### parts & notes +* microcontrollers: [boardsource blok](https://boardsource.xyz/store/628b95b494dfa308a6581622) + +blok uses GPIO16/17 for "standard" I2C pins, differing from what's found in [`/platforms/chibios/boards/QMK_PM2040/configs`](https://github.com/qmk/qmk_firmware/tree/develop/platforms/chibios/boards/QMK_PM2040/configs). +this means the following changes are required if using blok: + +`config.h` +```c +#define I2C_DRIVER I2CD1 +``` +`mcuconf.h` +```c +#undef RP_I2C_USE_I2C0 +#define RP_I2C_USE_I2C0 TRUE +``` + +* [35mm cirque trackpad](https://www.mouser.com/ProductDetail/Cirque/TM035035-2024-003?qs=sGAEpiMZZMu3sxpa5v1qrmePy6bg6o9msS9wwvLw9t0%3D) and [holder](https://www.thingiverse.com/thing:5385829) + +to use I2C, R1 resistor must be removed. +luckily, the I2C pins are broken out, as i didn't bother using the FPC connector on the trackpad. +from there, wired trackpad directly to oled header pins on pcb. looks a bit iffy... +![trackpad wiring](https://i.imgur.com/tvLVEe0.jpeg) + +* [pucks](https://splitkb.com/collections/keyboard-parts/products/tenting-puck) and [tripods](https://www.amazon.com/Manfrotto-MP3-BK-Large-Pocket-Support/dp/B00HCAB8MU) for tenting-puck diff --git a/keymaps/kyria/rules.mk b/keymaps/kyria/rules.mk new file mode 100644 index 0000000..38a30b1 --- /dev/null +++ b/keymaps/kyria/rules.mk @@ -0,0 +1,6 @@ +CONVERT_TO = blok +OLED_ENABLE = yes +OLED_DRIVER = SSD1306 +ENCODER_MAP_ENABLE = yes +POINTING_DEVICE_ENABLE = yes +POINTING_DEVICE_DRIVER = cirque_pinnacle_i2c diff --git a/keymaps/microdox/config.h b/keymaps/microdox/config.h new file mode 100644 index 0000000..bb611eb --- /dev/null +++ b/keymaps/microdox/config.h @@ -0,0 +1,17 @@ +#pragma once +#define RGBLED_NUM RGB_MATRIX_LED_COUNT +#define ENABLE_RGB_MATRIX_ALPHAS_MODS +#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT +#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL +#define ENABLE_RGB_MATRIX_RAINDROPS +#define ENABLE_RGB_MATRIX_FRAMEBUFFER_EFFECTS +#define ENABLE_RGB_MATRIX_TYPING_HEATMAP +#define ENABLE_RGB_MATRIX_KEYPRESSES +#define ENABLE_RGB_MATRIX_SOLID_REACTIVE +#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH +#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS +#define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_ALPHAS_MODS +#ifdef OLED_ENABLE +#define BONGO_CAT +#define LAYER_ANIM +#endif diff --git a/keymaps/microdox/keymap.c b/keymaps/microdox/keymap.c new file mode 100644 index 0000000..75af123 --- /dev/null +++ b/keymaps/microdox/keymap.c @@ -0,0 +1,39 @@ +#include "waffle.h" +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_BASE] = LAYOUT_waffle_3x5( + ___BASE1___, + ___BASE2___, + ___BASE3___, + ___BASE4___ + ), + [_LOWER] = LAYOUT_waffle_3x5( + ___LOWER1___, + ___LOWER2___, + ___LOWER3___, + ___LOWER4___ + ), + [_RAISE] = LAYOUT_waffle_3x5( + ___RAISE1___, + ___RAISE2___, + ___RAISE3___, + ___RAISE4___ + ) +}; + +#ifdef OLED_ENABLE +oled_rotation_t oled_init_user(oled_rotation_t rotation) { + if (is_keyboard_master()) + return 0; + else + return 2; + return rotation; +} + +bool oled_task_keymap(void) { + if (is_keyboard_master()) + layer_anim(); + else + render_wpm(); + return false; +} +#endif diff --git a/keymaps/microdox/readme.md b/keymaps/microdox/readme.md new file mode 100644 index 0000000..025c17b --- /dev/null +++ b/keymaps/microdox/readme.md @@ -0,0 +1,7 @@ +### RP2040 Microdox v2 +![photo](https://raw.githubusercontent.com/waffle87/microdox/master/images/mdox.png) + +* microcontrollers: [sparkfun rp2040 pro micro](https://www.sparkfun.com/products/18288) + +only complaint is the added height from the buttons, qwiic connector, & usb-c port, but still seems to work with [low profile sockets](https://www.digikey.com/product-detail/en/mill-max-manufacturing-corp/315-43-164-41-003000/ED4764-64-ND/1212143). +`CONVERT_TO = promicro_rp2040` is all the configuration this keyboard needs thanks to the recent converter work :^) diff --git a/keymaps/microdox/rules.mk b/keymaps/microdox/rules.mk new file mode 100644 index 0000000..cbfafcd --- /dev/null +++ b/keymaps/microdox/rules.mk @@ -0,0 +1 @@ +CONVERT_TO = promicro_rp2040 |