aboutsummaryrefslogtreecommitdiff
path: root/keymaps
diff options
context:
space:
mode:
Diffstat (limited to 'keymaps')
-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
21 files changed, 518 insertions, 0 deletions
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