aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjack <[email protected]>2022-11-03 12:04:45 -0600
committerjack <[email protected]>2022-11-03 12:04:45 -0600
commit731ae4f105356608ba2f3fceafa2ccef7df53b39 (patch)
tree69b02195967b6780094ce31d29cd95ec97bb53ef
parent1d912b04f911f5a0dde98072206b27ddba3d8ab7 (diff)
downloadqmk_me-731ae4f105356608ba2f3fceafa2ccef7df53b39.tar.gz
qmk_me-731ae4f105356608ba2f3fceafa2ccef7df53b39.zip
other keyboards & keymaps
-rw-r--r--keyboards/leftover30/chconf.h9
-rw-r--r--keyboards/leftover30/config.h21
-rw-r--r--keyboards/leftover30/halconf.h5
-rw-r--r--keyboards/leftover30/keymaps/waffle/keymap.c15
-rw-r--r--keyboards/leftover30/leftover30.c1
-rw-r--r--keyboards/leftover30/leftover30.h18
-rw-r--r--keyboards/leftover30/mcuconf.h6
-rw-r--r--keyboards/leftover30/rules.mk6
-rw-r--r--keyboards/minidox/info.json66
-rw-r--r--keyboards/minidox/keymaps/default/keymap.c15
-rw-r--r--keyboards/minidox/keymaps/waffle/keymap.c21
-rw-r--r--keyboards/minidox/readme.md4
-rw-r--r--keyboards/minidox/rules.mk0
-rw-r--r--keyboards/relic/info.json58
-rw-r--r--keyboards/relic/keymaps/waffle/keymap.c22
-rw-r--r--keyboards/relic/rules.mk0
-rw-r--r--keyboards/vault35/info.json69
-rw-r--r--keyboards/vault35/keymaps/waffle/keymap.c22
-rw-r--r--keyboards/vault35/rules.mk0
-rw-r--r--keymaps/crkbd/chconf.h7
-rw-r--r--keymaps/crkbd/config.h54
-rw-r--r--keymaps/crkbd/halconf.h5
-rw-r--r--keymaps/crkbd/keymap.c144
-rw-r--r--keymaps/crkbd/mcuconf.h6
-rw-r--r--keymaps/crkbd/readme.md2
-rw-r--r--keymaps/crkbd/rules.mk11
-rw-r--r--keymaps/f60/keymap.c26
-rw-r--r--keymaps/ferris/config.h24
-rw-r--r--keymaps/ferris/keymap.c52
-rw-r--r--keymaps/ferris/readme.md4
-rw-r--r--keymaps/ferris/rules.mk4
-rw-r--r--keymaps/kyria/config.h17
-rw-r--r--keymaps/kyria/keymap.c57
-rw-r--r--keymaps/kyria/mcuconf.h8
-rw-r--r--keymaps/kyria/readme.md27
-rw-r--r--keymaps/kyria/rules.mk6
-rw-r--r--keymaps/microdox/config.h17
-rw-r--r--keymaps/microdox/keymap.c39
-rw-r--r--keymaps/microdox/readme.md7
-rw-r--r--keymaps/microdox/rules.mk1
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