aboutsummaryrefslogtreecommitdiff
path: root/keyboards
diff options
context:
space:
mode:
authorDrashna Jaelre <drashna@live.com>2022-01-30 13:20:33 -0800
committerGitHub <noreply@github.com>2022-01-30 13:20:33 -0800
commit941b1d35b8e40a9c93301a1131ef3f3336fee0b5 (patch)
tree54c8d1ec131d5c8a6e0dd89364a9840b3925fcdd /keyboards
parent3555ee0555c8a9ff8aea2a101ae02a72b0e76076 (diff)
downloadqmk_firmware-941b1d35b8e40a9c93301a1131ef3f3336fee0b5.tar.gz
qmk_firmware-941b1d35b8e40a9c93301a1131ef3f3336fee0b5.zip
[Keymap] Add oled improvements and cnano keymap for drashna (#16133)
Diffstat (limited to 'keyboards')
-rw-r--r--keyboards/bastardkb/charybdis/3x5/keymaps/drashna/chconf.h38
-rw-r--r--keyboards/bastardkb/charybdis/3x5/keymaps/drashna/config.h109
-rw-r--r--keyboards/bastardkb/charybdis/3x5/keymaps/drashna/halconf.h26
-rw-r--r--keyboards/bastardkb/charybdis/3x5/keymaps/drashna/keymap.c100
-rw-r--r--keyboards/bastardkb/charybdis/3x5/keymaps/drashna/mcuconf.h55
-rw-r--r--keyboards/bastardkb/charybdis/3x5/keymaps/drashna/rules.mk22
-rw-r--r--keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/config.h4
-rw-r--r--keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/keymap.c52
-rw-r--r--keyboards/splitkb/kyria/keymaps/drashna/config.h13
-rw-r--r--keyboards/splitkb/kyria/keymaps/drashna/keymap.c27
-rw-r--r--keyboards/splitkb/kyria/keymaps/drashna/rules.mk2
11 files changed, 437 insertions, 11 deletions
diff --git a/keyboards/bastardkb/charybdis/3x5/keymaps/drashna/chconf.h b/keyboards/bastardkb/charybdis/3x5/keymaps/drashna/chconf.h
new file mode 100644
index 000000000..8b55eaeef
--- /dev/null
+++ b/keyboards/bastardkb/charybdis/3x5/keymaps/drashna/chconf.h
@@ -0,0 +1,38 @@
1/* Copyright 2020 QMK
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17/*
18 * This file was auto-generated by:
19 * `qmk chibios-confmigrate -i keyboards/handwired/onekey/blackpill_f411/chconf.h -r platforms/chibios/common/configs/chconf.h`
20 */
21
22#pragma once
23
24#define CH_CFG_ST_FREQUENCY 10000
25
26#define CH_CFG_FACTORY_OBJECTS_REGISTRY TRUE
27
28#define CH_CFG_FACTORY_GENERIC_BUFFERS TRUE
29
30#define CH_CFG_FACTORY_SEMAPHORES TRUE
31
32#define CH_CFG_FACTORY_MAILBOXES TRUE
33
34#define CH_CFG_FACTORY_OBJ_FIFOS TRUE
35
36#define CH_CFG_FACTORY_PIPES TRUE
37
38#include_next <chconf.h>
diff --git a/keyboards/bastardkb/charybdis/3x5/keymaps/drashna/config.h b/keyboards/bastardkb/charybdis/3x5/keymaps/drashna/config.h
new file mode 100644
index 000000000..4633db2fc
--- /dev/null
+++ b/keyboards/bastardkb/charybdis/3x5/keymaps/drashna/config.h
@@ -0,0 +1,109 @@
1/*
2
3Copyright 2021 Quentin LEBASTARD <qlebastard@gmail.com>
4
5This program is free software: you can redistribute it and/or modify
6it under the terms of the GNU General Public License as published by
7the Free Software Foundation, either version 2 of the License, or
8(at your option) any later version.
9
10This program is distributed in the hope that it will be useful,
11but WITHOUT ANY WARRANTY; without even the implied warranty of
12MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13GNU General Public License for more details.
14
15You should have received a copy of the GNU General Public License
16along with this program. If not, see <http://www.gnu.org/licenses/>.
17*/
18
19#pragma once
20
21#undef PRODUCT
22#define PRODUCT Charybdis Nano (Blackpill)
23
24#undef MATRIX_ROW_PINS
25#define MATRIX_ROW_PINS \
26 { B12, B13, B14, B15 }
27#undef MATRIX_COL_PINS
28#define MATRIX_COL_PINS \
29 { A15, B3, B4, B5, B6 }
30
31
32#undef MATRIX_ROW_PINS_RIGHT
33#define MATRIX_ROW_PINS_RIGHT \
34 { B12, B13, B14, B15 }
35#undef MATRIX_COL_PINS_RIGHT
36#define MATRIX_COL_PINS_RIGHT \
37 { A15, B3, B4, B5, B6 }
38
39#define USB_VBUS_PIN B10
40#define SPLIT_HAND_PIN C14 // high = left, low = right
41
42// WS2812 RGB LED strip input and number of LEDs
43#undef RGB_DI_PIN
44#define RGB_DI_PIN A1
45#undef RGB_MATRIX_MAXIMUM_BRIGHTNESS
46#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150
47#define WS2812_PWM_DRIVER PWMD2 // default: PWMD2
48#define WS2812_PWM_CHANNEL 2 // default: 2
49#define WS2812_PWM_PAL_MODE 1 // Pin "alternate function", see the respective datasheet for the appropriate values for your MCU. default: 2
50#define WS2812_EXTERNAL_PULLUP
51//#define WS2812_PWM_COMPLEMENTARY_OUTPUT // Define for a complementary timer output (TIMx_CHyN); omit for a normal timer output (TIMx_CHy).
52#define WS2812_DMA_STREAM STM32_DMA1_STREAM7 // DMA Stream for TIMx_UP, see the respective reference manual for the appropriate values for your MCU.
53#define WS2812_DMA_CHANNEL 3 // DMA Channel for TIMx_UP, see the respective reference manual for the appropriate values for your MCU.
54#define WS2812_PWM_TARGET_PERIOD 800000
55
56#define DEBUG_LED_PIN C13
57
58/* Audio config */
59#define AUDIO_PIN B1
60#define AUDIO_PWM_DRIVER PWMD3
61#define AUDIO_PWM_CHANNEL 4
62#define AUDIO_PWM_PAL_MODE 2
63#define AUDIO_STATE_TIMER GPTD4
64
65/* serial.c configuration for split keyboard */
66#undef SOFT_SERIAL_PIN
67#define SERIAL_USART_FULL_DUPLEX // Enable full duplex operation mode.
68#define SERIAL_USART_TX_PIN A2
69#define SERIAL_USART_RX_PIN A3
70#define SERIAL_USART_DRIVER SD2
71#define SERIAL_USART_TX_PAL_MODE 7 // Pin "alternate function", see the respective datasheet for the appropriate values for your MCU. default: 7
72#define SERIAL_USART_RX_PAL_MODE 7 // Pin "alternate function", see the respective datasheet for the appropriate values for your MCU. default: 7
73#define SERIAL_USART_TIMEOUT 100 // USART driver timeout. default 100
74// #define SERIAL_USART_PIN_SWAP // swap RX and TX pins on master
75// To use the highest possible baudrate (3.75Mbit/s) uncomment the following
76// line, this can result in dropped communications so lower the speed if there
77// are many timeouts.
78// #define SERIAL_USART_SPEED (STM32_PCLK2 >> 4)
79
80#define CRC8_USE_TABLE
81#define CRC8_OPTIMIZE_SPEED
82
83/* spi config for eeprom and pmw3360 sensor */
84#define SPI_DRIVER SPID1
85#define SPI_SCK_PIN A5
86#define SPI_SCK_PAL_MODE 5
87#define SPI_MOSI_PIN A7
88#define SPI_MOSI_PAL_MODE 5
89#define SPI_MISO_PIN A6
90#define SPI_MISO_PAL_MODE 5
91
92/* eeprom config */
93#define EXTERNAL_EEPROM_SPI_SLAVE_SELECT_PIN A4
94#define EXTERNAL_EEPROM_SPI_CLOCK_DIVISOR 64
95// #define EXTERNAL_EEPROM_BYTE_COUNT 8196
96// #define EXTERNAL_EEPROM_PAGE_SIZE 32
97// #define EXTERNAL_EEPROM_ADDRESS_SIZE 2
98
99/* pmw3360 config */
100#undef PMW3360_CS_PIN
101#define PMW3360_CS_PIN B0
102#define PMW3360_SPI_MODE 3
103#define PMW3360_SPI_DIVISOR 64
104
105
106# define CHARYBDIS_MINIMUM_DEFAULT_DPI 1200
107# define CHARYBDIS_DEFAULT_DPI_CONFIG_STEP 400
108# define CHARYBDIS_MINIMUM_SNIPING_DPI 200
109# define CHARYBDIS_SNIPING_DPI_CONFIG_STEP 100
diff --git a/keyboards/bastardkb/charybdis/3x5/keymaps/drashna/halconf.h b/keyboards/bastardkb/charybdis/3x5/keymaps/drashna/halconf.h
new file mode 100644
index 000000000..39644726c
--- /dev/null
+++ b/keyboards/bastardkb/charybdis/3x5/keymaps/drashna/halconf.h
@@ -0,0 +1,26 @@
1/* Copyright 2020 Nick Brassel (tzarc)
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 3 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <https://www.gnu.org/licenses/>.
15 */
16#pragma once
17
18#define HAL_USE_PWM TRUE
19#define HAL_USE_SERIAL TRUE
20#define HAL_USE_I2C TRUE
21#define HAL_USE_SPI TRUE
22#define SPI_USE_WAIT TRUE
23#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD
24#define HAL_USE_GPT TRUE
25
26#include_next <halconf.h>
diff --git a/keyboards/bastardkb/charybdis/3x5/keymaps/drashna/keymap.c b/keyboards/bastardkb/charybdis/3x5/keymaps/drashna/keymap.c
new file mode 100644
index 000000000..aba169dbb
--- /dev/null
+++ b/keyboards/bastardkb/charybdis/3x5/keymaps/drashna/keymap.c
@@ -0,0 +1,100 @@
1/*
2 * Copyright 2021 Quentin LEBASTARD <qlebastard@gmail.com>
3 * Copyright 2021 Drashna Jael're @drashna
4 *
5 * This program is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation, either version 2 of the License, or
8 * (at your option) any later version.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License
16 * along with this program. If not, see <http://www.gnu.org/licenses/>.
17 */
18
19#include "drashna.h"
20
21#define LAYOUT_charybdis_3x5_wrapper(...) LAYOUT_charybdis_3x5(__VA_ARGS__)
22#define LAYOUT_charybdis_3x5_base( \
23 K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, \
24 K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, \
25 K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A \
26 ) \
27 LAYOUT_charybdis_3x5 ( \
28 K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, \
29 ALT_T(K11), K12, K13, K14, GUI_T(K15), LGUI_T(K16), K17, K18, K19, LALT_T(K1A), \
30 CTL_T(K21), K22, K23, K24, K25, K26, K27, K28, K29, RCTL_T(K2A), \
31 LSFT_T(KC_GRV), KC_SPC, BK_LWER, DL_RAIS, RSFT_T(KC_ENT) \
32 )
33#define LAYOUT_charybdis_3x5_base_wrapper(...) LAYOUT_charybdis_3x5_base(__VA_ARGS__)
34
35const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
36
37 [_DEFAULT_LAYER_1] = LAYOUT_charybdis_3x5_base_wrapper(
38 _________________QWERTY_L1_________________, _________________QWERTY_R1_________________,
39 _________________QWERTY_L2_________________, _________________QWERTY_R2_________________,
40 _________________QWERTY_L3_________________, _________________QWERTY_R3_________________
41 ),
42
43 [_DEFAULT_LAYER_2] = LAYOUT_charybdis_3x5_base_wrapper(
44 ______________COLEMAK_MOD_DH_L1____________, ______________COLEMAK_MOD_DH_R1____________,
45 ______________COLEMAK_MOD_DH_L2____________, ______________COLEMAK_MOD_DH_R2____________,
46 ______________COLEMAK_MOD_DH_L3____________, ______________COLEMAK_MOD_DH_R3____________
47 ),
48 [_DEFAULT_LAYER_3] = LAYOUT_charybdis_3x5_base_wrapper(
49 _________________COLEMAK_L1________________, _________________COLEMAK_R1________________,
50 _________________COLEMAK_L2________________, _________________COLEMAK_R2________________,
51 _________________COLEMAK_L3________________, _________________COLEMAK_R3________________
52 ),
53
54 [_DEFAULT_LAYER_4] = LAYOUT_charybdis_3x5_base_wrapper(
55 _________________DVORAK_L1_________________, _________________DVORAK_R1_________________,
56 _________________DVORAK_L2_________________, _________________DVORAK_R2_________________,
57 _________________DVORAK_L3_________________, _________________DVORAK_R3_________________
58 ),
59
60 [_MOUSE] = LAYOUT_charybdis_3x5(
61 _______, _______, _______, S_D_MOD, DPI_MOD, KC_WH_U, _______, _______, _______, _______,
62 _______, _______, _______, _______, _______, KC_WH_D, KC_BTN1, KC_BTN3, KC_BTN2, KC_BTN6,
63 _______, _______, _______, S_D_RMOD,DPI_RMOD, KC_BTN7, KC_BTN4, KC_BTN5, KC_BTN8, _______,
64 _______, SNIPING, _______, _______, _______
65 ),
66 [_LOWER] = LAYOUT_charybdis_3x5_wrapper(
67 _________________LOWER_L1__________________, _________________LOWER_R1__________________,
68 _________________LOWER_L2__________________, _________________LOWER_R2__________________,
69 _________________LOWER_L3__________________, _________________LOWER_R3__________________,
70 _______, _______, _______, _______, AUTO_CTN
71 ),
72 [_RAISE] = LAYOUT_charybdis_3x5_wrapper(
73 _________________RAISE_L1__________________, _________________RAISE_R1__________________,
74 _________________RAISE_L2__________________, _________________RAISE_R2__________________,
75 _________________RAISE_L3__________________, _________________RAISE_R3__________________,
76 REBOOT, KEYLOCK, _______, _______, _______
77 ),
78 [_ADJUST] = LAYOUT_charybdis_3x5_wrapper(
79 _________________ADJUST_L1_________________, _________________ADJUST_R1_________________,
80 _________________ADJUST_L2_________________, _________________ADJUST_R2_________________,
81 _________________ADJUST_L3_________________, _________________ADJUST_R3_________________,
82 EEP_RST, KC_NUKE, _______, _______, RESET
83 ),
84};
85
86void matrix_init_keyemap(void) { setPinInputHigh(A0); }
87
88void matrix_scan_keymap(void) {
89 if (!readPin(A0)) {
90 reset_keyboard();
91 }
92}
93
94#ifdef USB_VBUS_PIN
95bool usb_vbus_state(void) {
96 setPinInputLow(USB_VBUS_PIN);
97 wait_us(5);
98 return readPin(USB_VBUS_PIN);
99}
100#endif
diff --git a/keyboards/bastardkb/charybdis/3x5/keymaps/drashna/mcuconf.h b/keyboards/bastardkb/charybdis/3x5/keymaps/drashna/mcuconf.h
new file mode 100644
index 000000000..d868eae48
--- /dev/null
+++ b/keyboards/bastardkb/charybdis/3x5/keymaps/drashna/mcuconf.h
@@ -0,0 +1,55 @@
1/* Copyright 2020 Nick Brassel (tzarc)
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 3 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <https://www.gnu.org/licenses/>.
15 */
16
17#pragma once
18
19#include_next "mcuconf.h"
20
21#undef STM32_I2C_USE_I2C1
22#define STM32_I2C_USE_I2C1 TRUE
23
24#undef STM32_I2C_I2C1_RX_DMA_STREAM
25#define STM32_I2C_I2C1_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 0)
26#undef STM32_I2C_I2C1_TX_DMA_STREAM
27#define STM32_I2C_I2C1_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 1)
28
29#undef STM32_PWM_USE_TIM2
30#define STM32_PWM_USE_TIM2 TRUE
31
32#undef STM32_PWM_USE_TIM3
33#define STM32_PWM_USE_TIM3 TRUE
34
35#undef STM32_SPI_USE_SPI1
36#define STM32_SPI_USE_SPI1 TRUE
37
38#undef STM32_SPI_SPI1_RX_DMA_STREAM
39#define STM32_SPI_SPI1_RX_DMA_STREAM STM32_DMA_STREAM_ID(2, 0)
40#undef STM32_SPI_SPI1_TX_DMA_STREAM
41#define STM32_SPI_SPI1_TX_DMA_STREAM STM32_DMA_STREAM_ID(2, 3)
42
43#undef STM32_SERIAL_USE_USART2
44#define STM32_SERIAL_USE_USART2 TRUE
45
46#undef STM32_UART_USART2_RX_DMA_STREAM
47#define STM32_UART_USART2_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 5)
48#undef STM32_UART_USART2_TX_DMA_STREAM
49#define STM32_UART_USART2_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 6)
50
51#undef STM32_GPT_USE_TIM4
52#define STM32_GPT_USE_TIM4 TRUE
53
54#undef STM32_ST_USE_TIMER
55#define STM32_ST_USE_TIMER 5
diff --git a/keyboards/bastardkb/charybdis/3x5/keymaps/drashna/rules.mk b/keyboards/bastardkb/charybdis/3x5/keymaps/drashna/rules.mk
new file mode 100644
index 000000000..d23bf99aa
--- /dev/null
+++ b/keyboards/bastardkb/charybdis/3x5/keymaps/drashna/rules.mk
@@ -0,0 +1,22 @@
1# MCU name
2MCU = STM32F411
3
4# Bootloader selection
5BOOTLOADER = stm32-dfu
6
7BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
8KEYBOARD_SHARED_EP = yes
9MOUSE_SHARED_EP = yes
10
11EEPROM_DRIVER = spi
12WS2812_DRIVER = pwm
13SERIAL_DRIVER = usart
14AUDIO_DRIVER = pwm_hardware
15
16AUDIO_SUPPORTED = yes
17AUDIO_ENABLE = yes
18MOUSEKEY_ENABLE = yes
19NKRO_ENABLE = yes
20CONSOLE_ENABLE = yes
21
22AUTOCORRECTION_ENABLE = yes
diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/config.h b/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/config.h
index 0b33138ec..c3a30d2bc 100644
--- a/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/config.h
+++ b/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/config.h
@@ -16,9 +16,7 @@
16 16
17#pragma once 17#pragma once
18 18
19#define TRACKBALL_DPI_OPTIONS { 1200, 1800, 2600, 3400 } 19#define DEBOUNCE 45
20
21#define DEBOUNCE 60
22#define ENCODER_DEFAULT_POS 0x3 20#define ENCODER_DEFAULT_POS 0x3
23 21
24#ifdef OLED_DRIVER_SH1107 22#ifdef OLED_DRIVER_SH1107
diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/keymap.c b/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/keymap.c
index b5310b37d..fa1e8897e 100644
--- a/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/keymap.c
+++ b/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/keymap.c
@@ -60,9 +60,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
60 ), 60 ),
61 61
62 [_MOUSE] = LAYOUT_5x6_right( 62 [_MOUSE] = LAYOUT_5x6_right(
63 _______, _______, _______, _______, _______, _______, DPI_CONFIG, _______, _______, _______, _______, _______, 63 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
64 _______, _______, _______, _______, _______, _______, KC_WH_U, _______, _______, _______, _______, _______, 64 _______, _______, _______, _______, _______, _______, KC_WH_U, _______, _______, _______, _______, _______,
65 _______, _______, _______, _______, _______, _______, KC_WH_D, KC_BTN1, KC_BTN3, KC_BTN2, KC_BTN6, _______, 65 _______, _______, _______, _______, _______, _______, KC_WH_D, KC_BTN1, KC_BTN3, KC_BTN2, KC_BTN6, DPI_CONFIG,
66 _______, _______, _______, _______, _______, _______, KC_BTN7, KC_BTN4, KC_BTN5, KC_BTN8, _______, _______, 66 _______, _______, _______, _______, _______, _______, KC_BTN7, KC_BTN4, KC_BTN5, KC_BTN8, _______, _______,
67 _______, _______, _______, _______, 67 _______, _______, _______, _______,
68 _______, _______, KC_BTN3, 68 _______, _______, KC_BTN3,
@@ -70,7 +70,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
70 _______, _______, _______, _______ 70 _______, _______, _______, _______
71 ), 71 ),
72 [_GAMEPAD] = LAYOUT_5x6_right( 72 [_GAMEPAD] = LAYOUT_5x6_right(
73 KC_ESC, KC_NO, KC_1, KC_2, KC_3, KC_4, DPI_CONFIG, _______, _______, _______, _______, _______, 73 KC_ESC, KC_NO, KC_1, KC_2, KC_3, KC_4, _______, _______, _______, _______, _______, _______,
74 KC_F1, KC_K, KC_Q, KC_W, KC_E, KC_R, _______, _______, _______, _______, _______, _______, 74 KC_F1, KC_K, KC_Q, KC_W, KC_E, KC_R, _______, _______, _______, _______, _______, _______,
75 KC_TAB, KC_G, KC_A, KC_S, KC_D, KC_F, _______, _______, _______, _______, _______, _______, 75 KC_TAB, KC_G, KC_A, KC_S, KC_D, KC_F, _______, _______, _______, _______, _______, _______,
76 KC_LCTL, KC_LSFT, KC_Z, KC_X, KC_C, KC_H, _______, _______, _______, _______, _______, _______, 76 KC_LCTL, KC_LSFT, KC_Z, KC_X, KC_C, KC_H, _______, _______, _______, _______, _______, _______,
@@ -145,7 +145,7 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
145 [_MEDIA] = { { _______, _______ }, { _______, _______ } }, 145 [_MEDIA] = { { _______, _______ }, { _______, _______ } },
146 [_RAISE] = { { _______, _______ }, { KC_PGDN, KC_PGUP } }, 146 [_RAISE] = { { _______, _______ }, { KC_PGDN, KC_PGUP } },
147 [_LOWER] = { { RGB_MOD, RGB_RMOD}, { RGB_HUD, RGB_HUI } }, 147 [_LOWER] = { { RGB_MOD, RGB_RMOD}, { RGB_HUD, RGB_HUI } },
148 [_ADJUST] = { { CK_DOWN, CK_UP }, { _______, _F______ } }, 148 [_ADJUST] = { { CK_DOWN, CK_UP }, { _______, _______ } },
149}; 149};
150// clang-format on 150// clang-format on
151#else 151#else
@@ -165,5 +165,49 @@ bool encoder_update_user(uint8_t index, bool clockwise) {
165#endif 165#endif
166 166
167#ifdef OLED_ENABLE 167#ifdef OLED_ENABLE
168extern uint16_t typing_mode;
169
168oled_rotation_t oled_init_keymap(oled_rotation_t rotation) { return OLED_ROTATION_180; } 170oled_rotation_t oled_init_keymap(oled_rotation_t rotation) { return OLED_ROTATION_180; }
171
172void oled_render_large_display(void) {
173 if (is_keyboard_left()) {
174 render_wpm_graph(54, 64);
175 } else {
176 oled_advance_page(true);
177 oled_advance_page(true);
178
179 static const char PROGMEM logo[] = {
180 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, 0x8F, 0x90, 0x91, 0x92, 0x93, 0x94,
181 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xA8, 0xA9, 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF, 0xB0, 0xB1, 0xB2, 0xB3, 0xB4,
182 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, 0xD0, 0xD1, 0xD2, 0xD3, 0xD4, 0x00
183 };
184 oled_write_P(logo, false);
185
186 oled_set_cursor(1, 14);
187 oled_write_ln_P(PSTR("Unicode:"), false);
188 switch (typing_mode) {
189 case KC_WIDE:
190 oled_write_P(PSTR(" Wide"), false);
191 break;
192 case KC_SCRIPT:
193 oled_write_P(PSTR(" Script"), false);
194 break;
195 case KC_BLOCKS:
196 oled_write_P(PSTR(" Blocks"), false);
197 break;
198 case KC_REGIONAL:
199 oled_write_P(PSTR(" Regional"), false);
200 break;
201 case KC_AUSSIE:
202 oled_write_P(PSTR(" Aussie"), false);
203 break;
204 case KC_ZALGO:
205 oled_write_P(PSTR(" Zalgo"), false);
206 break;
207 default:
208 oled_write_P(PSTR(" Normal"), false);
209 break;
210 }
211 }
212}
169#endif 213#endif
diff --git a/keyboards/splitkb/kyria/keymaps/drashna/config.h b/keyboards/splitkb/kyria/keymaps/drashna/config.h
index 8239e28cd..89a162a9b 100644
--- a/keyboards/splitkb/kyria/keymaps/drashna/config.h
+++ b/keyboards/splitkb/kyria/keymaps/drashna/config.h
@@ -19,17 +19,21 @@
19#define EE_HANDS 19#define EE_HANDS
20 20
21#ifdef OLED_ENABLE 21#ifdef OLED_ENABLE
22# define OLED_DISPLAY_128X64 22# ifdef OLED_DRIVER_SH1107
23# undef OLED_DISPLAY_128X64
24# define OLED_DISPLAY_128X128
25# endif
23#endif 26#endif
24 27
25#ifdef RGBLIGHT_ENABLE 28#ifdef RGBLIGHT_ENABLE
26# define RGBLIGHT_SLEEP 29# define RGBLIGHT_SLEEP
27# define RGBLIGHT_LIMIT_VAL 200 30# undef RGBLIGHT_LIMIT_VAL
31# define RGBLIGHT_LIMIT_VAL 120
28# define RGBLIGHT_HUE_STEP 8 32# define RGBLIGHT_HUE_STEP 8
29# define RGBLIGHT_SAT_STEP 8 33# define RGBLIGHT_SAT_STEP 8
30# define RGBLIGHT_VAL_STEP 8 34# define RGBLIGHT_VAL_STEP 8
31# define RGBLIGHT_SPLIT 35# define RGBLIGHT_SPLIT
32// # define RGBLIGHT_LAYERS 36# define RGBLIGHT_LAYERS
33#endif 37#endif
34 38
35#define KEYLOGGER_LENGTH 10 39#define KEYLOGGER_LENGTH 10
@@ -41,3 +45,6 @@
41#define BOOTMAGIC_LITE_COLUMN 7 45#define BOOTMAGIC_LITE_COLUMN 7
42#define BOOTMAGIC_LITE_ROW_RIGHT 4 46#define BOOTMAGIC_LITE_ROW_RIGHT 4
43#define BOOTMAGIC_LITE_COLUMN_RIGHT 7 47#define BOOTMAGIC_LITE_COLUMN_RIGHT 7
48
49#define I2C1_CLOCK_SPEED 400000
50#define I2C1_DUTY_CYCLE FAST_DUTY_CYCLE_2
diff --git a/keyboards/splitkb/kyria/keymaps/drashna/keymap.c b/keyboards/splitkb/kyria/keymaps/drashna/keymap.c
index 1346616b2..41ef4b270 100644
--- a/keyboards/splitkb/kyria/keymaps/drashna/keymap.c
+++ b/keyboards/splitkb/kyria/keymaps/drashna/keymap.c
@@ -121,7 +121,32 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
121// clang-format on 121// clang-format on
122 122
123#ifdef OLED_ENABLE 123#ifdef OLED_ENABLE
124oled_rotation_t oled_init_keymap(oled_rotation_t rotation) { return OLED_ROTATION_180; } 124oled_rotation_t oled_init_keymap(oled_rotation_t rotation) {
125#ifdef OLED_DRIVER_SH1107
126 return OLED_ROTATION_0;
127#else
128 return OLED_ROTATION_180;
129#endif
130}
131
132void oled_render_large_display(void) {
133 if (is_keyboard_left()) {
134 render_wpm_graph(54, 64);
135 } else {
136 static const char PROGMEM kyria_logo[] = {
137 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,128,192,224,240,112,120, 56, 60, 28, 30, 14, 14, 14, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 14, 14, 14, 30, 28, 60, 56,120,112,240,224,192,128,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
138 0, 0, 0, 0, 0, 0, 0,192,224,240,124, 62, 31, 15, 7, 3, 1,128,192,224,240,120, 56, 60, 28, 30, 14, 14, 7, 7,135,231,127, 31,255,255, 31,127,231,135, 7, 7, 14, 14, 30, 28, 60, 56,120,240,224,192,128, 1, 3, 7, 15, 31, 62,124,240,224,192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
139 0, 0, 0, 0,240,252,255, 31, 7, 1, 0, 0,192,240,252,254,255,247,243,177,176, 48, 48, 48, 48, 48, 48, 48,120,254,135, 1, 0, 0,255,255, 0, 0, 1,135,254,120, 48, 48, 48, 48, 48, 48, 48,176,177,243,247,255,254,252,240,192, 0, 0, 1, 7, 31,255,252,240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
140 0, 0, 0,255,255,255, 0, 0, 0, 0, 0,254,255,255, 1, 1, 7, 30,120,225,129,131,131,134,134,140,140,152,152,177,183,254,248,224,255,255,224,248,254,183,177,152,152,140,140,134,134,131,131,129,225,120, 30, 7, 1, 1,255,255,254, 0, 0, 0, 0, 0,255,255,255, 0, 0, 0, 0,255,255, 0, 0,192,192, 48, 48, 0, 0,240,240, 0, 0, 0, 0, 0, 0,240,240, 0, 0,240,240,192,192, 48, 48, 48, 48,192,192, 0, 0, 48, 48,243,243, 0, 0, 0, 0, 0, 0, 48, 48, 48, 48, 48, 48,192,192, 0, 0, 0, 0, 0,
141 0, 0, 0,255,255,255, 0, 0, 0, 0, 0,127,255,255,128,128,224,120, 30,135,129,193,193, 97, 97, 49, 49, 25, 25,141,237,127, 31, 7,255,255, 7, 31,127,237,141, 25, 25, 49, 49, 97, 97,193,193,129,135, 30,120,224,128,128,255,255,127, 0, 0, 0, 0, 0,255,255,255, 0, 0, 0, 0, 63, 63, 3, 3, 12, 12, 48, 48, 0, 0, 0, 0, 51, 51, 51, 51, 51, 51, 15, 15, 0, 0, 63, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 48, 63, 63, 48, 48, 0, 0, 12, 12, 51, 51, 51, 51, 51, 51, 63, 63, 0, 0, 0, 0, 0,
142 0, 0, 0, 0, 15, 63,255,248,224,128, 0, 0, 3, 15, 63,127,255,239,207,141, 13, 12, 12, 12, 12, 12, 12, 12, 30,127,225,128, 0, 0,255,255, 0, 0,128,225,127, 30, 12, 12, 12, 12, 12, 12, 12, 13,141,207,239,255,127, 63, 15, 3, 0, 0,128,224,248,255, 63, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
143 0, 0, 0, 0, 0, 0, 0, 3, 7, 15, 62,124,248,240,224,192,128, 1, 3, 7, 15, 30, 28, 60, 56,120,112,112,224,224,225,231,254,248,255,255,248,254,231,225,224,224,112,112,120, 56, 60, 28, 30, 15, 7, 3, 1,128,192,224,240,248,124, 62, 15, 7, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
144 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 3, 7, 15, 14, 30, 28, 60, 56,120,112,112,112,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,112,112,112,120, 56, 60, 28, 30, 14, 15, 7, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
145 };
146 // clang-format on
147 oled_write_raw_P(kyria_logo, sizeof(kyria_logo));
148 }
149}
125#endif 150#endif
126 151
127#ifdef ENCODER_ENABLE 152#ifdef ENCODER_ENABLE
diff --git a/keyboards/splitkb/kyria/keymaps/drashna/rules.mk b/keyboards/splitkb/kyria/keymaps/drashna/rules.mk
index 3cdfe1bec..ddba0780a 100644
--- a/keyboards/splitkb/kyria/keymaps/drashna/rules.mk
+++ b/keyboards/splitkb/kyria/keymaps/drashna/rules.mk
@@ -20,8 +20,10 @@ ifeq ($(strip $(KEYBOARD)), splitkb/kyria/rev1/proton_c)
20 CTPC = yes 20 CTPC = yes
21 AUTOCORRECTION_ENABLE = yes 21 AUTOCORRECTION_ENABLE = yes
22 CAPS_WORD_ENABLE = yes 22 CAPS_WORD_ENABLE = yes
23 DEBUG_MATRIX_SCAN_RATE_ENABLE = api
23else 24else
24 LTO_ENABLE = yes 25 LTO_ENABLE = yes
25 BOOTLOADER = qmk-hid 26 BOOTLOADER = qmk-hid
26 BOOTLOADER_SIZE = 512 27 BOOTLOADER_SIZE = 512
28 CUSTOM_UNICODE_ENABLE = no
27endif 29endif