aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--keyboards/crkbd/keymaps/drashna/config.h11
-rw-r--r--keyboards/crkbd/keymaps/drashna/glcdfont.c240
-rw-r--r--keyboards/crkbd/keymaps/drashna/keymap.c123
-rw-r--r--keyboards/crkbd/keymaps/drashna/rules.mk37
-rw-r--r--keyboards/handwired/woodpad/keymaps/drashna/README.md25
-rw-r--r--keyboards/handwired/woodpad/keymaps/drashna/config.h45
-rw-r--r--keyboards/handwired/woodpad/keymaps/drashna/keymap.c95
-rw-r--r--keyboards/handwired/woodpad/keymaps/drashna/rules.mk10
-rw-r--r--keyboards/keebio/iris/keymaps/drashna/config.h8
-rw-r--r--keyboards/keebio/iris/keymaps/drashna/keymap.c11
-rw-r--r--keyboards/keebio/iris/keymaps/drashna/rules.mk5
-rw-r--r--keyboards/keebio/iris/keymaps/drashna_lp/config.h48
-rw-r--r--keyboards/keebio/iris/keymaps/drashna_lp/keymap.c1
-rw-r--r--keyboards/keebio/iris/keymaps/drashna_lp/rules.mk7
-rw-r--r--keyboards/keebio/iris/keymaps/drashna_old/config.h4
-rw-r--r--keyboards/orthodox/keymaps/drashna/config.h5
-rw-r--r--keyboards/orthodox/keymaps/drashna/keymap.c2
-rw-r--r--keyboards/orthodox/keymaps/drashna/rules.mk4
-rw-r--r--layouts/community/ergodox/drashna/config.h1
-rw-r--r--layouts/community/ergodox/drashna/keymap.c16
-rw-r--r--layouts/community/ergodox/drashna/rules.mk3
-rw-r--r--layouts/community/ergodox/drashna_glow/config.h8
-rw-r--r--layouts/community/ergodox/drashna_glow/rules.mk7
-rw-r--r--layouts/community/numpad_5x6/drashna/config.h6
-rw-r--r--layouts/community/numpad_5x6/drashna/rules.mk1
-rw-r--r--layouts/community/ortho_4x12/drashna/config.h13
-rw-r--r--layouts/community/ortho_4x12/drashna/keymap.c2
-rw-r--r--layouts/community/ortho_4x12/drashna/rules.mk12
-rw-r--r--layouts/community/ortho_5x12/drashna/config.h6
-rw-r--r--users/drashna/.gitignore3
-rw-r--r--users/drashna/.gitlab-ci.yml30
-rw-r--r--users/drashna/config.h2
-rw-r--r--users/drashna/drashna.c18
-rw-r--r--users/drashna/drashna.h6
-rw-r--r--users/drashna/process_records.c20
-rw-r--r--users/drashna/process_records.h2
-rw-r--r--users/drashna/rgb_stuff.c25
-rw-r--r--users/drashna/rules.mk7
38 files changed, 569 insertions, 300 deletions
diff --git a/keyboards/crkbd/keymaps/drashna/config.h b/keyboards/crkbd/keymaps/drashna/config.h
index cbc3feeb6..6f2665f3a 100644
--- a/keyboards/crkbd/keymaps/drashna/config.h
+++ b/keyboards/crkbd/keymaps/drashna/config.h
@@ -27,7 +27,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
27// #define MASTER_RIGHT 27// #define MASTER_RIGHT
28#define EE_HANDS 28#define EE_HANDS
29 29
30#define SSD1306OLED 30// #define SSD1306OLED
31 31
32#define USE_SERIAL_PD2 32#define USE_SERIAL_PD2
33 33
@@ -48,3 +48,12 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
48#define B6_AUDIO 48#define B6_AUDIO
49// #define NO_MUSIC_MODE 49// #define NO_MUSIC_MODE
50#endif 50#endif
51
52#undef PRODUCT
53#define PRODUCT Drashna Hacked Corne Keyboard
54
55#define OLED_FONT_H "keyboards/crkbd/keymaps/drashna/glcdfont.c"
56// #define OLED_FONT_WIDTH 5
57// #define OLED_FONT_HEIGHT 7
58
59#define TAPPING_TERM_PER_KEY
diff --git a/keyboards/crkbd/keymaps/drashna/glcdfont.c b/keyboards/crkbd/keymaps/drashna/glcdfont.c
new file mode 100644
index 000000000..28521b428
--- /dev/null
+++ b/keyboards/crkbd/keymaps/drashna/glcdfont.c
@@ -0,0 +1,240 @@
1#pragma once
2
3#ifdef __AVR__
4 #include <avr/io.h>
5 #include <avr/pgmspace.h>
6#elif defined(ESP8266)
7 #include <pgmspace.h>
8#else
9 #define PROGMEM
10#endif
11
12// Helidox 8x6 font with QMK Firmware Logo
13// Online editor: http://teripom.x0.com/
14
15const unsigned char font[] PROGMEM = {
160x00, 0x00, 0x00, 0x00, 0x00, 0x00,
170x3E, 0x5B, 0x4F, 0x5B, 0x3E, 0x00,
180x3E, 0x6B, 0x4F, 0x6B, 0x3E, 0x00,
190x1C, 0x3E, 0x7C, 0x3E, 0x1C, 0x00,
200x18, 0x3C, 0x7E, 0x3C, 0x18, 0x00,
210x1C, 0x57, 0x7D, 0x57, 0x1C, 0x00,
220x1C, 0x5E, 0x7F, 0x5E, 0x1C, 0x00,
230x00, 0x18, 0x3C, 0x18, 0x00, 0x00,
240xFF, 0xE7, 0xC3, 0xE7, 0xFF, 0x00,
250x00, 0x18, 0x24, 0x18, 0x00, 0x00,
260xFF, 0xE7, 0xDB, 0xE7, 0xFF, 0x00,
270x30, 0x48, 0x3A, 0x06, 0x0E, 0x00,
280x26, 0x29, 0x79, 0x29, 0x26, 0x00,
290x40, 0x7F, 0x05, 0x05, 0x07, 0x00,
300x40, 0x7F, 0x05, 0x25, 0x3F, 0x00,
310x5A, 0x3C, 0xE7, 0x3C, 0x5A, 0x00,
320x7F, 0x3E, 0x1C, 0x1C, 0x08, 0x00,
330x08, 0x1C, 0x1C, 0x3E, 0x7F, 0x00,
340x14, 0x22, 0x7F, 0x22, 0x14, 0x00,
350x5F, 0x5F, 0x00, 0x5F, 0x5F, 0x00,
360x06, 0x09, 0x7F, 0x01, 0x7F, 0x00,
370x00, 0x66, 0x89, 0x95, 0x6A, 0x00,
380x60, 0x60, 0x60, 0x60, 0x60, 0x00,
390x94, 0xA2, 0xFF, 0xA2, 0x94, 0x00,
400x08, 0x04, 0x7E, 0x04, 0x08, 0x00,
410x10, 0x20, 0x7E, 0x20, 0x10, 0x00,
420x08, 0x08, 0x2A, 0x1C, 0x08, 0x00,
430x08, 0x1C, 0x2A, 0x08, 0x08, 0x00,
440x1E, 0x10, 0x10, 0x10, 0x10, 0x00,
450x0C, 0x1E, 0x0C, 0x1E, 0x0C, 0x00,
460x30, 0x38, 0x3E, 0x38, 0x30, 0x00,
470x06, 0x0E, 0x3E, 0x0E, 0x06, 0x00,
480x00, 0x00, 0x00, 0x00, 0x00, 0x00,
490x00, 0x00, 0x5F, 0x00, 0x00, 0x00,
500x00, 0x07, 0x00, 0x07, 0x00, 0x00,
510x14, 0x7F, 0x14, 0x7F, 0x14, 0x00,
520x24, 0x2A, 0x7F, 0x2A, 0x12, 0x00,
530x23, 0x13, 0x08, 0x64, 0x62, 0x00,
540x36, 0x49, 0x56, 0x20, 0x50, 0x00,
550x00, 0x08, 0x07, 0x03, 0x00, 0x00,
560x00, 0x1C, 0x22, 0x41, 0x00, 0x00,
570x00, 0x41, 0x22, 0x1C, 0x00, 0x00,
580x2A, 0x1C, 0x7F, 0x1C, 0x2A, 0x00,
590x08, 0x08, 0x3E, 0x08, 0x08, 0x00,
600x00, 0x80, 0x70, 0x30, 0x00, 0x00,
610x08, 0x08, 0x08, 0x08, 0x08, 0x00,
620x00, 0x00, 0x60, 0x60, 0x00, 0x00,
630x20, 0x10, 0x08, 0x04, 0x02, 0x00,
640x3E, 0x51, 0x49, 0x45, 0x3E, 0x00,
650x00, 0x42, 0x7F, 0x40, 0x00, 0x00,
660x72, 0x49, 0x49, 0x49, 0x46, 0x00,
670x21, 0x41, 0x49, 0x4D, 0x33, 0x00,
680x18, 0x14, 0x12, 0x7F, 0x10, 0x00,
690x27, 0x45, 0x45, 0x45, 0x39, 0x00,
700x3C, 0x4A, 0x49, 0x49, 0x31, 0x00,
710x41, 0x21, 0x11, 0x09, 0x07, 0x00,
720x36, 0x49, 0x49, 0x49, 0x36, 0x00,
730x46, 0x49, 0x49, 0x29, 0x1E, 0x00,
740x00, 0x00, 0x14, 0x00, 0x00, 0x00,
750x00, 0x40, 0x34, 0x00, 0x00, 0x00,
760x00, 0x08, 0x14, 0x22, 0x41, 0x00,
770x14, 0x14, 0x14, 0x14, 0x14, 0x00,
780x00, 0x41, 0x22, 0x14, 0x08, 0x00,
790x02, 0x01, 0x59, 0x09, 0x06, 0x00,
800x3E, 0x41, 0x5D, 0x59, 0x4E, 0x00,
810x7C, 0x12, 0x11, 0x12, 0x7C, 0x00,
820x7F, 0x49, 0x49, 0x49, 0x36, 0x00,
830x3E, 0x41, 0x41, 0x41, 0x22, 0x00,
840x7F, 0x41, 0x41, 0x41, 0x3E, 0x00,
850x7F, 0x49, 0x49, 0x49, 0x41, 0x00,
860x7F, 0x09, 0x09, 0x09, 0x01, 0x00,
870x3E, 0x41, 0x41, 0x51, 0x73, 0x00,
880x7F, 0x08, 0x08, 0x08, 0x7F, 0x00,
890x00, 0x41, 0x7F, 0x41, 0x00, 0x00,
900x20, 0x40, 0x41, 0x3F, 0x01, 0x00,
910x7F, 0x08, 0x14, 0x22, 0x41, 0x00,
920x7F, 0x40, 0x40, 0x40, 0x40, 0x00,
930x7F, 0x02, 0x1C, 0x02, 0x7F, 0x00,
940x7F, 0x04, 0x08, 0x10, 0x7F, 0x00,
950x3E, 0x41, 0x41, 0x41, 0x3E, 0x00,
960x7F, 0x09, 0x09, 0x09, 0x06, 0x00,
970x3E, 0x41, 0x51, 0x21, 0x5E, 0x00,
980x7F, 0x09, 0x19, 0x29, 0x46, 0x00,
990x26, 0x49, 0x49, 0x49, 0x32, 0x00,
1000x03, 0x01, 0x7F, 0x01, 0x03, 0x00,
1010x3F, 0x40, 0x40, 0x40, 0x3F, 0x00,
1020x1F, 0x20, 0x40, 0x20, 0x1F, 0x00,
1030x3F, 0x40, 0x38, 0x40, 0x3F, 0x00,
1040x63, 0x14, 0x08, 0x14, 0x63, 0x00,
1050x03, 0x04, 0x78, 0x04, 0x03, 0x00,
1060x61, 0x59, 0x49, 0x4D, 0x43, 0x00,
1070x00, 0x7F, 0x41, 0x41, 0x41, 0x00,
1080x02, 0x04, 0x08, 0x10, 0x20, 0x00,
1090x00, 0x41, 0x41, 0x41, 0x7F, 0x00,
1100x04, 0x02, 0x01, 0x02, 0x04, 0x00,
1110x40, 0x40, 0x40, 0x40, 0x40, 0x00,
1120x00, 0x03, 0x07, 0x08, 0x00, 0x00,
1130x20, 0x54, 0x54, 0x78, 0x40, 0x00,
1140x7F, 0x28, 0x44, 0x44, 0x38, 0x00,
1150x38, 0x44, 0x44, 0x44, 0x28, 0x00,
1160x38, 0x44, 0x44, 0x28, 0x7F, 0x00,
1170x38, 0x54, 0x54, 0x54, 0x18, 0x00,
1180x00, 0x08, 0x7E, 0x09, 0x02, 0x00,
1190x18, 0x24, 0x24, 0x1C, 0x78, 0x00,
1200x7F, 0x08, 0x04, 0x04, 0x78, 0x00,
1210x00, 0x44, 0x7D, 0x40, 0x00, 0x00,
1220x20, 0x40, 0x40, 0x3D, 0x00, 0x00,
1230x7F, 0x10, 0x28, 0x44, 0x00, 0x00,
1240x00, 0x41, 0x7F, 0x40, 0x00, 0x00,
1250x7C, 0x04, 0x78, 0x04, 0x78, 0x00,
1260x7C, 0x08, 0x04, 0x04, 0x78, 0x00,
1270x38, 0x44, 0x44, 0x44, 0x38, 0x00,
1280x7C, 0x18, 0x24, 0x24, 0x18, 0x00,
1290x18, 0x24, 0x24, 0x18, 0x7C, 0x00,
1300x7C, 0x08, 0x04, 0x04, 0x08, 0x00,
1310x48, 0x54, 0x54, 0x54, 0x24, 0x00,
1320x04, 0x04, 0x3F, 0x44, 0x24, 0x00,
1330x3C, 0x40, 0x40, 0x20, 0x7C, 0x00,
1340x1C, 0x20, 0x40, 0x20, 0x1C, 0x00,
1350x3C, 0x40, 0x30, 0x40, 0x3C, 0x00,
1360x44, 0x28, 0x10, 0x28, 0x44, 0x00,
1370x4C, 0x90, 0x90, 0x90, 0x7C, 0x00,
1380x44, 0x64, 0x54, 0x4C, 0x44, 0x00,
1390x00, 0x08, 0x36, 0x41, 0x00, 0x00,
1400x00, 0x00, 0x77, 0x00, 0x00, 0x00,
1410x00, 0x41, 0x36, 0x08, 0x00, 0x00,
1420x02, 0x01, 0x02, 0x04, 0x02, 0x00,
1430x3C, 0x26, 0x23, 0x26, 0x3C, 0x00,
1440x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1450x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1460x00, 0x00, 0x00, 0x00, 0xC0, 0xE0,
1470xF0, 0xF8, 0xF8, 0x18, 0x00, 0xC0,
1480xF0, 0xFC, 0xFE, 0xFF, 0xFF, 0xFF,
1490xFF, 0xFF, 0xFF, 0xFF, 0x7E, 0x00,
1500x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1510x00, 0x00, 0x80, 0xC0, 0xE0, 0xE0,
1520xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0,
1530xC0, 0x80, 0x00, 0x00, 0x00, 0x00,
1540x80, 0xC0, 0xE0, 0xE0, 0xE0, 0xE0,
1550xE0, 0xE0, 0xE0, 0xE0, 0xC0, 0x80,
1560x00, 0x00, 0x00, 0xE0, 0xE0, 0xC0,
1570xC0, 0xE0, 0xE0, 0xE0, 0xE0, 0x00,
1580x00, 0xE0, 0xE0, 0xC0, 0xC0, 0xE0,
1590xE0, 0xE0, 0xE0, 0xE0, 0xC0, 0x80,
1600x00, 0x00, 0x00, 0x00, 0x80, 0xC0,
1610xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0,
1620xE0, 0xE0, 0xC0, 0x80, 0x00, 0x00,
1630x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1640x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1650xE0, 0xF0, 0xF0, 0xF0, 0xE0, 0xEC,
1660xEE, 0xF7, 0xF3, 0x70, 0x20, 0x00,
1670x7C, 0x7C, 0x7C, 0x7E, 0x00, 0x7E,
1680x7E, 0x7E, 0x7F, 0x7F, 0x7F, 0x00,
1690x00, 0x80, 0xC0, 0xE0, 0x7E, 0x5B,
1700x4F, 0x5B, 0xFE, 0xC0, 0x00, 0x00,
1710xC0, 0x00, 0xDC, 0xD7, 0xDE, 0xDE,
1720xDE, 0xD7, 0xDC, 0x00, 0xC0, 0x00,
1730x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1740x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1750x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1760x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1770x00, 0x00, 0x00, 0xF8, 0xFC, 0xFE,
1780xFF, 0xE0, 0x00, 0xFF, 0xFF, 0xFF,
1790xFF, 0xFF, 0xFF, 0x80, 0xFF, 0xFF,
1800xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
1810xFF, 0x1F, 0x07, 0x01, 0x00, 0x00,
1820x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1830x00, 0xFF, 0xFF, 0xFF, 0x81, 0x00,
1840x00, 0x00, 0x00, 0x00, 0x00, 0x81,
1850xC3, 0xC3, 0xC3, 0x00, 0x00, 0xFF,
1860xFF, 0xFF, 0x81, 0x00, 0x00, 0x00,
1870x00, 0x00, 0x00, 0x81, 0xFF, 0xFF,
1880xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF,
1890x01, 0x00, 0x00, 0x00, 0x00, 0x00,
1900x00, 0xFF, 0xFF, 0xFF, 0x01, 0x00,
1910x00, 0x00, 0x00, 0x01, 0xFF, 0xFF,
1920xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF,
1930x9D, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C,
1940x1C, 0x9D, 0xDF, 0xDF, 0xDF, 0x00,
1950x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1960x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1970x0F, 0x1F, 0x3F, 0x7F, 0x7F, 0x7F,
1980x7F, 0x7F, 0x3F, 0x1E, 0x0C, 0x00,
1990x1F, 0x1F, 0x1F, 0x3F, 0x00, 0x3F,
2000x3F, 0x3F, 0x7F, 0x7F, 0x7F, 0x00,
2010x30, 0x7B, 0x7F, 0x78, 0x30, 0x20,
2020x20, 0x30, 0x78, 0x7F, 0x3B, 0x00,
2030x03, 0x00, 0x0F, 0x7F, 0x0F, 0x0F,
2040x0F, 0x7F, 0x0F, 0x00, 0x03, 0x00,
2050x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2060x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2070x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2080x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2090x00, 0x00, 0x00, 0x03, 0x0F, 0x1F,
2100x3F, 0x3F, 0x3F, 0x3F, 0x1F, 0x1F,
2110x3F, 0x3F, 0x7F, 0x7F, 0x7F, 0x3F,
2120x3F, 0x1F, 0x3F, 0x7F, 0x7F, 0x7F,
2130x7F, 0x7C, 0x78, 0x78, 0x38, 0x1C,
2140x0F, 0x00, 0x00, 0x00, 0x00, 0x00,
2150x00, 0x00, 0x01, 0x03, 0x07, 0x07,
2160x07, 0x07, 0x07, 0x07, 0x07, 0x07,
2170x03, 0x01, 0x00, 0x00, 0x00, 0x00,
2180x01, 0x03, 0x07, 0x07, 0x07, 0x07,
2190x07, 0x07, 0x07, 0x07, 0x03, 0x01,
2200x00, 0x00, 0x00, 0x07, 0x07, 0x07,
2210x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2220x00, 0x07, 0x07, 0x07, 0x00, 0x00,
2230x00, 0x00, 0x00, 0x00, 0x07, 0x07,
2240x07, 0x00, 0x00, 0x00, 0x01, 0x03,
2250x07, 0x07, 0x07, 0x07, 0x07, 0x07,
2260x07, 0x07, 0x03, 0x01, 0x00, 0x00,
2270x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2280x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2290x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2300x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2310x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2320x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2330x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2340x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2350x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2360x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2370x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2380x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2390x00, 0x00, 0x00, 0x00, 0x00, 0x00,
240};
diff --git a/keyboards/crkbd/keymaps/drashna/keymap.c b/keyboards/crkbd/keymaps/drashna/keymap.c
index 91f0ebfa2..aaace9483 100644
--- a/keyboards/crkbd/keymaps/drashna/keymap.c
+++ b/keyboards/crkbd/keymaps/drashna/keymap.c
@@ -7,6 +7,9 @@
7#ifdef SSD1306OLED 7#ifdef SSD1306OLED
8 #include "ssd1306.h" 8 #include "ssd1306.h"
9#endif 9#endif
10#ifdef OLED_DRIVER_ENABLE
11 #include "oled_driver.h"
12#endif
10 13
11extern keymap_config_t keymap_config; 14extern keymap_config_t keymap_config;
12extern uint8_t is_master; 15extern uint8_t is_master;
@@ -288,3 +291,123 @@ bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
288} 291}
289 292
290#endif 293#endif
294
295
296#ifdef OLED_DRIVER_ENABLE
297oled_rotation_t oled_init_user(oled_rotation_t rotation) {
298 if (is_master) {
299 return OLED_ROTATION_270;
300 } else {
301 return rotation;
302 }
303}
304
305void render_crkbd_logo(void) {
306 static const char PROGMEM crkbd_logo[] = {
307 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, 0x90, 0x91, 0x92, 0x93, 0x94,
308 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, 0xb0, 0xb1, 0xb2, 0xb3, 0xb4,
309 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 0xd0, 0xd1, 0xd2, 0xd3, 0xd4,
310 0};
311 oled_write_P(crkbd_logo, false);
312}
313
314
315void render_status(void) {
316
317 oled_write_P(PSTR("Layer"), false);
318 switch (biton32(layer_state)) {
319 case 0:
320 oled_write_P(PSTR("Base "), false);
321 break;
322 case _RAISE:
323 oled_write_P(PSTR("Raise"), false);
324 break;
325 case _LOWER:
326 oled_write_P(PSTR("Lower"), false);
327 break;
328 case _ADJUST:
329 oled_write_P(PSTR("Adjst"), false);
330 break;
331 default:
332 oled_write_P(PSTR("Unkn "), false);
333 break;
334 }
335 oled_write_P(PSTR("Lyout"), false);
336 switch (biton32(default_layer_state)) {
337 case _QWERTY:
338 oled_write_P(PSTR("QWRTY"), false);
339 break;
340 case _COLEMAK:
341 oled_write_P(PSTR("COLMK"), false);
342 break;
343 case _DVORAK:
344 oled_write_P(PSTR("DVRAK"), false);
345 break;
346 case _WORKMAN:
347 oled_write_P(PSTR("WRKMN"), false);
348 break;
349 case _NORMAN:
350 oled_write_P(PSTR("NORMN"), false);
351 break;
352 case _MALTRON:
353 oled_write_P(PSTR("MLTRN"), false);
354 break;
355 case _EUCALYN:
356 oled_write_P(PSTR("ECLYN"), false);
357 break;
358 case _CARPLAX:
359 oled_write_P(PSTR("CRPLX"), false);
360 break;
361 }
362
363 uint8_t modifiers = get_mods();
364 uint8_t one_shot = get_oneshot_mods();
365
366 oled_write_P(PSTR("Mods:"), false);
367 oled_write_P( (modifiers & MOD_MASK_CTRL || one_shot & MOD_MASK_CTRL ) ? PSTR(" CTL ") : PSTR(" "), false);
368 oled_write_P( (modifiers & MOD_MASK_GUI || one_shot & MOD_MASK_GUI ) ? PSTR(" GUI ") : PSTR(" "), false);
369 oled_write_P( (modifiers & MOD_MASK_ALT || one_shot & MOD_MASK_ALT ) ? PSTR(" ALT ") : PSTR(" "), false);
370 oled_write_P( (modifiers & MOD_MASK_SHIFT || one_shot & MOD_MASK_SHIFT) ? PSTR(" SFT ") : PSTR(" "), false);
371
372
373 oled_write_P(PSTR("BTMGK"), false);
374 static const char PROGMEM mode_logo[4][4] = {
375 {0x95,0x96,0x0a,0},
376 {0xb5,0xb6,0x0a,0},
377 {0x97,0x98,0x0a,0},
378 {0xb7,0xb8,0x0a,0} };
379
380 if (keymap_config.swap_lalt_lgui != false) {
381 oled_write_P(mode_logo[0], false);
382 oled_write_P(mode_logo[1], false);
383 } else {
384 oled_write_P(mode_logo[2], false);
385 oled_write_P(mode_logo[3], false);
386 }
387
388 uint8_t led_usb_state = host_keyboard_leds();
389 oled_write_P(PSTR("Lock:"), false);
390 oled_write_P(led_usb_state & (1<<USB_LED_NUM_LOCK) ? PSTR(" NUM ") : PSTR(" "), false);
391 oled_write_P(led_usb_state & (1<<USB_LED_CAPS_LOCK) ? PSTR(" CAPS") : PSTR(" "), false);
392 oled_write_P(led_usb_state & (1<<USB_LED_SCROLL_LOCK) ? PSTR(" SCRL") : PSTR(" "), false);
393}
394
395
396void oled_task_user(void) {
397 if (is_master) {
398 render_status(); // Renders the current keyboard state (layer, lock, caps, scroll, etc)
399 } else {
400 render_crkbd_logo();
401 oled_scroll_left(); // Turns on scrolling
402 }
403}
404#endif
405
406uint16_t get_tapping_term(uint16_t keycode) {
407 switch (keycode) {
408 case ALT_T(KC_A):
409 return TAPPING_TERM + 100;
410 default:
411 return TAPPING_TERM;
412 }
413}
diff --git a/keyboards/crkbd/keymaps/drashna/rules.mk b/keyboards/crkbd/keymaps/drashna/rules.mk
index 540534978..a9a705869 100644
--- a/keyboards/crkbd/keymaps/drashna/rules.mk
+++ b/keyboards/crkbd/keymaps/drashna/rules.mk
@@ -3,31 +3,24 @@
3# change to "no" to disable the options, or define them in the Makefile in 3# change to "no" to disable the options, or define them in the Makefile in
4# the appropriate keymap folder that will get included automatically 4# the appropriate keymap folder that will get included automatically
5# 5#
6BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) 6BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
7MOUSEKEY_ENABLE = no # Mouse keys(+4700) 7MOUSEKEY_ENABLE = no # Mouse keys(+4700)
8EXTRAKEY_ENABLE = yes # Audio control and System control(+450) 8EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
9CONSOLE_ENABLE = no # Console for debug(+400) 9CONSOLE_ENABLE = no # Console for debug(+400)
10COMMAND_ENABLE = no # Commands for debug and configuration 10COMMAND_ENABLE = no # Commands for debug and configuration
11NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work 11NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
12BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality 12BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
13MIDI_ENABLE = no # MIDI controls 13MIDI_ENABLE = no # MIDI controls
14AUDIO_ENABLE = no # Audio output on port C6 14AUDIO_ENABLE = no # Audio output on port C6
15UNICODE_ENABLE = no # Unicode 15UNICODE_ENABLE = no # Unicode
16BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID 16BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
17RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight. 17RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight.
18SWAP_HANDS_ENABLE = no # Enable one-hand typing 18SWAP_HANDS_ENABLE = no # Enable one-hand typing
19RGBLIGHT_STARTUP_ANIMATION = yes
19 20
20# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE 21# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
21SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend 22SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
22 23
23BOOTLOADER = qmk-dfu 24BOOTLOADER = qmk-dfu
24 25
25# If you want to change the display of OLED, you need to change here 26OLED_DRIVER_ENABLE = yes
26SRC += ./lib/glcdfont.c \
27 ./lib/logo_reader.c \
28 # ./lib/rgb_state_reader.c \
29 # ./lib/keylogger.c \
30 # ./lib/host_led_state_reader.c \
31 # ./lib/mode_icon_reader.c \
32 # ./lib/layer_state_reader.c \
33 # ./lib/timelogger.c \
diff --git a/keyboards/handwired/woodpad/keymaps/drashna/README.md b/keyboards/handwired/woodpad/keymaps/drashna/README.md
deleted file mode 100644
index f24d2c48f..000000000
--- a/keyboards/handwired/woodpad/keymaps/drashna/README.md
+++ /dev/null
@@ -1,25 +0,0 @@
1Overview
2========
3
4This is my personal Numpad (Woodpad) configuration, and my daily driver.
5
6Most of the code resides in my userspace, rather than here, as I have multiple keyboards.
7
8How to build
9------------
10make handwired/woodpad:drashna:avrdude
11
12Layers
13------
14* NUMLOCK: Num pad, locked to NUM LOCK enabled.
15* NAV: Navigation codes without needing to enable numlock.
16* DIABLO: This contains a Diablo 3 layout, that requires much less reaching or shifting. If Tap Dance is enabled, then it has a "spam" feature. See Userspace for details.
17* MACROS: This layer contains a bunch of macros for spamming chat, with a toggle on what key to open up chat with.
18* MEDIA: Media and RGB commands
19
20All layers have RGB specific indicators, so you can see what layer you're on by the underglow.
21
22Woodpad Specific Code
23---------------------
24
25Aside from my userspace code, this includes LED indications for numlock and macro mode. It also forces NUMLOCK to be enabled.
diff --git a/keyboards/handwired/woodpad/keymaps/drashna/config.h b/keyboards/handwired/woodpad/keymaps/drashna/config.h
deleted file mode 100644
index c4f28034c..000000000
--- a/keyboards/handwired/woodpad/keymaps/drashna/config.h
+++ /dev/null
@@ -1,45 +0,0 @@
1/* Copyright 2017 REPLACE_WITH_YOUR_NAME
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#ifndef CONFIG_USER_H
18#define CONFIG_USER_H
19
20#include QMK_KEYBOARD_CONFIG_H
21
22#if (defined(TAP_DANCE_ENABLE) && !defined(TAPPING_TERM))
23#define TAPPING_TERM 200
24#endif // TAP_DANCE_ENABLE
25
26
27#define B5_AUDIO
28
29
30#ifdef RGBLIGHT_ENABLE
31#define RGB_DI_PIN D3
32#define RGBLED_NUM 14 // Number of LEDs
33#define RGBLIGHT_ANIMATIONS
34#define RGBLIGHT_HUE_STEP 12
35#define RGBLIGHT_SAT_STEP 12
36#define RGBLIGHT_VAL_STEP 12
37#define RGBLIGHT_EFFECT_KNIGHT_LENGTH 4
38#define RGBLIGHT_EFFECT_SNAKE_LENGTH 3
39#define RGBLIGHT_EFFECT_BREATHE_CENTER 1
40#define RGBLIGHT_SLEEP
41#endif // RGBLIGHT_ENABLE
42
43#define FORCE_NKRO
44
45#endif
diff --git a/keyboards/handwired/woodpad/keymaps/drashna/keymap.c b/keyboards/handwired/woodpad/keymaps/drashna/keymap.c
deleted file mode 100644
index 20b4e064e..000000000
--- a/keyboards/handwired/woodpad/keymaps/drashna/keymap.c
+++ /dev/null
@@ -1,95 +0,0 @@
1/* Copyright 2017 REPLACE_WITH_YOUR_NAME
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#include QMK_KEYBOARD_H
17#include "drashna.h"
18
19 // Each layer gets a name for readability, which is then used in the keymap matrix below.
20 // The underscores don't mean anything - you can have a layer called STUFF or any other name.
21 // Layer names don't all need to be of the same length, obviously, and you can also skip them
22 // entirely and just use numbers.
23
24const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
25[_NUMLOCK] = KEYMAP( /* Base */
26 TG(_NAV), TG(_DIABLO), TG(_MACROS), KC_PSLS,\
27 KC_P7, KC_P8, KC_P9, KC_PAST, \
28 KC_P4, KC_P5, KC_P6, KC_PMNS, \
29 KC_P1, KC_P2, KC_P3, KC_PPLS, \
30 LT(_MEDIA,KC_P0), KC_PDOT, KC_COLN, KC_PENT \
31),
32[_NAV] = KEYMAP( /* Base */
33 _______, _______, _______, _______,\
34 KC_HOME, KC_UP, KC_PGUP, _______, \
35 KC_LEFT, XXXXXXX, KC_RIGHT, _______, \
36 KC_END, KC_DOWN, KC_PGDN, _______, \
37 KC_INS, KC_DEL, _______, _______ \
38),
39[_DIABLO] = KEYMAP( /* Base */
40 KC_ESC, _______, XXXXXXX, _______,\
41 KC_S, KC_I, KC_F, KC_M, \
42 KC_1, KC_2, KC_3, KC_4, \
43 KC_D3_1, KC_D3_2, KC_D3_3, KC_D3_4, \
44 XXXXXXX, KC_DIABLO_CLEAR, KC_Q, SFT_T(KC_SPACE) \
45),
46
47[_MACROS] = KEYMAP( /* Base */
48 KC_OVERWATCH, XXXXXXX, _______, XXXXXXX,\
49 KC_JUSTGAME, XXXXXXX, XXXXXXX, KC_C9, \
50 XXXXXXX, XXXXXXX, KC_AIM, KC_GGEZ, \
51 KC_SYMM, KC_TORB, XXXXXXX, KC_GOODGAME, \
52 KC_SALT, KC_MORESALT, KC_SALTHARD, KC_GLHF \
53),
54[_MEDIA] = KEYMAP( /* Base */
55 KC_RESET, KC_MUTE, KC_VOLD, KC_VOLU,\
56 KC_MAKE, _______, RGB_HUI, RGB_HUD, \
57 KC_MPLY, KC_MSTP, KC_MPRV, KC_MNXT, \
58 RGB_TOG, RGB_MOD, RGB_SAI, RGB_VAI, \
59 _______, KC_RGB_T, RGB_SAD, RGB_VAD \
60),
61
62};
63
64
65void numlock_led_on(void) {
66 PORTF |= (1 << 7);
67}
68
69void numlock_led_off(void) {
70 PORTF &= ~(1 << 7);
71}
72
73
74
75void matrix_init_keymap(void) {
76 // set Numlock LED to output and low
77 DDRF |= (1 << 7);
78 PORTF &= ~(1 << 7);
79}
80
81void matrix_scan_keymap(void) {
82 numlock_led_off();
83 if ((is_overwatch && biton32(layer_state) == _MACROS) || (biton32(layer_state) == _NUMLOCK)) {
84 numlock_led_on();
85 }
86
87 // Run Diablo 3 macro checking code.
88}
89
90void led_set_keymap(uint8_t usb_led) {
91 if (!(usb_led & (1<<USB_LED_NUM_LOCK))) {
92 register_code(KC_NUMLOCK);
93 unregister_code(KC_NUMLOCK);
94 }
95}
diff --git a/keyboards/handwired/woodpad/keymaps/drashna/rules.mk b/keyboards/handwired/woodpad/keymaps/drashna/rules.mk
deleted file mode 100644
index 7f7f30e2a..000000000
--- a/keyboards/handwired/woodpad/keymaps/drashna/rules.mk
+++ /dev/null
@@ -1,10 +0,0 @@
1TAP_DANCE_ENABLE = yes
2COMMAND_ENABLE = no # Commands for debug and configuration
3RGBLIGHT_ENABLE = yes
4MIDI_ENABLE = no
5CONSOLE_ENABLE = no
6NKRO_ENABLE = yes
7MOUSEKEY_ENABLE = no
8
9EXTRAFLAGS = -flto
10
diff --git a/keyboards/keebio/iris/keymaps/drashna/config.h b/keyboards/keebio/iris/keymaps/drashna/config.h
index dd247a42a..41933b0f3 100644
--- a/keyboards/keebio/iris/keymaps/drashna/config.h
+++ b/keyboards/keebio/iris/keymaps/drashna/config.h
@@ -19,8 +19,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
19 19
20/* Use I2C or Serial, not both */ 20/* Use I2C or Serial, not both */
21 21
22#define USE_SERIAL 22// #define USE_SERIAL
23#undef USE_I2C 23#define USE_I2C
24 24
25/* Select hand configuration */ 25/* Select hand configuration */
26 26
@@ -31,7 +31,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
31#ifdef RGBLIGHT_ENABLE 31#ifdef RGBLIGHT_ENABLE
32#undef RGBLED_NUM 32#undef RGBLED_NUM
33#define RGBLED_NUM 18 // Number of LEDs 33#define RGBLED_NUM 18 // Number of LEDs
34 34#define RGBLED_SPLIT { 9, 9 }
35#define RGBLIGHT_HUE_STEP 12 35#define RGBLIGHT_HUE_STEP 12
36#define RGBLIGHT_SAT_STEP 12 36#define RGBLIGHT_SAT_STEP 12
37#define RGBLIGHT_VAL_STEP 12 37#define RGBLIGHT_VAL_STEP 12
@@ -55,7 +55,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
55#define QMK_SPEAKER C6 55#define QMK_SPEAKER C6
56 56
57#undef PRODUCT 57#undef PRODUCT
58#ifdef KEYBOARD_iris_rev2 58#ifdef KEYBOARD_keebio_iris_rev2
59#define PRODUCT Drashna Hacked Iris Rev.2 59#define PRODUCT Drashna Hacked Iris Rev.2
60#endif 60#endif
61 61
diff --git a/keyboards/keebio/iris/keymaps/drashna/keymap.c b/keyboards/keebio/iris/keymaps/drashna/keymap.c
index 0c3b0d6d4..b306b6928 100644
--- a/keyboards/keebio/iris/keymaps/drashna/keymap.c
+++ b/keyboards/keebio/iris/keymaps/drashna/keymap.c
@@ -121,3 +121,14 @@ void matrix_init_keymap(void) {
121 writePinHigh(B0); 121 writePinHigh(B0);
122 #endif 122 #endif
123} 123}
124
125
126void keyboard_post_init_keymap(void) {
127#if BACKLIGHT_ENABLE
128 backlight_enable();
129 backlight_level(5);
130 #ifdef BACKLIGHT_BREATHING
131 breathing_enable();
132 #endif
133#endif
134}
diff --git a/keyboards/keebio/iris/keymaps/drashna/rules.mk b/keyboards/keebio/iris/keymaps/drashna/rules.mk
index e8035176e..bac5f95f3 100644
--- a/keyboards/keebio/iris/keymaps/drashna/rules.mk
+++ b/keyboards/keebio/iris/keymaps/drashna/rules.mk
@@ -5,13 +5,14 @@ CONSOLE_ENABLE = no # Console for debug(+400)
5COMMAND_ENABLE = no # Commands for debug and configuration 5COMMAND_ENABLE = no # Commands for debug and configuration
6TAP_DANCE_ENABLE = no 6TAP_DANCE_ENABLE = no
7RGBLIGHT_ENABLE = yes 7RGBLIGHT_ENABLE = yes
8AUDIO_ENABLE = yes 8AUDIO_ENABLE = no
9NKRO_ENABLE = yes 9NKRO_ENABLE = yes
10BACKLIGHT_ENABLE = no 10BACKLIGHT_ENABLE = no
11SWAP_HANDS_ENABLE = no 11SWAP_HANDS_ENABLE = no
12 12
13INDICATOR_LIGHTS = yes 13INDICATOR_LIGHTS = no
14MACROS_ENABLED = no 14MACROS_ENABLED = no
15RGBLIGHT_TWINKLE = no 15RGBLIGHT_TWINKLE = no
16RGBLIGHT_STARTUP_ANIMATION = yes
16 17
17BOOTLOADER = qmk-dfu 18BOOTLOADER = qmk-dfu
diff --git a/keyboards/keebio/iris/keymaps/drashna_lp/config.h b/keyboards/keebio/iris/keymaps/drashna_lp/config.h
new file mode 100644
index 000000000..4e2bf729f
--- /dev/null
+++ b/keyboards/keebio/iris/keymaps/drashna_lp/config.h
@@ -0,0 +1,48 @@
1/*
2Copyright 2017 Danny Nguyen <danny@keeb.io>
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17
18#pragma once
19
20/* Use I2C or Serial, not both */
21#include "../drashna/config.h"
22
23#ifdef RGBLIGHT_ENABLE
24#undef RGBLED_NUM
25#define RGBLED_NUM 16 // Number of LEDs
26#undef RGBLED_SPLIT
27#define RGBLED_SPLIT { 8, 8 }
28#endif
29
30#undef PRODUCT
31#ifdef KEYBOARD_keebio_iris_rev2
32#define PRODUCT Drashna Hacked Iris LP Rev.2 (Backlit)
33#endif
34
35#undef SHFT_LED1
36#define SHFT_LED1 5
37#undef SHFT_LED2
38#define SHFT_LED2 10
39
40#undef CTRL_LED1
41#define CTRL_LED1 6
42#undef CTRL_LED2
43#define CTRL_LED2 9
44
45#undef ALT_LED1
46#define ALT_LED1 7
47#undef GUI_LED1
48#define GUI_LED1 8
diff --git a/keyboards/keebio/iris/keymaps/drashna_lp/keymap.c b/keyboards/keebio/iris/keymaps/drashna_lp/keymap.c
new file mode 100644
index 000000000..ff7bd09c0
--- /dev/null
+++ b/keyboards/keebio/iris/keymaps/drashna_lp/keymap.c
@@ -0,0 +1 @@
// placeholder
diff --git a/keyboards/keebio/iris/keymaps/drashna_lp/rules.mk b/keyboards/keebio/iris/keymaps/drashna_lp/rules.mk
new file mode 100644
index 000000000..d3f6f5550
--- /dev/null
+++ b/keyboards/keebio/iris/keymaps/drashna_lp/rules.mk
@@ -0,0 +1,7 @@
1USER_NAME := drashna
2SRC += ../drashna/keymap.c
3
4include $(KEYBOARD_PATH_2)/keymaps/drashna/rules.mk
5
6AUDIO_ENABLE = no
7BACKLIGHT_ENABLE = yes
diff --git a/keyboards/keebio/iris/keymaps/drashna_old/config.h b/keyboards/keebio/iris/keymaps/drashna_old/config.h
index b985c4dfc..1b462d8ca 100644
--- a/keyboards/keebio/iris/keymaps/drashna_old/config.h
+++ b/keyboards/keebio/iris/keymaps/drashna_old/config.h
@@ -23,10 +23,12 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
23#ifdef RGBLIGHT_ENABLE 23#ifdef RGBLIGHT_ENABLE
24#undef RGBLED_NUM 24#undef RGBLED_NUM
25#define RGBLED_NUM 16 // Number of LEDs 25#define RGBLED_NUM 16 // Number of LEDs
26#undef RGBLED_SPLIT
27#define RGBLED_SPLIT { 8, 8 }
26#endif 28#endif
27 29
28#undef PRODUCT 30#undef PRODUCT
29#ifdef KEYBOARD_iris_rev2 31#ifdef KEYBOARD_keebio_iris_rev2
30#define PRODUCT Drashna Hacked Iris Rev.2 (16 LED) 32#define PRODUCT Drashna Hacked Iris Rev.2 (16 LED)
31#endif 33#endif
32 34
diff --git a/keyboards/orthodox/keymaps/drashna/config.h b/keyboards/orthodox/keymaps/drashna/config.h
index a2eaf63c3..1f04d5298 100644
--- a/keyboards/orthodox/keymaps/drashna/config.h
+++ b/keyboards/orthodox/keymaps/drashna/config.h
@@ -23,8 +23,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
23 23
24/* Use I2C or Serial, not both */ 24/* Use I2C or Serial, not both */
25 25
26#define USE_SERIAL 26// #define USE_SERIAL
27#undef USE_I2C 27#define USE_I2C
28 28
29/* Select hand configuration */ 29/* Select hand configuration */
30 30
@@ -41,6 +41,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
41#ifdef RGBLIGHT_ENABLE 41#ifdef RGBLIGHT_ENABLE
42#define RGB_DI_PIN D3 42#define RGB_DI_PIN D3
43#define RGBLED_NUM 16 // Number of LEDs 43#define RGBLED_NUM 16 // Number of LEDs
44#define RGBLED_SPLIT { 8, 8 }
44 45
45#define RGBLIGHT_HUE_STEP 12 46#define RGBLIGHT_HUE_STEP 12
46#define RGBLIGHT_SAT_STEP 12 47#define RGBLIGHT_SAT_STEP 12
diff --git a/keyboards/orthodox/keymaps/drashna/keymap.c b/keyboards/orthodox/keymaps/drashna/keymap.c
index 0f23bd9aa..b1d406905 100644
--- a/keyboards/orthodox/keymaps/drashna/keymap.c
+++ b/keyboards/orthodox/keymaps/drashna/keymap.c
@@ -38,7 +38,7 @@ uint8_t last_osm;
38 ) \ 38 ) \
39 LAYOUT_wrapper( \ 39 LAYOUT_wrapper( \
40 KC_ESC, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, KC_BSPC, \ 40 KC_ESC, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, KC_BSPC, \
41 KC_TAB, K11, K12, K13, K14, K15, OS_LALT, OS_LGUI, OS_RALT, OS_RGUI, K16, K17, K18, K19, K1A, KC_QUOT, \ 41 KC_TAB, K11, K12, K13, K14, K15, OS_LALT, OS_LGUI, OS_RALT, RAISE, K16, K17, K18, K19, K1A, KC_QUOT, \
42 KC_MLSF, CTL_T(K21), K22, K23, K24, K25, LOWER, KC_SPACE,KC_BSPC, KC_DEL, KC_ENT, RAISE, K26, K27, K28, K29, CTL_T(K2A), KC_MRSF \ 42 KC_MLSF, CTL_T(K21), K22, K23, K24, K25, LOWER, KC_SPACE,KC_BSPC, KC_DEL, KC_ENT, RAISE, K26, K27, K28, K29, CTL_T(K2A), KC_MRSF \
43 ) 43 )
44#define LAYOUT_orthodox_base_wrapper(...) LAYOUT_orthodox_base(__VA_ARGS__) 44#define LAYOUT_orthodox_base_wrapper(...) LAYOUT_orthodox_base(__VA_ARGS__)
diff --git a/keyboards/orthodox/keymaps/drashna/rules.mk b/keyboards/orthodox/keymaps/drashna/rules.mk
index a826c664a..fdbfc94c9 100644
--- a/keyboards/orthodox/keymaps/drashna/rules.mk
+++ b/keyboards/orthodox/keymaps/drashna/rules.mk
@@ -5,11 +5,13 @@ CONSOLE_ENABLE = no # Console for debug(+400)
5COMMAND_ENABLE = no # Commands for debug and configuration 5COMMAND_ENABLE = no # Commands for debug and configuration
6TAP_DANCE_ENABLE = no 6TAP_DANCE_ENABLE = no
7RGBLIGHT_ENABLE = yes 7RGBLIGHT_ENABLE = yes
8AUDIO_ENABLE = yes 8AUDIO_ENABLE = no
9NKRO_ENABLE = yes 9NKRO_ENABLE = yes
10 10
11INDICATOR_LIGHTS = yes 11INDICATOR_LIGHTS = yes
12MACROS_ENABLED = no 12MACROS_ENABLED = no
13RGBLIGHT_TWINKLE = no 13RGBLIGHT_TWINKLE = no
14RGBLIGHT_STARTUP_ANIMATION = yes
15
14 16
15BOOTLOADER = qmk-dfu 17BOOTLOADER = qmk-dfu
diff --git a/layouts/community/ergodox/drashna/config.h b/layouts/community/ergodox/drashna/config.h
index 089441e52..7b2ad4fa1 100644
--- a/layouts/community/ergodox/drashna/config.h
+++ b/layouts/community/ergodox/drashna/config.h
@@ -14,4 +14,3 @@
14#define PRODUCT DrashnaDox - Hacked ErgoDox EZ Shine 14#define PRODUCT DrashnaDox - Hacked ErgoDox EZ Shine
15 15
16#undef DEBOUNCE 16#undef DEBOUNCE
17#define DEBOUNCE 5
diff --git a/layouts/community/ergodox/drashna/keymap.c b/layouts/community/ergodox/drashna/keymap.c
index 428706e2d..e7f43ad66 100644
--- a/layouts/community/ergodox/drashna/keymap.c
+++ b/layouts/community/ergodox/drashna/keymap.c
@@ -44,10 +44,10 @@ bool skip_leds = false;
44 KC_TAB, K01, K02, K03, K04, K05, TG(_DIABLO), TG(_DIABLO), K06, K07, K08, K09, K0A, KC_BSLS, \ 44 KC_TAB, K01, K02, K03, K04, K05, TG(_DIABLO), TG(_DIABLO), K06, K07, K08, K09, K0A, KC_BSLS, \
45 KC_C1R3, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, KC_QUOT, \ 45 KC_C1R3, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, KC_QUOT, \
46 KC_MLSF, CTL_T(K21), K22, K23, K24, K25, TG(_GAMEPAD), TG(_GAMEPAD), K26, K27, K28, K29, CTL_T(K2A), KC_MRSF, \ 46 KC_MLSF, CTL_T(K21), K22, K23, K24, K25, TG(_GAMEPAD), TG(_GAMEPAD), K26, K27, K28, K29, CTL_T(K2A), KC_MRSF, \
47 KC_GRV, OS_MEH, OS_HYPR, KC_LBRC, KC_RBRC, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, UC(0x2E2E), \ 47 KC_GRV, OS_MEH, OS_HYPR, KC_LBRC, KC_RBRC, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, UC(0x2E2E), \
48 OS_LALT, OS_LGUI, OS_RGUI, CTL_T(KC_ESCAPE), \ 48 OS_LALT, OS_LGUI, OS_RGUI, CTL_T(KC_ESCAPE), \
49 KC_HOME, KC_PGUP, \ 49 KC_APP, KC_MENU, \
50 LT(_LOWER, KC_SPACE),KC_BSPC, KC_END, KC_PGDN, KC_DEL, LT(_RAISE, KC_ENTER) \ 50 KC_SPC, LT(_LOWER, KC_BSPC), OS_LWR, OS_RSE, LT(_RAISE, KC_DEL), KC_ENT \
51 ) 51 )
52 52
53#define LAYOUT_ergodox_pretty_base_wrapper(...) LAYOUT_ergodox_pretty_base(__VA_ARGS__) 53#define LAYOUT_ergodox_pretty_base_wrapper(...) LAYOUT_ergodox_pretty_base(__VA_ARGS__)
@@ -270,8 +270,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
270 270
271 [_LOWER] = LAYOUT_ergodox_pretty_wrapper( 271 [_LOWER] = LAYOUT_ergodox_pretty_wrapper(
272 KC_F12, _________________FUNC_LEFT_________________, _______, _______, _________________FUNC_RIGHT________________, KC_F11, 272 KC_F12, _________________FUNC_LEFT_________________, _______, _______, _________________FUNC_RIGHT________________, KC_F11,
273 KC_TILD, _________________LOWER_L1__________________, _______, _______, _________________LOWER_R1__________________, _______, 273 KC_TILD, _________________LOWER_L1__________________, _______, _______, _________________LOWER_R1__________________, KC_PIPE,
274 _______, ___________________BLANK___________________, _________________LOWER_R2__________________, KC_PIPE, 274 _______, ___________________BLANK___________________, _________________LOWER_R2__________________, KC_DQUO,
275 _______, ___________________BLANK___________________, _______, _______, _________________LOWER_R3__________________, KC_PSCR, 275 _______, ___________________BLANK___________________, _______, _______, _________________LOWER_R3__________________, KC_PSCR,
276 _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PAUS, 276 _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PAUS,
277 _______, _______, _______, _______, 277 _______, _______, _______, _______,
@@ -281,8 +281,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
281 281
282 [_RAISE] = LAYOUT_ergodox_pretty_wrapper( 282 [_RAISE] = LAYOUT_ergodox_pretty_wrapper(
283 KC_F12, _________________FUNC_LEFT_________________, _______, _______, _________________FUNC_RIGHT________________, KC_F11, 283 KC_F12, _________________FUNC_LEFT_________________, _______, _______, _________________FUNC_RIGHT________________, KC_F11,
284 KC_GRV, _________________RAISE_L1__________________, _______, _______, _________________RAISE_R1__________________, _______, 284 KC_GRV, _________________RAISE_L1__________________, _______, _______, _________________RAISE_R1__________________, KC_BSLS,
285 _______, _________________RAISE_L2__________________, _________________RAISE_R2__________________, KC_BSLS, 285 _______, _________________RAISE_L2__________________, _________________RAISE_R2__________________, KC_QUOT,
286 _______, _________________RAISE_L3__________________, _______, _______, _________________RAISE_R3__________________, KC_PSCR, 286 _______, _________________RAISE_L3__________________, _______, _______, _________________RAISE_R3__________________, KC_PSCR,
287 _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_SLCK, 287 _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_SLCK,
288 _______, _______, _______, _______, 288 _______, _______, _______, _______,
diff --git a/layouts/community/ergodox/drashna/rules.mk b/layouts/community/ergodox/drashna/rules.mk
index 31488108b..ee231321e 100644
--- a/layouts/community/ergodox/drashna/rules.mk
+++ b/layouts/community/ergodox/drashna/rules.mk
@@ -14,3 +14,6 @@ UNICDOEMAP_ENABLE = no
14MACROS_ENABLED = no 14MACROS_ENABLED = no
15RGBLIGHT_TWINKLE = no 15RGBLIGHT_TWINKLE = no
16INDICATOR_LIGHTS = no 16INDICATOR_LIGHTS = no
17RGBLIGHT_STARTUP_ANIMATION = yes
18
19DEBOUNCE_TYPE = eager_pk
diff --git a/layouts/community/ergodox/drashna_glow/config.h b/layouts/community/ergodox/drashna_glow/config.h
index a10c4bb29..e2d959426 100644
--- a/layouts/community/ergodox/drashna_glow/config.h
+++ b/layouts/community/ergodox/drashna_glow/config.h
@@ -5,17 +5,11 @@
5#undef PRODUCT 5#undef PRODUCT
6#define PRODUCT DrashnaDox - Hacked ErgoDox EZ Glow 6#define PRODUCT DrashnaDox - Hacked ErgoDox EZ Glow
7 7
8#undef DEBOUNCE
9#define DEBOUNCE 5
10
11#ifdef RGB_MATRIX_ENABLE 8#ifdef RGB_MATRIX_ENABLE
12// #define RGB_MATRIX_KEYPRESSES // reacts to keypresses (will slow down matrix scan by a lot) 9#define RGB_MATRIX_KEYPRESSES // reacts to keypresses (will slow down matrix scan by a lot)
13// #define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (not recommened) 10// #define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (not recommened)
14// #define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects 11// #define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
15#define RGB_DISABLE_WHEN_USB_SUSPENDED true// turn off effects when suspended 12#define RGB_DISABLE_WHEN_USB_SUSPENDED true// turn off effects when suspended
16// #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200 // limits maximum brightness of LEDs to 200 out of 255. If not defined maximum brightness is set to 255 13// #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200 // limits maximum brightness of LEDs to 200 out of 255. If not defined maximum brightness is set to 255
17// #define EECONFIG_RGB_MATRIX (uint32_t *)16 14// #define EECONFIG_RGB_MATRIX (uint32_t *)16
18#endif 15#endif
19
20#undef DEBOUNCE
21#define DEBOUNCE 1
diff --git a/layouts/community/ergodox/drashna_glow/rules.mk b/layouts/community/ergodox/drashna_glow/rules.mk
index 5cb47dae4..ae9a2fb16 100644
--- a/layouts/community/ergodox/drashna_glow/rules.mk
+++ b/layouts/community/ergodox/drashna_glow/rules.mk
@@ -1,7 +1,10 @@
1USER_NAME := drashna 1USER_NAME := drashna
2SRC += ../drashna/keymap.c
3 2
4-include $(LAYOUT_KEYMAP_PATH)/../drashna/rules.mk 3CORRECTED_LAYOUT := $(LAYOUTS_REPO)/$(LAYOUT)/drashna
4
5SRC += $(CORRECTED_LAYOUT)/keymap.c
6
7-include $(CORRECTED_LAYOUT)/rules.mk
5 8
6ifneq (,$(findstring ergodox_ez,$(KEYBOARD))) 9ifneq (,$(findstring ergodox_ez,$(KEYBOARD)))
7 RGBLIGHT_ENABLE = no 10 RGBLIGHT_ENABLE = no
diff --git a/layouts/community/numpad_5x6/drashna/config.h b/layouts/community/numpad_5x6/drashna/config.h
index ec66940e0..e3a70694a 100644
--- a/layouts/community/numpad_5x6/drashna/config.h
+++ b/layouts/community/numpad_5x6/drashna/config.h
@@ -14,5 +14,7 @@
14#define RGBLIGHT_EFFECT_BREATHE_CENTER 1 14#define RGBLIGHT_EFFECT_BREATHE_CENTER 1
15#endif // RGBLIGHT_ENABLE 15#endif // RGBLIGHT_ENABLE
16 16
17 17#if defined(KEYBOARD_primekb_prime_m)
18#define TAP_CODE_DELAY 10 18#undef PRODUCT
19#define PRODUCT Drashna Hacked Prime_M Macro Pad
20#endif
diff --git a/layouts/community/numpad_5x6/drashna/rules.mk b/layouts/community/numpad_5x6/drashna/rules.mk
index ed6fa8c79..62bbc365d 100644
--- a/layouts/community/numpad_5x6/drashna/rules.mk
+++ b/layouts/community/numpad_5x6/drashna/rules.mk
@@ -7,3 +7,4 @@ INDICATOR_LIGHTS = no
7RGBLIGHT_TWINKLE = yes 7RGBLIGHT_TWINKLE = yes
8MACROS_ENABLED = no 8MACROS_ENABLED = no
9MAKE_BOOTLOADER = yes 9MAKE_BOOTLOADER = yes
10RGBLIGHT_STARTUP_ANIMATION = yes
diff --git a/layouts/community/ortho_4x12/drashna/config.h b/layouts/community/ortho_4x12/drashna/config.h
index 1858ee3a4..f8e12f33d 100644
--- a/layouts/community/ortho_4x12/drashna/config.h
+++ b/layouts/community/ortho_4x12/drashna/config.h
@@ -36,6 +36,17 @@
36#endif // KEYBOARD_planck_light 36#endif // KEYBOARD_planck_light
37 37
38 38
39#if defined(KEYBOARD_planck)
40#undef PRODUCT
41#if defined(KEYBOARD_planck_light)
42#define PRODUCT Drashna Hacked RGB Beacon (Planck Light)
43#elif defined(KEYBOARD_planck_rev6)
44#define PRODUCT Drashna Hacked Planck Rev6
45#elif defined(KEYBOARD_planck_EZ)
46#define PRODUCT Drashna Hacked Planck EZ
47#endif
48#endif
49
39/* 50/*
40 * MIDI options 51 * MIDI options
41 */ 52 */
@@ -59,5 +70,3 @@
59 70
60/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ 71/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */
61//#define MIDI_TONE_KEYCODE_OCTAVES 2 72//#define MIDI_TONE_KEYCODE_OCTAVES 2
62
63#define TAP_CODE_DELAY 10
diff --git a/layouts/community/ortho_4x12/drashna/keymap.c b/layouts/community/ortho_4x12/drashna/keymap.c
index 28da1b204..16defede9 100644
--- a/layouts/community/ortho_4x12/drashna/keymap.c
+++ b/layouts/community/ortho_4x12/drashna/keymap.c
@@ -139,10 +139,8 @@ bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
139 #ifdef BACKLIGHT_ENABLE 139 #ifdef BACKLIGHT_ENABLE
140 backlight_step(); 140 backlight_step();
141 #endif 141 #endif
142 PORTE &= ~(1<<6);
143 } else { 142 } else {
144 unregister_code(KC_RSFT); 143 unregister_code(KC_RSFT);
145 PORTE |= (1<<6);
146 } 144 }
147 return false; 145 return false;
148 break; 146 break;
diff --git a/layouts/community/ortho_4x12/drashna/rules.mk b/layouts/community/ortho_4x12/drashna/rules.mk
index f88043267..89acba9eb 100644
--- a/layouts/community/ortho_4x12/drashna/rules.mk
+++ b/layouts/community/ortho_4x12/drashna/rules.mk
@@ -6,13 +6,15 @@ COMMAND_ENABLE = no # Commands for debug and configuration
6TAP_DANCE_ENABLE = no 6TAP_DANCE_ENABLE = no
7AUDIO_ENABLE = yes 7AUDIO_ENABLE = yes
8ifeq (,$(findstring planck/rev6,$(KEYBOARD))) # Make sure it's NOT the Planck Rev6 8ifeq (,$(findstring planck/rev6,$(KEYBOARD))) # Make sure it's NOT the Planck Rev6
9 RGBLIGHT_ENABLE = yes 9 RGBLIGHT_ENABLE = yes
10 INDICATOR_LIGHTS = yes 10 INDICATOR_LIGHTS = yes
11 RGBLIGHT_TWINKLE = yes 11 RGBLIGHT_TWINKLE = yes
12 RGBLIGHT_STARTUP_ANIMATION = yes
12endif 13endif
13ifneq (,$(findstring planck/light,$(KEYBOARD))) # Make sure it IS the Planck Light 14ifneq (,$(findstring planck/light,$(KEYBOARD))) # Make sure it IS the Planck Light
14 RGB_MATRIX_ENABLE = yes 15 RGB_MATRIX_ENABLE = yes
15 RGBLIGHT_ENABLE = yes 16 RGBLIGHT_ENABLE = no
17 RGBLIGHT_STARTUP_ANIMATION = no
16endif 18endif
17 19
18ifeq ($(strip $(PROTOCOL)), VUSB) 20ifeq ($(strip $(PROTOCOL)), VUSB)
diff --git a/layouts/community/ortho_5x12/drashna/config.h b/layouts/community/ortho_5x12/drashna/config.h
index e41dadc60..480bf658c 100644
--- a/layouts/community/ortho_5x12/drashna/config.h
+++ b/layouts/community/ortho_5x12/drashna/config.h
@@ -13,4 +13,10 @@
13 #define RGBLIGHT_SAT_STEP 8 13 #define RGBLIGHT_SAT_STEP 8
14 #undef RGBLIGHT_VAL_STEP 14 #undef RGBLIGHT_VAL_STEP
15 #define RGBLIGHT_VAL_STEP 8 15 #define RGBLIGHT_VAL_STEP 8
16 #define RGBLIGHT_LIMIT_VAL 175
17 #define RGBLIGHT_SLEEP
18
19 #define RGBLIGHT_EFFECT_KNIGHT_OFFSET 3
20 #define RGBLIGHT_EFFECT_KNIGHT_LED_NUM 14
21
16#endif 22#endif
diff --git a/users/drashna/.gitignore b/users/drashna/.gitignore
new file mode 100644
index 000000000..f84d34d90
--- /dev/null
+++ b/users/drashna/.gitignore
@@ -0,0 +1,3 @@
1secrets.c
2secrets.h
3drashna_song_list.h \ No newline at end of file
diff --git a/users/drashna/.gitlab-ci.yml b/users/drashna/.gitlab-ci.yml
index 9b18d44fb..92813a27d 100644
--- a/users/drashna/.gitlab-ci.yml
+++ b/users/drashna/.gitlab-ci.yml
@@ -3,7 +3,7 @@ stages:
3 - build 3 - build
4 - deploy 4 - deploy
5 5
6Tests: 6Preliminary Test:
7 stage: test 7 stage: test
8 variables: 8 variables:
9 GIT_SUBMODULE_STRATEGY: recursive 9 GIT_SUBMODULE_STRATEGY: recursive
@@ -12,12 +12,12 @@ Tests:
12 image: ubuntu:18.10 12 image: ubuntu:18.10
13 before_script: 13 before_script:
14 - apt-get update -qy 14 - apt-get update -qy
15 - apt-get install -y build-essential avr-libc binutils-arm-none-eabi binutils-avr dfu-programmer dfu-util gcc gcc-arm-none-eabi gcc-avr git libnewlib-arm-none-eabi unzip wget zip 15 - apt-get install -y build-essential avr-libc binutils-arm-none-eabi binutils-avr dfu-programmer dfu-util gcc gcc-arm-none-eabi git libnewlib-arm-none-eabi gcc-avr unzip wget zip
16 - avr-gcc --version 16 - avr-gcc --version
17 - uname -a 17 - uname -a
18 script: 18 script:
19 - make test:all 19 - make test:all
20 - make planck/rev6:default 20 - make planck/rev6:default planck/rev5:default
21 21
22QMK Firmware Defaults: 22QMK Firmware Defaults:
23 stage: deploy 23 stage: deploy
@@ -47,29 +47,7 @@ Drashna Firmware:
47 - apt-get install -y build-essential avr-libc binutils-arm-none-eabi binutils-avr dfu-programmer dfu-util gcc gcc-arm-none-eabi gcc-avr git libnewlib-arm-none-eabi unzip wget zip 47 - apt-get install -y build-essential avr-libc binutils-arm-none-eabi binutils-avr dfu-programmer dfu-util gcc gcc-arm-none-eabi gcc-avr git libnewlib-arm-none-eabi unzip wget zip
48 - avr-gcc --version 48 - avr-gcc --version
49 script: 49 script:
50 - make iris/rev2:drashna iris/rev2:drashna_old ergodox_ez:drashna ergodox_ez:drashna_glow viterbi/rev1:drashna orthodox/rev1:drashna orthodox/rev3:drashna crkbd:drashna planck/light:drashna planck/rev6:drashna fractal:drashna 50 - make keebio/iris/rev2:drashna keebio/iris/rev2:drashna_old ergodox_ez:drashna ergodox_ez:drashna_glow keebio/viterbi/rev1:drashna orthodox/rev1:drashna orthodox/rev3:drashna crkbd:drashna planck/light:drashna planck/rev6:drashna fractal:drashna primekb/prime_m:drashna -j16 --output-sync
51 artifacts:
52 name: "$CI_JOB_NAME-$CI_COMMIT_REF_SLUG"
53 paths:
54 - ./*.hex
55 - ./*.bin
56 expire_in: 1 month
57
58Firmware Deploy:
59 stage: deploy
60 dependencies:
61 - Drashna Firmware
62 variables:
63 GIT_SUBMODULE_STRATEGY: recursive
64 tags:
65 - linux
66 image: ubuntu:18.10
67 before_script:
68 - apt-get update -qy
69 - apt-get install -y build-essential avr-libc binutils-arm-none-eabi binutils-avr dfu-programmer dfu-util gcc gcc-arm-none-eabi gcc-avr git libnewlib-arm-none-eabi unzip wget zip
70 - avr-gcc --version
71 script:
72 - make iris/rev2:drashna:production iris/rev2:drashna_old:production ergodox_ez:drashna ergodox_ez:drashna_glow viterbi/rev1:drashna:production orthodox/rev1:drashna:production orthodox/rev3:drashna:production crkbd:drashna:production planck/light:drashna planck/rev6:drashna fractal:drashna:production
73 artifacts: 51 artifacts:
74 name: "$CI_JOB_NAME-$CI_COMMIT_REF_SLUG" 52 name: "$CI_JOB_NAME-$CI_COMMIT_REF_SLUG"
75 paths: 53 paths:
diff --git a/users/drashna/config.h b/users/drashna/config.h
index 2abd326da..1680eb4cb 100644
--- a/users/drashna/config.h
+++ b/users/drashna/config.h
@@ -82,4 +82,4 @@
82#define NO_ACTION_MACRO 82#define NO_ACTION_MACRO
83#define NO_ACTION_FUNCTION 83#define NO_ACTION_FUNCTION
84 84
85#define MACRO_TIMER 5 85#define TAP_CODE_DELAY 5
diff --git a/users/drashna/drashna.c b/users/drashna/drashna.c
index 6968a4b92..ec249dd22 100644
--- a/users/drashna/drashna.c
+++ b/users/drashna/drashna.c
@@ -38,9 +38,9 @@ bool send_game_macro(const char *str, keyrecord_t *record, bool override) {
38 } 38 }
39 clear_keyboard(); 39 clear_keyboard();
40 tap_code(keycode); 40 tap_code(keycode);
41 wait_ms(50); 41 wait_ms(TAP_CODE_DELAY);
42 send_string_with_delay(str, MACRO_TIMER); 42 send_string_with_delay(str, TAP_CODE_DELAY);
43 wait_ms(50); 43 wait_ms(TAP_CODE_DELAY);
44 tap_code(KC_ENTER); 44 tap_code(KC_ENTER);
45 } 45 }
46 if (override) wait_ms(3000); 46 if (override) wait_ms(3000);
@@ -53,12 +53,10 @@ bool mod_key_press_timer (uint16_t code, uint16_t mod_code, bool pressed) {
53 this_timer= timer_read(); 53 this_timer= timer_read();
54 } else { 54 } else {
55 if (timer_elapsed(this_timer) < TAPPING_TERM){ 55 if (timer_elapsed(this_timer) < TAPPING_TERM){
56 register_code(code); 56 tap_code(code);
57 unregister_code(code);
58 } else { 57 } else {
59 register_code(mod_code); 58 register_code(mod_code);
60 register_code(code); 59 tap_code(code);
61 unregister_code(code);
62 unregister_code(mod_code); 60 unregister_code(mod_code);
63 } 61 }
64 } 62 }
@@ -70,12 +68,10 @@ bool mod_key_press (uint16_t code, uint16_t mod_code, bool pressed, uint16_t thi
70 this_timer= timer_read(); 68 this_timer= timer_read();
71 } else { 69 } else {
72 if (timer_elapsed(this_timer) < TAPPING_TERM){ 70 if (timer_elapsed(this_timer) < TAPPING_TERM){
73 register_code(code); 71 tap_code(code);
74 unregister_code(code);
75 } else { 72 } else {
76 register_code(mod_code); 73 register_code(mod_code);
77 register_code(code); 74 tap_code(code);
78 unregister_code(code);
79 unregister_code(mod_code); 75 unregister_code(mod_code);
80 } 76 }
81 } 77 }
diff --git a/users/drashna/drashna.h b/users/drashna/drashna.h
index c19b18943..6645626d9 100644
--- a/users/drashna/drashna.h
+++ b/users/drashna/drashna.h
@@ -27,7 +27,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
27#if defined(RGBLIGHT_ENABLE) || defined(RGB_MATRIX_ENABLE) 27#if defined(RGBLIGHT_ENABLE) || defined(RGB_MATRIX_ENABLE)
28 #include "rgb_stuff.h" 28 #include "rgb_stuff.h"
29#endif 29#endif
30 30#if defined(AUDIO_ENABLE) && __GNUC__ > 7
31 #if __has_include("drashna_song_list.h")
32 #include "drashna_song_list.h"
33 #endif
34#endif
31 35
32/* Define layer names */ 36/* Define layer names */
33enum userspace_layers { 37enum userspace_layers {
diff --git a/users/drashna/process_records.c b/users/drashna/process_records.c
index 2d9025b37..2b6ccf510 100644
--- a/users/drashna/process_records.c
+++ b/users/drashna/process_records.c
@@ -18,7 +18,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
18 18
19 // If console is enabled, it will print the matrix position and status of each key pressed 19 // If console is enabled, it will print the matrix position and status of each key pressed
20#ifdef KEYLOGGER_ENABLE 20#ifdef KEYLOGGER_ENABLE
21 #if defined(KEYBOARD_ergodox_ez) || defined(KEYBOARD_iris_rev2) 21 #if defined(KEYBOARD_ergodox_ez) || defined(KEYBOARD_keebio_iris_rev2)
22 xprintf("KL: kc: %u, col: %u, row: %u, pressed: %u\n", keycode, record->event.key.row, record->event.key.col, record->event.pressed); 22 xprintf("KL: kc: %u, col: %u, row: %u, pressed: %u\n", keycode, record->event.key.row, record->event.key.col, record->event.pressed);
23 #else 23 #else
24 xprintf("KL: kc: %u, col: %u, row: %u, pressed: %u\n", keycode, record->event.key.col, record->event.key.row, record->event.pressed); 24 xprintf("KL: kc: %u, col: %u, row: %u, pressed: %u\n", keycode, record->event.key.col, record->event.key.row, record->event.pressed);
@@ -37,31 +37,29 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
37 uint8_t temp_mod = get_mods(); 37 uint8_t temp_mod = get_mods();
38 uint8_t temp_osm = get_oneshot_mods(); 38 uint8_t temp_osm = get_oneshot_mods();
39 clear_mods(); clear_oneshot_mods(); 39 clear_mods(); clear_oneshot_mods();
40 send_string_with_delay_P(PSTR("make " QMK_KEYBOARD ":" QMK_KEYMAP), MACRO_TIMER); 40 send_string_with_delay_P(PSTR("make " QMK_KEYBOARD ":" QMK_KEYMAP), TAP_CODE_DELAY);
41#ifndef MAKE_BOOTLOADER 41#ifndef MAKE_BOOTLOADER
42 if ( ( temp_mod | temp_osm ) & MOD_MASK_SHIFT ) 42 if ( ( temp_mod | temp_osm ) & MOD_MASK_SHIFT )
43#endif 43#endif
44 { 44 {
45 #if defined(__arm__) 45 #if defined(__arm__)
46 send_string_with_delay_P(PSTR(":dfu-util"), MACRO_TIMER); 46 send_string_with_delay_P(PSTR(":dfu-util"), TAP_CODE_DELAY);
47 #elif defined(BOOTLOADER_DFU) 47 #elif defined(BOOTLOADER_DFU)
48 send_string_with_delay_P(PSTR(":dfu"), MACRO_TIMER); 48 send_string_with_delay_P(PSTR(":dfu"), TAP_CODE_DELAY);
49 #elif defined(BOOTLOADER_HALFKAY) 49 #elif defined(BOOTLOADER_HALFKAY)
50 send_string_with_delay_P(PSTR(":teensy"), MACRO_TIMER); 50 send_string_with_delay_P(PSTR(":teensy"), TAP_CODE_DELAY);
51 #elif defined(BOOTLOADER_CATERINA) 51 #elif defined(BOOTLOADER_CATERINA)
52 send_string_with_delay_P(PSTR(":avrdude"), MACRO_TIMER); 52 send_string_with_delay_P(PSTR(":avrdude"), TAP_CODE_DELAY);
53 #endif // bootloader options 53 #endif // bootloader options
54 } 54 }
55 if ( ( temp_mod | temp_osm ) & MOD_MASK_CTRL) { send_string_with_delay_P(PSTR(" -j8 --output-sync"), MACRO_TIMER); } 55 if ( ( temp_mod | temp_osm ) & MOD_MASK_CTRL) { send_string_with_delay_P(PSTR(" -j8 --output-sync"), TAP_CODE_DELAY); }
56 send_string_with_delay_P(PSTR(SS_TAP(X_ENTER)), MACRO_TIMER); 56 send_string_with_delay_P(PSTR(SS_TAP(X_ENTER)), TAP_CODE_DELAY);
57 set_mods(temp_mod);
58 set_oneshot_mods(temp_osm);
59 } 57 }
60 break; 58 break;
61 59
62 case VRSN: // Prints firmware version 60 case VRSN: // Prints firmware version
63 if (record->event.pressed) { 61 if (record->event.pressed) {
64 send_string_with_delay_P(PSTR(QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION ", Built on: " QMK_BUILDDATE), MACRO_TIMER); 62 send_string_with_delay_P(PSTR(QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION ", Built on: " QMK_BUILDDATE), TAP_CODE_DELAY);
65 } 63 }
66 break; 64 break;
67 65
diff --git a/users/drashna/process_records.h b/users/drashna/process_records.h
index f7f2193ec..5e3374d3f 100644
--- a/users/drashna/process_records.h
+++ b/users/drashna/process_records.h
@@ -56,6 +56,8 @@ bool process_record_keymap(uint16_t keycode, keyrecord_t *record);
56#define ADJUST MO(_ADJUST) 56#define ADJUST MO(_ADJUST)
57#define TG_MODS TG(_MODS) 57#define TG_MODS TG(_MODS)
58#define TG_GAME TG(_GAMEPAD) 58#define TG_GAME TG(_GAMEPAD)
59#define OS_LWR OSL(_LOWER)
60#define OS_RSE OSL(_RAISE)
59 61
60#define KC_SEC1 KC_SECRET_1 62#define KC_SEC1 KC_SECRET_1
61#define KC_SEC2 KC_SECRET_2 63#define KC_SEC2 KC_SECRET_2
diff --git a/users/drashna/rgb_stuff.c b/users/drashna/rgb_stuff.c
index a98ad590c..b5e145842 100644
--- a/users/drashna/rgb_stuff.c
+++ b/users/drashna/rgb_stuff.c
@@ -247,17 +247,20 @@ bool process_record_user_rgb(uint16_t keycode, keyrecord_t *record) {
247 247
248 248
249void keyboard_post_init_rgb(void) { 249void keyboard_post_init_rgb(void) {
250#ifdef RGBLIGHT_ENABLE 250#if defined(RGBLIGHT_ENABLE) && defined(RGBLIGHT_STARTUP_ANIMATION)
251 rgblight_enable_noeeprom(); 251 if (userspace_config.rgb_layer_change) { rgblight_enable_noeeprom(); }
252 layer_state_set_user(layer_state); 252 if (rgblight_config.enable) {
253 uint16_t old_hue = rgblight_config.hue; 253 layer_state_set_user(layer_state);
254 rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT); 254 uint16_t old_hue = rgblight_config.hue;
255 for (uint16_t i = 360; i > 0; i--) { 255 rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT);
256 rgblight_sethsv_noeeprom( ( i + old_hue) % 360, 255, 255); 256 for (uint16_t i = 360; i > 0; i--) {
257 wait_ms(10); 257 rgblight_sethsv_noeeprom( ( i + old_hue) % 360, 255, 255);
258 } 258 matrix_scan();
259 layer_state_set_user(layer_state); 259 wait_ms(10);
260 }
261 }
260#endif 262#endif
263 layer_state_set_user(layer_state);
261} 264}
262 265
263void matrix_scan_rgb(void) { 266void matrix_scan_rgb(void) {
@@ -278,7 +281,7 @@ uint32_t layer_state_set_rgb(uint32_t state) {
278 switch (biton32(state)) { 281 switch (biton32(state)) {
279 case _MACROS: 282 case _MACROS:
280 rgblight_sethsv_noeeprom_orange(); 283 rgblight_sethsv_noeeprom_orange();
281 userspace_config.is_overwatch ? rgblight_effect_snake(RGBLIGHT_MODE_SNAKE + 2) : rgblight_effect_snake(RGBLIGHT_MODE_SNAKE + 3); 284 userspace_config.is_overwatch ? rgblight_mode_noeeprom(RGBLIGHT_MODE_SNAKE + 2) : rgblight_mode_noeeprom(RGBLIGHT_MODE_SNAKE + 3);
282 break; 285 break;
283 case _MEDIA: 286 case _MEDIA:
284 rgblight_sethsv_noeeprom_chartreuse(); 287 rgblight_sethsv_noeeprom_chartreuse();
diff --git a/users/drashna/rules.mk b/users/drashna/rules.mk
index 5050704a5..bef25e259 100644
--- a/users/drashna/rules.mk
+++ b/users/drashna/rules.mk
@@ -9,7 +9,9 @@ ifeq ($(strip $(TAP_DANCE_ENABLE)), yes)
9 SRC += tap_dances.c 9 SRC += tap_dances.c
10endif 10endif
11 11
12EXTRAFLAGS += -flto 12ifeq ($(PLATFORM),AVR)
13 EXTRAFLAGS += -flto
14endif
13 15
14ifeq ($(strip $(NO_SECRETS)), yes) 16ifeq ($(strip $(NO_SECRETS)), yes)
15 OPT_DEFS += -DNO_SECRETS 17 OPT_DEFS += -DNO_SECRETS
@@ -26,6 +28,9 @@ ifeq ($(strip $(RGBLIGHT_ENABLE)), yes)
26 ifeq ($(strip $(RGBLIGHT_NOEEPROM)), yes) 28 ifeq ($(strip $(RGBLIGHT_NOEEPROM)), yes)
27 OPT_DEFS += -DRGBLIGHT_NOEEPROM 29 OPT_DEFS += -DRGBLIGHT_NOEEPROM
28 endif 30 endif
31 ifeq ($(strip $(RGBLIGHT_STARTUP_ANIMATION)), yes)
32 OPT_DEFS += -DRGBLIGHT_STARTUP_ANIMATION
33 endif
29endif 34endif
30 35
31ifeq ($(strip $(RGB_MATRIX_ENABLE)), yes) 36ifeq ($(strip $(RGB_MATRIX_ENABLE)), yes)