[Keymap] Update to Drashna Keymaps (#5594) * Start to standardize macro timer * Update Fractal layout Specifically, limit the RGB Lighting, since it's too many for the power, and only have the KITT annimation on the front * Update Iris keymap to use I2C for transport * Remove TAP_CODE_DELAY from keyboard in favor of global setting * Remove Woodpad Since it\'s no longer in my possession * Only enable LTO on AVR boards * Run matrix_scans while doing startup light * Run matrix_scan to get split keyboard code synced properly * Fix rgb mode * Remove custom debouncing settings * Make RGB Light Startup Animation optional * Fix opt def * Remove extra tap code delay value * Fix references to keebio boards * Add support for LP Iris keyboard * Add backlight code * Make startup animation optional * Update gitlab ci script * Remove port declaration * Revert avrgcc changes to gitlab ci file * Don't re-set mods * Remove MACRO_TIMER define * Add custom name for crkbd * Add name for Prime M pad * Add names for ortho 4x12 boards * Add some additional handling for rgb init * Change thumb clusters on ergodox * Switch Orthodox to I2C * Fix Space in ergodox keymap * Use OSL for ergodox layout * Ugh, can't find a good layout * Fix typo * Fix up animation startup * Cries in AVR * Fix makefiles for ergodox ez boards * Add support for "secret songs" in my userspace * Reset debounce to 5ms for Ergodox EZ * Fix gitlab CI yaml file * More crying in AVR * Cannot use rgb light and rgb matrix at the same time due to the WS2812 rgb matrix PR until the "Coexistance" PR is merged * Update ODox for split common and i2c * Add split config * Impement Split code * Add support for xscorpion OLED code * Add OLED display config * Fix OLED screen font * Get OLED set up in vertical mode * Remove old OLED code * add per key support for crkbd * Fix split changes * RGB Tweeaks * More OLED tweaks * Fix rotation stuff * Fix more OLED stuff * Remove custom Debounce from Ergodox layout since it's no longer needed
38 files changed, 569 insertions(+), 300 deletions(-) M keyboards/crkbd/keymaps/drashna/config.h A keyboards/crkbd/keymaps/drashna/glcdfont.c M keyboards/crkbd/keymaps/drashna/keymap.c M keyboards/crkbd/keymaps/drashna/rules.mk D keyboards/handwired/woodpad/keymaps/drashna/README.md D keyboards/handwired/woodpad/keymaps/drashna/config.h D keyboards/handwired/woodpad/keymaps/drashna/keymap.c D keyboards/handwired/woodpad/keymaps/drashna/rules.mk M keyboards/keebio/iris/keymaps/drashna/config.h M keyboards/keebio/iris/keymaps/drashna/keymap.c M keyboards/keebio/iris/keymaps/drashna/rules.mk A keyboards/keebio/iris/keymaps/drashna_lp/config.h A keyboards/keebio/iris/keymaps/drashna_lp/keymap.c A keyboards/keebio/iris/keymaps/drashna_lp/rules.mk M keyboards/keebio/iris/keymaps/drashna_old/config.h M keyboards/orthodox/keymaps/drashna/config.h M keyboards/orthodox/keymaps/drashna/keymap.c M keyboards/orthodox/keymaps/drashna/rules.mk M layouts/community/ergodox/drashna/config.h M layouts/community/ergodox/drashna/keymap.c M layouts/community/ergodox/drashna/rules.mk M layouts/community/ergodox/drashna_glow/config.h M layouts/community/ergodox/drashna_glow/rules.mk M layouts/community/numpad_5x6/drashna/config.h M layouts/community/numpad_5x6/drashna/rules.mk M layouts/community/ortho_4x12/drashna/config.h M layouts/community/ortho_4x12/drashna/keymap.c M layouts/community/ortho_4x12/drashna/rules.mk M layouts/community/ortho_5x12/drashna/config.h A users/drashna/.gitignore M users/drashna/.gitlab-ci.yml M users/drashna/config.h M users/drashna/drashna.c M users/drashna/drashna.h M users/drashna/process_records.c M users/drashna/process_records.h M users/drashna/rgb_stuff.c M users/drashna/rules.mk
M keyboards/crkbd/keymaps/drashna/config.h => keyboards/crkbd/keymaps/drashna/config.h +10 -1
@@ 27,7 27,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. // #define MASTER_RIGHT #define EE_HANDS #define SSD1306OLED // #define SSD1306OLED #define USE_SERIAL_PD2 @@ 48,3 48,12 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define B6_AUDIO // #define NO_MUSIC_MODE #endif #undef PRODUCT #define PRODUCT Drashna Hacked Corne Keyboard #define OLED_FONT_H "keyboards/crkbd/keymaps/drashna/glcdfont.c" // #define OLED_FONT_WIDTH 5 // #define OLED_FONT_HEIGHT 7 #define TAPPING_TERM_PER_KEY
A keyboards/crkbd/keymaps/drashna/glcdfont.c => keyboards/crkbd/keymaps/drashna/glcdfont.c +240 -0
@@ 0,0 1,240 @@ #pragma once #ifdef __AVR__ #include <avr/io.h> #include <avr/pgmspace.h> #elif defined(ESP8266) #include <pgmspace.h> #else #define PROGMEM #endif // Helidox 8x6 font with QMK Firmware Logo // Online editor: http://teripom.x0.com/ const unsigned char font[] PROGMEM = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x5B, 0x4F, 0x5B, 0x3E, 0x00, 0x3E, 0x6B, 0x4F, 0x6B, 0x3E, 0x00, 0x1C, 0x3E, 0x7C, 0x3E, 0x1C, 0x00, 0x18, 0x3C, 0x7E, 0x3C, 0x18, 0x00, 0x1C, 0x57, 0x7D, 0x57, 0x1C, 0x00, 0x1C, 0x5E, 0x7F, 0x5E, 0x1C, 0x00, 0x00, 0x18, 0x3C, 0x18, 0x00, 0x00, 0xFF, 0xE7, 0xC3, 0xE7, 0xFF, 0x00, 0x00, 0x18, 0x24, 0x18, 0x00, 0x00, 0xFF, 0xE7, 0xDB, 0xE7, 0xFF, 0x00, 0x30, 0x48, 0x3A, 0x06, 0x0E, 0x00, 0x26, 0x29, 0x79, 0x29, 0x26, 0x00, 0x40, 0x7F, 0x05, 0x05, 0x07, 0x00, 0x40, 0x7F, 0x05, 0x25, 0x3F, 0x00, 0x5A, 0x3C, 0xE7, 0x3C, 0x5A, 0x00, 0x7F, 0x3E, 0x1C, 0x1C, 0x08, 0x00, 0x08, 0x1C, 0x1C, 0x3E, 0x7F, 0x00, 0x14, 0x22, 0x7F, 0x22, 0x14, 0x00, 0x5F, 0x5F, 0x00, 0x5F, 0x5F, 0x00, 0x06, 0x09, 0x7F, 0x01, 0x7F, 0x00, 0x00, 0x66, 0x89, 0x95, 0x6A, 0x00, 0x60, 0x60, 0x60, 0x60, 0x60, 0x00, 0x94, 0xA2, 0xFF, 0xA2, 0x94, 0x00, 0x08, 0x04, 0x7E, 0x04, 0x08, 0x00, 0x10, 0x20, 0x7E, 0x20, 0x10, 0x00, 0x08, 0x08, 0x2A, 0x1C, 0x08, 0x00, 0x08, 0x1C, 0x2A, 0x08, 0x08, 0x00, 0x1E, 0x10, 0x10, 0x10, 0x10, 0x00, 0x0C, 0x1E, 0x0C, 0x1E, 0x0C, 0x00, 0x30, 0x38, 0x3E, 0x38, 0x30, 0x00, 0x06, 0x0E, 0x3E, 0x0E, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x07, 0x00, 0x00, 0x14, 0x7F, 0x14, 0x7F, 0x14, 0x00, 0x24, 0x2A, 0x7F, 0x2A, 0x12, 0x00, 0x23, 0x13, 0x08, 0x64, 0x62, 0x00, 0x36, 0x49, 0x56, 0x20, 0x50, 0x00, 0x00, 0x08, 0x07, 0x03, 0x00, 0x00, 0x00, 0x1C, 0x22, 0x41, 0x00, 0x00, 0x00, 0x41, 0x22, 0x1C, 0x00, 0x00, 0x2A, 0x1C, 0x7F, 0x1C, 0x2A, 0x00, 0x08, 0x08, 0x3E, 0x08, 0x08, 0x00, 0x00, 0x80, 0x70, 0x30, 0x00, 0x00, 0x08, 0x08, 0x08, 0x08, 0x08, 0x00, 0x00, 0x00, 0x60, 0x60, 0x00, 0x00, 0x20, 0x10, 0x08, 0x04, 0x02, 0x00, 0x3E, 0x51, 0x49, 0x45, 0x3E, 0x00, 0x00, 0x42, 0x7F, 0x40, 0x00, 0x00, 0x72, 0x49, 0x49, 0x49, 0x46, 0x00, 0x21, 0x41, 0x49, 0x4D, 0x33, 0x00, 0x18, 0x14, 0x12, 0x7F, 0x10, 0x00, 0x27, 0x45, 0x45, 0x45, 0x39, 0x00, 0x3C, 0x4A, 0x49, 0x49, 0x31, 0x00, 0x41, 0x21, 0x11, 0x09, 0x07, 0x00, 0x36, 0x49, 0x49, 0x49, 0x36, 0x00, 0x46, 0x49, 0x49, 0x29, 0x1E, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, 0x40, 0x34, 0x00, 0x00, 0x00, 0x00, 0x08, 0x14, 0x22, 0x41, 0x00, 0x14, 0x14, 0x14, 0x14, 0x14, 0x00, 0x00, 0x41, 0x22, 0x14, 0x08, 0x00, 0x02, 0x01, 0x59, 0x09, 0x06, 0x00, 0x3E, 0x41, 0x5D, 0x59, 0x4E, 0x00, 0x7C, 0x12, 0x11, 0x12, 0x7C, 0x00, 0x7F, 0x49, 0x49, 0x49, 0x36, 0x00, 0x3E, 0x41, 0x41, 0x41, 0x22, 0x00, 0x7F, 0x41, 0x41, 0x41, 0x3E, 0x00, 0x7F, 0x49, 0x49, 0x49, 0x41, 0x00, 0x7F, 0x09, 0x09, 0x09, 0x01, 0x00, 0x3E, 0x41, 0x41, 0x51, 0x73, 0x00, 0x7F, 0x08, 0x08, 0x08, 0x7F, 0x00, 0x00, 0x41, 0x7F, 0x41, 0x00, 0x00, 0x20, 0x40, 0x41, 0x3F, 0x01, 0x00, 0x7F, 0x08, 0x14, 0x22, 0x41, 0x00, 0x7F, 0x40, 0x40, 0x40, 0x40, 0x00, 0x7F, 0x02, 0x1C, 0x02, 0x7F, 0x00, 0x7F, 0x04, 0x08, 0x10, 0x7F, 0x00, 0x3E, 0x41, 0x41, 0x41, 0x3E, 0x00, 0x7F, 0x09, 0x09, 0x09, 0x06, 0x00, 0x3E, 0x41, 0x51, 0x21, 0x5E, 0x00, 0x7F, 0x09, 0x19, 0x29, 0x46, 0x00, 0x26, 0x49, 0x49, 0x49, 0x32, 0x00, 0x03, 0x01, 0x7F, 0x01, 0x03, 0x00, 0x3F, 0x40, 0x40, 0x40, 0x3F, 0x00, 0x1F, 0x20, 0x40, 0x20, 0x1F, 0x00, 0x3F, 0x40, 0x38, 0x40, 0x3F, 0x00, 0x63, 0x14, 0x08, 0x14, 0x63, 0x00, 0x03, 0x04, 0x78, 0x04, 0x03, 0x00, 0x61, 0x59, 0x49, 0x4D, 0x43, 0x00, 0x00, 0x7F, 0x41, 0x41, 0x41, 0x00, 0x02, 0x04, 0x08, 0x10, 0x20, 0x00, 0x00, 0x41, 0x41, 0x41, 0x7F, 0x00, 0x04, 0x02, 0x01, 0x02, 0x04, 0x00, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x03, 0x07, 0x08, 0x00, 0x00, 0x20, 0x54, 0x54, 0x78, 0x40, 0x00, 0x7F, 0x28, 0x44, 0x44, 0x38, 0x00, 0x38, 0x44, 0x44, 0x44, 0x28, 0x00, 0x38, 0x44, 0x44, 0x28, 0x7F, 0x00, 0x38, 0x54, 0x54, 0x54, 0x18, 0x00, 0x00, 0x08, 0x7E, 0x09, 0x02, 0x00, 0x18, 0x24, 0x24, 0x1C, 0x78, 0x00, 0x7F, 0x08, 0x04, 0x04, 0x78, 0x00, 0x00, 0x44, 0x7D, 0x40, 0x00, 0x00, 0x20, 0x40, 0x40, 0x3D, 0x00, 0x00, 0x7F, 0x10, 0x28, 0x44, 0x00, 0x00, 0x00, 0x41, 0x7F, 0x40, 0x00, 0x00, 0x7C, 0x04, 0x78, 0x04, 0x78, 0x00, 0x7C, 0x08, 0x04, 0x04, 0x78, 0x00, 0x38, 0x44, 0x44, 0x44, 0x38, 0x00, 0x7C, 0x18, 0x24, 0x24, 0x18, 0x00, 0x18, 0x24, 0x24, 0x18, 0x7C, 0x00, 0x7C, 0x08, 0x04, 0x04, 0x08, 0x00, 0x48, 0x54, 0x54, 0x54, 0x24, 0x00, 0x04, 0x04, 0x3F, 0x44, 0x24, 0x00, 0x3C, 0x40, 0x40, 0x20, 0x7C, 0x00, 0x1C, 0x20, 0x40, 0x20, 0x1C, 0x00, 0x3C, 0x40, 0x30, 0x40, 0x3C, 0x00, 0x44, 0x28, 0x10, 0x28, 0x44, 0x00, 0x4C, 0x90, 0x90, 0x90, 0x7C, 0x00, 0x44, 0x64, 0x54, 0x4C, 0x44, 0x00, 0x00, 0x08, 0x36, 0x41, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x00, 0x00, 0x00, 0x41, 0x36, 0x08, 0x00, 0x00, 0x02, 0x01, 0x02, 0x04, 0x02, 0x00, 0x3C, 0x26, 0x23, 0x26, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xE0, 0xF0, 0xF8, 0xF8, 0x18, 0x00, 0xC0, 0xF0, 0xFC, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xC0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xC0, 0x80, 0x00, 0x00, 0x00, 0xE0, 0xE0, 0xC0, 0xC0, 0xE0, 0xE0, 0xE0, 0xE0, 0x00, 0x00, 0xE0, 0xE0, 0xC0, 0xC0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xC0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xC0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0xF0, 0xF0, 0xF0, 0xE0, 0xEC, 0xEE, 0xF7, 0xF3, 0x70, 0x20, 0x00, 0x7C, 0x7C, 0x7C, 0x7E, 0x00, 0x7E, 0x7E, 0x7E, 0x7F, 0x7F, 0x7F, 0x00, 0x00, 0x80, 0xC0, 0xE0, 0x7E, 0x5B, 0x4F, 0x5B, 0xFE, 0xC0, 0x00, 0x00, 0xC0, 0x00, 0xDC, 0xD7, 0xDE, 0xDE, 0xDE, 0xD7, 0xDC, 0x00, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0xFC, 0xFE, 0xFF, 0xE0, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x1F, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x81, 0xC3, 0xC3, 0xC3, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x81, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x9D, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x9D, 0xDF, 0xDF, 0xDF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x1F, 0x3F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x3F, 0x1E, 0x0C, 0x00, 0x1F, 0x1F, 0x1F, 0x3F, 0x00, 0x3F, 0x3F, 0x3F, 0x7F, 0x7F, 0x7F, 0x00, 0x30, 0x7B, 0x7F, 0x78, 0x30, 0x20, 0x20, 0x30, 0x78, 0x7F, 0x3B, 0x00, 0x03, 0x00, 0x0F, 0x7F, 0x0F, 0x0F, 0x0F, 0x7F, 0x0F, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x0F, 0x1F, 0x3F, 0x3F, 0x3F, 0x3F, 0x1F, 0x1F, 0x3F, 0x3F, 0x7F, 0x7F, 0x7F, 0x3F, 0x3F, 0x1F, 0x3F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7C, 0x78, 0x78, 0x38, 0x1C, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x07, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x07, 0x07, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
M keyboards/crkbd/keymaps/drashna/keymap.c => keyboards/crkbd/keymaps/drashna/keymap.c +123 -0
@@ 7,6 7,9 @@ #ifdef SSD1306OLED #include "ssd1306.h" #endif #ifdef OLED_DRIVER_ENABLE #include "oled_driver.h" #endif extern keymap_config_t keymap_config; @@ extern uint8_t is_master; 288,3 291,123 @@ bool process_record_keymap(uint16_t keycode, keyrecord_t *record) { } #endif #ifdef OLED_DRIVER_ENABLE oled_rotation_t oled_init_user(oled_rotation_t rotation) { if (is_master) { return OLED_ROTATION_270; } else { return rotation; } } void render_crkbd_logo(void) { static const char PROGMEM crkbd_logo[] = { 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, 0x90, 0x91, 0x92, 0x93, 0x94, 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0}; oled_write_P(crkbd_logo, false); } void render_status(void) { oled_write_P(PSTR("Layer"), false); switch (biton32(layer_state)) { case 0: oled_write_P(PSTR("Base "), false); break; case _RAISE: oled_write_P(PSTR("Raise"), false); break; case _LOWER: oled_write_P(PSTR("Lower"), false); break; case _ADJUST: oled_write_P(PSTR("Adjst"), false); break; default: oled_write_P(PSTR("Unkn "), false); break; } oled_write_P(PSTR("Lyout"), false); switch (biton32(default_layer_state)) { case _QWERTY: oled_write_P(PSTR("QWRTY"), false); break; case _COLEMAK: oled_write_P(PSTR("COLMK"), false); break; case _DVORAK: oled_write_P(PSTR("DVRAK"), false); break; case _WORKMAN: oled_write_P(PSTR("WRKMN"), false); break; case _NORMAN: oled_write_P(PSTR("NORMN"), false); break; case _MALTRON: oled_write_P(PSTR("MLTRN"), false); break; case _EUCALYN: oled_write_P(PSTR("ECLYN"), false); break; case _CARPLAX: oled_write_P(PSTR("CRPLX"), false); break; } uint8_t modifiers = get_mods(); uint8_t one_shot = get_oneshot_mods(); oled_write_P(PSTR("Mods:"), false); oled_write_P( (modifiers & MOD_MASK_CTRL || one_shot & MOD_MASK_CTRL ) ? PSTR(" CTL ") : PSTR(" "), false); oled_write_P( (modifiers & MOD_MASK_GUI || one_shot & MOD_MASK_GUI ) ? PSTR(" GUI ") : PSTR(" "), false); oled_write_P( (modifiers & MOD_MASK_ALT || one_shot & MOD_MASK_ALT ) ? PSTR(" ALT ") : PSTR(" "), false); oled_write_P( (modifiers & MOD_MASK_SHIFT || one_shot & MOD_MASK_SHIFT) ? PSTR(" SFT ") : PSTR(" "), false); oled_write_P(PSTR("BTMGK"), false); static const char PROGMEM mode_logo[4][4] = { {0x95,0x96,0x0a,0}, {0xb5,0xb6,0x0a,0}, {0x97,0x98,0x0a,0}, {0xb7,0xb8,0x0a,0} }; if (keymap_config.swap_lalt_lgui != false) { oled_write_P(mode_logo[0], false); oled_write_P(mode_logo[1], false); } else { oled_write_P(mode_logo[2], false); oled_write_P(mode_logo[3], false); } uint8_t led_usb_state = host_keyboard_leds(); oled_write_P(PSTR("Lock:"), false); oled_write_P(led_usb_state & (1<<USB_LED_NUM_LOCK) ? PSTR(" NUM ") : PSTR(" "), false); oled_write_P(led_usb_state & (1<<USB_LED_CAPS_LOCK) ? PSTR(" CAPS") : PSTR(" "), false); oled_write_P(led_usb_state & (1<<USB_LED_SCROLL_LOCK) ? PSTR(" SCRL") : PSTR(" "), false); } void oled_task_user(void) { if (is_master) { render_status(); // Renders the current keyboard state (layer, lock, caps, scroll, etc) } else { render_crkbd_logo(); oled_scroll_left(); // Turns on scrolling } } #endif uint16_t get_tapping_term(uint16_t keycode) { switch (keycode) { case ALT_T(KC_A): return TAPPING_TERM + 100; default: return TAPPING_TERM; } }
M keyboards/crkbd/keymaps/drashna/rules.mk => keyboards/crkbd/keymaps/drashna/rules.mk +15 -22
@@ 3,31 3,24 @@ # change to "no" to disable the options, or define them in the Makefile in # the appropriate keymap folder that will get included automatically # BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) MOUSEKEY_ENABLE = no # Mouse keys(+4700) EXTRAKEY_ENABLE = yes # Audio control and System control(+450) CONSOLE_ENABLE = no # Console for debug(+400) COMMAND_ENABLE = no # Commands for debug and configuration NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality MIDI_ENABLE = no # MIDI controls AUDIO_ENABLE = no # Audio output on port C6 UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight. SWAP_HANDS_ENABLE = no # Enable one-hand typing BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) MOUSEKEY_ENABLE = no # Mouse keys(+4700) EXTRAKEY_ENABLE = yes # Audio control and System control(+450) CONSOLE_ENABLE = no # Console for debug(+400) COMMAND_ENABLE = no # Commands for debug and configuration NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality MIDI_ENABLE = no # MIDI controls AUDIO_ENABLE = no # Audio output on port C6 UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight. SWAP_HANDS_ENABLE = no # Enable one-hand typing RGBLIGHT_STARTUP_ANIMATION = yes # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend BOOTLOADER = qmk-dfu # If you want to change the display of OLED, you need to change here SRC += ./lib/glcdfont.c \ ./lib/logo_reader.c \ # ./lib/rgb_state_reader.c \ # ./lib/keylogger.c \ # ./lib/host_led_state_reader.c \ # ./lib/mode_icon_reader.c \ # ./lib/layer_state_reader.c \ # ./lib/timelogger.c \ OLED_DRIVER_ENABLE = yes
D keyboards/handwired/woodpad/keymaps/drashna/README.md => keyboards/handwired/woodpad/keymaps/drashna/README.md +0 -25
@@ 1,25 0,0 @@ Overview ======== This is my personal Numpad (Woodpad) configuration, and my daily driver. Most of the code resides in my userspace, rather than here, as I have multiple keyboards. How to build ------------ make handwired/woodpad:drashna:avrdude Layers ------ * NUMLOCK: Num pad, locked to NUM LOCK enabled. * NAV: Navigation codes without needing to enable numlock. * 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. * MACROS: This layer contains a bunch of macros for spamming chat, with a toggle on what key to open up chat with. * MEDIA: Media and RGB commands All layers have RGB specific indicators, so you can see what layer you're on by the underglow. Woodpad Specific Code --------------------- Aside from my userspace code, this includes LED indications for numlock and macro mode. It also forces NUMLOCK to be enabled.
D keyboards/handwired/woodpad/keymaps/drashna/config.h => keyboards/handwired/woodpad/keymaps/drashna/config.h +0 -45
@@ 1,45 0,0 @@ /* Copyright 2017 REPLACE_WITH_YOUR_NAME * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ #ifndef CONFIG_USER_H #define CONFIG_USER_H #include QMK_KEYBOARD_CONFIG_H #if (defined(TAP_DANCE_ENABLE) && !defined(TAPPING_TERM)) #define TAPPING_TERM 200 #endif // TAP_DANCE_ENABLE #define B5_AUDIO #ifdef RGBLIGHT_ENABLE #define RGB_DI_PIN D3 #define RGBLED_NUM 14 // Number of LEDs #define RGBLIGHT_ANIMATIONS #define RGBLIGHT_HUE_STEP 12 #define RGBLIGHT_SAT_STEP 12 #define RGBLIGHT_VAL_STEP 12 #define RGBLIGHT_EFFECT_KNIGHT_LENGTH 4 #define RGBLIGHT_EFFECT_SNAKE_LENGTH 3 #define RGBLIGHT_EFFECT_BREATHE_CENTER 1 #define RGBLIGHT_SLEEP #endif // RGBLIGHT_ENABLE #define FORCE_NKRO #endif
D keyboards/handwired/woodpad/keymaps/drashna/keymap.c => keyboards/handwired/woodpad/keymaps/drashna/keymap.c +0 -95
@@ 1,95 0,0 @@ /* Copyright 2017 REPLACE_WITH_YOUR_NAME * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include QMK_KEYBOARD_H #include "drashna.h" // Each layer gets a name for readability, which is then used in the keymap matrix below. // The underscores don't mean anything - you can have a layer called STUFF or any other name. // Layer names don't all need to be of the same length, obviously, and you can also skip them // entirely and just use numbers. const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_NUMLOCK] = KEYMAP( /* Base */ TG(_NAV), TG(_DIABLO), TG(_MACROS), KC_PSLS,\ KC_P7, KC_P8, KC_P9, KC_PAST, \ KC_P4, KC_P5, KC_P6, KC_PMNS, \ KC_P1, KC_P2, KC_P3, KC_PPLS, \ LT(_MEDIA,KC_P0), KC_PDOT, KC_COLN, KC_PENT \ ), [_NAV] = KEYMAP( /* Base */ _______, _______, _______, _______,\ KC_HOME, KC_UP, KC_PGUP, _______, \ KC_LEFT, XXXXXXX, KC_RIGHT, _______, \ KC_END, KC_DOWN, KC_PGDN, _______, \ KC_INS, KC_DEL, _______, _______ \ ), [_DIABLO] = KEYMAP( /* Base */ KC_ESC, _______, XXXXXXX, _______,\ KC_S, KC_I, KC_F, KC_M, \ KC_1, KC_2, KC_3, KC_4, \ KC_D3_1, KC_D3_2, KC_D3_3, KC_D3_4, \ XXXXXXX, KC_DIABLO_CLEAR, KC_Q, SFT_T(KC_SPACE) \ ), [_MACROS] = KEYMAP( /* Base */ KC_OVERWATCH, XXXXXXX, _______, XXXXXXX,\ KC_JUSTGAME, XXXXXXX, XXXXXXX, KC_C9, \ XXXXXXX, XXXXXXX, KC_AIM, KC_GGEZ, \ KC_SYMM, KC_TORB, XXXXXXX, KC_GOODGAME, \ KC_SALT, KC_MORESALT, KC_SALTHARD, KC_GLHF \ ), [_MEDIA] = KEYMAP( /* Base */ KC_RESET, KC_MUTE, KC_VOLD, KC_VOLU,\ KC_MAKE, _______, RGB_HUI, RGB_HUD, \ KC_MPLY, KC_MSTP, KC_MPRV, KC_MNXT, \ RGB_TOG, RGB_MOD, RGB_SAI, RGB_VAI, \ _______, KC_RGB_T, RGB_SAD, RGB_VAD \ ), }; void numlock_led_on(void) { PORTF |= (1 << 7); } void numlock_led_off(void) { PORTF &= ~(1 << 7); } void matrix_init_keymap(void) { // set Numlock LED to output and low DDRF |= (1 << 7); PORTF &= ~(1 << 7); } void matrix_scan_keymap(void) { numlock_led_off(); if ((is_overwatch && biton32(layer_state) == _MACROS) || (biton32(layer_state) == _NUMLOCK)) { numlock_led_on(); } // Run Diablo 3 macro checking code. } void led_set_keymap(uint8_t usb_led) { if (!(usb_led & (1<<USB_LED_NUM_LOCK))) { register_code(KC_NUMLOCK); unregister_code(KC_NUMLOCK); } }
D keyboards/handwired/woodpad/keymaps/drashna/rules.mk => keyboards/handwired/woodpad/keymaps/drashna/rules.mk +0 -10
@@ 1,10 0,0 @@ TAP_DANCE_ENABLE = yes COMMAND_ENABLE = no # Commands for debug and configuration RGBLIGHT_ENABLE = yes MIDI_ENABLE = no CONSOLE_ENABLE = no NKRO_ENABLE = yes MOUSEKEY_ENABLE = no EXTRAFLAGS = -flto
M keyboards/keebio/iris/keymaps/drashna/config.h => keyboards/keebio/iris/keymaps/drashna/config.h +4 -4
@@ 19,8 19,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. /* Use I2C or Serial, not both */ #define USE_SERIAL #undef USE_I2C // #define USE_SERIAL #define USE_I2C /* Select hand configuration */ @@ 31,7 31,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #ifdef RGBLIGHT_ENABLE #undef RGBLED_NUM #define RGBLED_NUM 18 // Number of LEDs #define RGBLED_SPLIT { 9, 9 } #define RGBLIGHT_HUE_STEP 12 #define RGBLIGHT_SAT_STEP 12 @@ #define RGBLIGHT_VAL_STEP 12 55,7 55,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define QMK_SPEAKER C6 #undef PRODUCT #ifdef KEYBOARD_iris_rev2 #ifdef KEYBOARD_keebio_iris_rev2 #define PRODUCT Drashna Hacked Iris Rev.2 #endif
M keyboards/keebio/iris/keymaps/drashna/keymap.c => keyboards/keebio/iris/keymaps/drashna/keymap.c +11 -0
@@ 121,3 121,14 @@ void matrix_init_keymap(void) { writePinHigh(B0); #endif } void keyboard_post_init_keymap(void) { #if BACKLIGHT_ENABLE backlight_enable(); backlight_level(5); #ifdef BACKLIGHT_BREATHING breathing_enable(); #endif #endif }
M keyboards/keebio/iris/keymaps/drashna/rules.mk => keyboards/keebio/iris/keymaps/drashna/rules.mk +3 -2
@@ 5,13 5,14 @@ CONSOLE_ENABLE = no # Console for debug(+400) COMMAND_ENABLE = no # Commands for debug and configuration TAP_DANCE_ENABLE = no RGBLIGHT_ENABLE = yes AUDIO_ENABLE = yes AUDIO_ENABLE = no NKRO_ENABLE = yes BACKLIGHT_ENABLE = no SWAP_HANDS_ENABLE = no INDICATOR_LIGHTS = yes INDICATOR_LIGHTS = no MACROS_ENABLED = no RGBLIGHT_TWINKLE = no RGBLIGHT_STARTUP_ANIMATION = yes BOOTLOADER = qmk-dfu
A keyboards/keebio/iris/keymaps/drashna_lp/config.h => keyboards/keebio/iris/keymaps/drashna_lp/config.h +48 -0
@@ 0,0 1,48 @@ /* Copyright 2017 Danny Nguyen <danny@keeb.io> This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #pragma once /* Use I2C or Serial, not both */ #include "../drashna/config.h" #ifdef RGBLIGHT_ENABLE #undef RGBLED_NUM #define RGBLED_NUM 16 // Number of LEDs #undef RGBLED_SPLIT #define RGBLED_SPLIT { 8, 8 } #endif #undef PRODUCT #ifdef KEYBOARD_keebio_iris_rev2 #define PRODUCT Drashna Hacked Iris LP Rev.2 (Backlit) #endif #undef SHFT_LED1 #define SHFT_LED1 5 #undef SHFT_LED2 #define SHFT_LED2 10 #undef CTRL_LED1 #define CTRL_LED1 6 #undef CTRL_LED2 #define CTRL_LED2 9 #undef ALT_LED1 #define ALT_LED1 7 #undef GUI_LED1 #define GUI_LED1 8
A keyboards/keebio/iris/keymaps/drashna_lp/keymap.c => keyboards/keebio/iris/keymaps/drashna_lp/keymap.c +1 -0
A keyboards/keebio/iris/keymaps/drashna_lp/rules.mk => keyboards/keebio/iris/keymaps/drashna_lp/rules.mk +7 -0
@@ 0,0 1,7 @@ USER_NAME := drashna SRC += ../drashna/keymap.c include $(KEYBOARD_PATH_2)/keymaps/drashna/rules.mk AUDIO_ENABLE = no BACKLIGHT_ENABLE = yes
M keyboards/keebio/iris/keymaps/drashna_old/config.h => keyboards/keebio/iris/keymaps/drashna_old/config.h +3 -1
@@ 23,10 23,12 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #ifdef RGBLIGHT_ENABLE #undef RGBLED_NUM #define RGBLED_NUM 16 // Number of LEDs #undef RGBLED_SPLIT #define RGBLED_SPLIT { 8, 8 } #endif #undef PRODUCT #ifdef KEYBOARD_iris_rev2 #ifdef KEYBOARD_keebio_iris_rev2 #define PRODUCT Drashna Hacked Iris Rev.2 (16 LED) #endif
M keyboards/orthodox/keymaps/drashna/config.h => keyboards/orthodox/keymaps/drashna/config.h +3 -2
@@ 23,8 23,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. /* Use I2C or Serial, not both */ #define USE_SERIAL #undef USE_I2C // #define USE_SERIAL #define USE_I2C /* Select hand configuration */ @@ 41,6 41,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #ifdef RGBLIGHT_ENABLE #define RGB_DI_PIN D3 #define RGBLED_NUM 16 // Number of LEDs #define RGBLED_SPLIT { 8, 8 } #define RGBLIGHT_HUE_STEP 12 #define RGBLIGHT_SAT_STEP 12
M keyboards/orthodox/keymaps/drashna/keymap.c => keyboards/orthodox/keymaps/drashna/keymap.c +1 -1
@@ 38,7 38,7 @@ uint8_t last_osm; ) \ LAYOUT_wrapper( \ KC_ESC, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, KC_BSPC, \ KC_TAB, K11, K12, K13, K14, K15, OS_LALT, OS_LGUI, OS_RALT, OS_RGUI, K16, K17, K18, K19, K1A, KC_QUOT, \ KC_TAB, K11, K12, K13, K14, K15, OS_LALT, OS_LGUI, OS_RALT, RAISE, K16, K17, K18, K19, K1A, KC_QUOT, \ 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 \ ) #define LAYOUT_orthodox_base_wrapper(...) LAYOUT_orthodox_base(__VA_ARGS__)
M keyboards/orthodox/keymaps/drashna/rules.mk => keyboards/orthodox/keymaps/drashna/rules.mk +3 -1
@@ 5,11 5,13 @@ CONSOLE_ENABLE = no # Console for debug(+400) COMMAND_ENABLE = no # Commands for debug and configuration TAP_DANCE_ENABLE = no RGBLIGHT_ENABLE = yes AUDIO_ENABLE = yes AUDIO_ENABLE = no NKRO_ENABLE = yes INDICATOR_LIGHTS = yes MACROS_ENABLED = no RGBLIGHT_TWINKLE = no RGBLIGHT_STARTUP_ANIMATION = yes BOOTLOADER = qmk-dfu
M layouts/community/ergodox/drashna/config.h => layouts/community/ergodox/drashna/config.h +0 -1
@@ 14,4 14,3 @@ #define PRODUCT DrashnaDox - Hacked ErgoDox EZ Shine #undef DEBOUNCE #define DEBOUNCE 5
M layouts/community/ergodox/drashna/keymap.c => layouts/community/ergodox/drashna/keymap.c +8 -8
@@ 44,10 44,10 @@ bool skip_leds = false; KC_TAB, K01, K02, K03, K04, K05, TG(_DIABLO), TG(_DIABLO), K06, K07, K08, K09, K0A, KC_BSLS, \ KC_C1R3, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, KC_QUOT, \ KC_MLSF, CTL_T(K21), K22, K23, K24, K25, TG(_GAMEPAD), TG(_GAMEPAD), K26, K27, K28, K29, CTL_T(K2A), KC_MRSF, \ KC_GRV, OS_MEH, OS_HYPR, KC_LBRC, KC_RBRC, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, UC(0x2E2E), \ OS_LALT, OS_LGUI, OS_RGUI, CTL_T(KC_ESCAPE), \ KC_HOME, KC_PGUP, \ LT(_LOWER, KC_SPACE),KC_BSPC, KC_END, KC_PGDN, KC_DEL, LT(_RAISE, KC_ENTER) \ KC_GRV, OS_MEH, OS_HYPR, KC_LBRC, KC_RBRC, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, UC(0x2E2E), \ OS_LALT, OS_LGUI, OS_RGUI, CTL_T(KC_ESCAPE), \ KC_APP, KC_MENU, \ KC_SPC, LT(_LOWER, KC_BSPC), OS_LWR, OS_RSE, LT(_RAISE, KC_DEL), KC_ENT \ ) @@ #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] = { [_LOWER] = LAYOUT_ergodox_pretty_wrapper( KC_F12, _________________FUNC_LEFT_________________, _______, _______, _________________FUNC_RIGHT________________, KC_F11, KC_TILD, _________________LOWER_L1__________________, _______, _______, _________________LOWER_R1__________________, _______, _______, ___________________BLANK___________________, _________________LOWER_R2__________________, KC_PIPE, KC_TILD, _________________LOWER_L1__________________, _______, _______, _________________LOWER_R1__________________, KC_PIPE, _______, ___________________BLANK___________________, _________________LOWER_R2__________________, KC_DQUO, _______, ___________________BLANK___________________, _______, _______, _________________LOWER_R3__________________, KC_PSCR, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PAUS, @@ _______, _______, _______, _______, 281,8 281,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_RAISE] = LAYOUT_ergodox_pretty_wrapper( KC_F12, _________________FUNC_LEFT_________________, _______, _______, _________________FUNC_RIGHT________________, KC_F11, KC_GRV, _________________RAISE_L1__________________, _______, _______, _________________RAISE_R1__________________, _______, _______, _________________RAISE_L2__________________, _________________RAISE_R2__________________, KC_BSLS, KC_GRV, _________________RAISE_L1__________________, _______, _______, _________________RAISE_R1__________________, KC_BSLS, _______, _________________RAISE_L2__________________, _________________RAISE_R2__________________, KC_QUOT, _______, _________________RAISE_L3__________________, _______, _______, _________________RAISE_R3__________________, KC_PSCR, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_SLCK, _______, _______, _______, _______,
M layouts/community/ergodox/drashna/rules.mk => layouts/community/ergodox/drashna/rules.mk +3 -0
@@ 14,3 14,6 @@ UNICDOEMAP_ENABLE = no MACROS_ENABLED = no RGBLIGHT_TWINKLE = no INDICATOR_LIGHTS = no RGBLIGHT_STARTUP_ANIMATION = yes DEBOUNCE_TYPE = eager_pk
M layouts/community/ergodox/drashna_glow/config.h => layouts/community/ergodox/drashna_glow/config.h +1 -7
@@ 5,17 5,11 @@ #undef PRODUCT #define PRODUCT DrashnaDox - Hacked ErgoDox EZ Glow #undef DEBOUNCE #define DEBOUNCE 5 #ifdef RGB_MATRIX_ENABLE // #define RGB_MATRIX_KEYPRESSES // reacts to keypresses (will slow down matrix scan by a lot) #define RGB_MATRIX_KEYPRESSES // reacts to keypresses (will slow down matrix scan by a lot) // #define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (not recommened) // #define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects #define RGB_DISABLE_WHEN_USB_SUSPENDED true// turn off effects when suspended // #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 // #define EECONFIG_RGB_MATRIX (uint32_t *)16 #endif #undef DEBOUNCE #define DEBOUNCE 1
M layouts/community/ergodox/drashna_glow/rules.mk => layouts/community/ergodox/drashna_glow/rules.mk +5 -2
@@ 1,7 1,10 @@ USER_NAME := drashna SRC += ../drashna/keymap.c -include $(LAYOUT_KEYMAP_PATH)/../drashna/rules.mk CORRECTED_LAYOUT := $(LAYOUTS_REPO)/$(LAYOUT)/drashna SRC += $(CORRECTED_LAYOUT)/keymap.c -include $(CORRECTED_LAYOUT)/rules.mk ifneq (,$(findstring ergodox_ez,$(KEYBOARD))) RGBLIGHT_ENABLE = no
M layouts/community/numpad_5x6/drashna/config.h => layouts/community/numpad_5x6/drashna/config.h +4 -2
@@ 14,5 14,7 @@ #define RGBLIGHT_EFFECT_BREATHE_CENTER 1 #endif // RGBLIGHT_ENABLE #define TAP_CODE_DELAY 10 #if defined(KEYBOARD_primekb_prime_m) #undef PRODUCT #define PRODUCT Drashna Hacked Prime_M Macro Pad #endif
M layouts/community/numpad_5x6/drashna/rules.mk => layouts/community/numpad_5x6/drashna/rules.mk +1 -0
@@ 7,3 7,4 @@ INDICATOR_LIGHTS = no RGBLIGHT_TWINKLE = yes MACROS_ENABLED = no MAKE_BOOTLOADER = yes RGBLIGHT_STARTUP_ANIMATION = yes
M layouts/community/ortho_4x12/drashna/config.h => layouts/community/ortho_4x12/drashna/config.h +11 -2
@@ 36,6 36,17 @@ #endif // KEYBOARD_planck_light #if defined(KEYBOARD_planck) #undef PRODUCT #if defined(KEYBOARD_planck_light) #define PRODUCT Drashna Hacked RGB Beacon (Planck Light) #elif defined(KEYBOARD_planck_rev6) #define PRODUCT Drashna Hacked Planck Rev6 #elif defined(KEYBOARD_planck_EZ) #define PRODUCT Drashna Hacked Planck EZ #endif #endif /* * MIDI options @@ */ 59,5 70,3 @@ /* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ //#define MIDI_TONE_KEYCODE_OCTAVES 2 #define TAP_CODE_DELAY 10
M layouts/community/ortho_4x12/drashna/keymap.c => layouts/community/ortho_4x12/drashna/keymap.c +0 -2
@@ 139,10 139,8 @@ bool process_record_keymap(uint16_t keycode, keyrecord_t *record) { #ifdef BACKLIGHT_ENABLE backlight_step(); #endif PORTE &= ~(1<<6); } else { unregister_code(KC_RSFT); PORTE |= (1<<6); } return false; break;
M layouts/community/ortho_4x12/drashna/rules.mk => layouts/community/ortho_4x12/drashna/rules.mk +7 -5
@@ 6,13 6,15 @@ COMMAND_ENABLE = no # Commands for debug and configuration TAP_DANCE_ENABLE = no AUDIO_ENABLE = yes ifeq (,$(findstring planck/rev6,$(KEYBOARD))) # Make sure it's NOT the Planck Rev6 RGBLIGHT_ENABLE = yes INDICATOR_LIGHTS = yes RGBLIGHT_TWINKLE = yes RGBLIGHT_ENABLE = yes INDICATOR_LIGHTS = yes RGBLIGHT_TWINKLE = yes RGBLIGHT_STARTUP_ANIMATION = yes endif ifneq (,$(findstring planck/light,$(KEYBOARD))) # Make sure it IS the Planck Light RGB_MATRIX_ENABLE = yes RGBLIGHT_ENABLE = yes RGB_MATRIX_ENABLE = yes RGBLIGHT_ENABLE = no RGBLIGHT_STARTUP_ANIMATION = no endif ifeq ($(strip $(PROTOCOL)), VUSB)
M layouts/community/ortho_5x12/drashna/config.h => layouts/community/ortho_5x12/drashna/config.h +6 -0
@@ 13,4 13,10 @@ #define RGBLIGHT_SAT_STEP 8 #undef RGBLIGHT_VAL_STEP #define RGBLIGHT_VAL_STEP 8 #define RGBLIGHT_LIMIT_VAL 175 #define RGBLIGHT_SLEEP #define RGBLIGHT_EFFECT_KNIGHT_OFFSET 3 #define RGBLIGHT_EFFECT_KNIGHT_LED_NUM 14 #endif
A users/drashna/.gitignore => users/drashna/.gitignore +3 -0
M users/drashna/.gitlab-ci.yml => users/drashna/.gitlab-ci.yml +4 -26
@@ 3,7 3,7 @@ stages: - build - deploy Tests: Preliminary Test: stage: test variables: @@ GIT_SUBMODULE_STRATEGY: recursive 12,12 12,12 @@ Tests: image: ubuntu:18.10 before_script: - apt-get update -qy - 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 - 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 - avr-gcc --version - uname -a script: - make test:all - make planck/rev6:default - make planck/rev6:default planck/rev5:default QMK Firmware Defaults: @@ stage: deploy 47,29 47,7 @@ Drashna Firmware: - 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 - avr-gcc --version script: - 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 artifacts: name: "$CI_JOB_NAME-$CI_COMMIT_REF_SLUG" paths: - ./*.hex - ./*.bin expire_in: 1 month Firmware Deploy: stage: deploy dependencies: - Drashna Firmware variables: GIT_SUBMODULE_STRATEGY: recursive tags: - linux image: ubuntu:18.10 before_script: - apt-get update -qy - 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 - avr-gcc --version script: - 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 - 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 artifacts: name: "$CI_JOB_NAME-$CI_COMMIT_REF_SLUG" paths:
M users/drashna/config.h => users/drashna/config.h +1 -1
@@ 82,4 82,4 @@ #define NO_ACTION_MACRO #define NO_ACTION_FUNCTION #define MACRO_TIMER 5 #define TAP_CODE_DELAY 5
M users/drashna/drashna.c => users/drashna/drashna.c +7 -11
@@ 38,9 38,9 @@ bool send_game_macro(const char *str, keyrecord_t *record, bool override) { } clear_keyboard(); tap_code(keycode); wait_ms(50); send_string_with_delay(str, MACRO_TIMER); wait_ms(50); wait_ms(TAP_CODE_DELAY); send_string_with_delay(str, TAP_CODE_DELAY); wait_ms(TAP_CODE_DELAY); tap_code(KC_ENTER); } @@ if (override) wait_ms(3000); 53,12 53,10 @@ bool mod_key_press_timer (uint16_t code, uint16_t mod_code, bool pressed) { this_timer= timer_read(); } else { if (timer_elapsed(this_timer) < TAPPING_TERM){ register_code(code); unregister_code(code); tap_code(code); } else { register_code(mod_code); register_code(code); unregister_code(code); tap_code(code); unregister_code(mod_code); } @@ } 70,12 68,10 @@ bool mod_key_press (uint16_t code, uint16_t mod_code, bool pressed, uint16_t thi this_timer= timer_read(); } else { if (timer_elapsed(this_timer) < TAPPING_TERM){ register_code(code); unregister_code(code); tap_code(code); } else { register_code(mod_code); register_code(code); unregister_code(code); tap_code(code); unregister_code(mod_code); } }
M users/drashna/drashna.h => users/drashna/drashna.h +5 -1
@@ 27,7 27,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #if defined(RGBLIGHT_ENABLE) || defined(RGB_MATRIX_ENABLE) #include "rgb_stuff.h" #endif #if defined(AUDIO_ENABLE) && __GNUC__ > 7 #if __has_include("drashna_song_list.h") #include "drashna_song_list.h" #endif #endif /* Define layer names */ enum userspace_layers {
M users/drashna/process_records.c => users/drashna/process_records.c +9 -11
@@ 18,7 18,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { // If console is enabled, it will print the matrix position and status of each key pressed #ifdef KEYLOGGER_ENABLE #if defined(KEYBOARD_ergodox_ez) || defined(KEYBOARD_iris_rev2) #if defined(KEYBOARD_ergodox_ez) || defined(KEYBOARD_keebio_iris_rev2) xprintf("KL: kc: %u, col: %u, row: %u, pressed: %u\n", keycode, record->event.key.row, record->event.key.col, record->event.pressed); #else @@ 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) { uint8_t temp_mod = get_mods(); uint8_t temp_osm = get_oneshot_mods(); clear_mods(); clear_oneshot_mods(); send_string_with_delay_P(PSTR("make " QMK_KEYBOARD ":" QMK_KEYMAP), MACRO_TIMER); send_string_with_delay_P(PSTR("make " QMK_KEYBOARD ":" QMK_KEYMAP), TAP_CODE_DELAY); #ifndef MAKE_BOOTLOADER if ( ( temp_mod | temp_osm ) & MOD_MASK_SHIFT ) #endif { #if defined(__arm__) send_string_with_delay_P(PSTR(":dfu-util"), MACRO_TIMER); send_string_with_delay_P(PSTR(":dfu-util"), TAP_CODE_DELAY); #elif defined(BOOTLOADER_DFU) send_string_with_delay_P(PSTR(":dfu"), MACRO_TIMER); send_string_with_delay_P(PSTR(":dfu"), TAP_CODE_DELAY); #elif defined(BOOTLOADER_HALFKAY) send_string_with_delay_P(PSTR(":teensy"), MACRO_TIMER); send_string_with_delay_P(PSTR(":teensy"), TAP_CODE_DELAY); #elif defined(BOOTLOADER_CATERINA) send_string_with_delay_P(PSTR(":avrdude"), MACRO_TIMER); send_string_with_delay_P(PSTR(":avrdude"), TAP_CODE_DELAY); #endif // bootloader options } if ( ( temp_mod | temp_osm ) & MOD_MASK_CTRL) { send_string_with_delay_P(PSTR(" -j8 --output-sync"), MACRO_TIMER); } send_string_with_delay_P(PSTR(SS_TAP(X_ENTER)), MACRO_TIMER); set_mods(temp_mod); set_oneshot_mods(temp_osm); if ( ( temp_mod | temp_osm ) & MOD_MASK_CTRL) { send_string_with_delay_P(PSTR(" -j8 --output-sync"), TAP_CODE_DELAY); } send_string_with_delay_P(PSTR(SS_TAP(X_ENTER)), TAP_CODE_DELAY); } break; case VRSN: // Prints firmware version if (record->event.pressed) { send_string_with_delay_P(PSTR(QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION ", Built on: " QMK_BUILDDATE), MACRO_TIMER); send_string_with_delay_P(PSTR(QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION ", Built on: " QMK_BUILDDATE), TAP_CODE_DELAY); } break;
M users/drashna/process_records.h => users/drashna/process_records.h +2 -0
@@ 56,6 56,8 @@ bool process_record_keymap(uint16_t keycode, keyrecord_t *record); #define ADJUST MO(_ADJUST) #define TG_MODS TG(_MODS) #define TG_GAME TG(_GAMEPAD) #define OS_LWR OSL(_LOWER) #define OS_RSE OSL(_RAISE) #define KC_SEC1 KC_SECRET_1 #define KC_SEC2 KC_SECRET_2
M users/drashna/rgb_stuff.c => users/drashna/rgb_stuff.c +14 -11
@@ 247,17 247,20 @@ bool process_record_user_rgb(uint16_t keycode, keyrecord_t *record) { void keyboard_post_init_rgb(void) { #ifdef RGBLIGHT_ENABLE rgblight_enable_noeeprom(); layer_state_set_user(layer_state); uint16_t old_hue = rgblight_config.hue; rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT); for (uint16_t i = 360; i > 0; i--) { rgblight_sethsv_noeeprom( ( i + old_hue) % 360, 255, 255); wait_ms(10); } layer_state_set_user(layer_state); #if defined(RGBLIGHT_ENABLE) && defined(RGBLIGHT_STARTUP_ANIMATION) if (userspace_config.rgb_layer_change) { rgblight_enable_noeeprom(); } if (rgblight_config.enable) { layer_state_set_user(layer_state); uint16_t old_hue = rgblight_config.hue; rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT); for (uint16_t i = 360; i > 0; i--) { rgblight_sethsv_noeeprom( ( i + old_hue) % 360, 255, 255); matrix_scan(); wait_ms(10); } } #endif layer_state_set_user(layer_state); } @@ void matrix_scan_rgb(void) { 278,7 281,7 @@ uint32_t layer_state_set_rgb(uint32_t state) { switch (biton32(state)) { case _MACROS: rgblight_sethsv_noeeprom_orange(); userspace_config.is_overwatch ? rgblight_effect_snake(RGBLIGHT_MODE_SNAKE + 2) : rgblight_effect_snake(RGBLIGHT_MODE_SNAKE + 3); userspace_config.is_overwatch ? rgblight_mode_noeeprom(RGBLIGHT_MODE_SNAKE + 2) : rgblight_mode_noeeprom(RGBLIGHT_MODE_SNAKE + 3); break; case _MEDIA: rgblight_sethsv_noeeprom_chartreuse();
M users/drashna/rules.mk => users/drashna/rules.mk +6 -1
@@ 9,7 9,9 @@ ifeq ($(strip $(TAP_DANCE_ENABLE)), yes) SRC += tap_dances.c endif EXTRAFLAGS += -flto ifeq ($(PLATFORM),AVR) EXTRAFLAGS += -flto endif ifeq ($(strip $(NO_SECRETS)), yes) @@ OPT_DEFS += -DNO_SECRETS 26,6 28,9 @@ ifeq ($(strip $(RGBLIGHT_ENABLE)), yes) ifeq ($(strip $(RGBLIGHT_NOEEPROM)), yes) OPT_DEFS += -DRGBLIGHT_NOEEPROM endif ifeq ($(strip $(RGBLIGHT_STARTUP_ANIMATION)), yes) OPT_DEFS += -DRGBLIGHT_STARTUP_ANIMATION endif endif ifeq ($(strip $(RGB_MATRIX_ENABLE)), yes)