diff options
author | Drashna Jaelre <drashna@live.com> | 2019-09-07 08:57:30 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-09-07 08:57:30 -0700 |
commit | e88f80a891138d40acddcdd2b3dface8b2a57404 (patch) | |
tree | 1fa1e8cd0bd15d10970ce55efceaffcddaf01160 /keyboards | |
parent | 79a6c6eda50671b28f32dfb73728fcc1671fe4fc (diff) | |
download | firmware-e88f80a891138d40acddcdd2b3dface8b2a57404.tar.gz firmware-e88f80a891138d40acddcdd2b3dface8b2a57404.tar.bz2 firmware-e88f80a891138d40acddcdd2b3dface8b2a57404.zip |
[Keymap] Big Drashna code update (#6639)
* Add a quefrency keymap
* New Alt-ernate layouts
* Enable Per Key Tapping Term to preserve sanity
* Use underglow and mod lights for status on Corne
* Update the drashna_ms keymap for quefrency
* Disable Audio since there isn't enough space
* Update KC_MAKE to ues :flash target
* Cleanup ergodox layout
* Enable i2c support for Iris
* Add keymap support for CG_SWAP
* Enable RGB Matrix Shutdown mode
* enable heatmap
* Update gitlab CI to install python3
* Remove game macros
These are no longer needed, and haven't been used in ages
* Cleanup planck layout
* Add RGB Matrix fun and RGB cleanup
* Add keycode and config for RGB Matrix idle animations
* Clean up rgb idle animation code
* Add rgb idle keycode to keymaps
* Fix issues with rgb matrix idle animation
* Fix some handling for idle animation
* Reduce idle animation timeout to 15s to be more reasonable
* fix up rgb stuff
* Fix isses with rgb functions not being called for matrix
* Use custom EEPROM Magic Number so testing is easier
* Extend Default Layer macro to support a lot more layers
* Fix bjohnson macropad
* Adjust KC_MAKE to process mods for more consistent behavior
* Fix up rgb stuff on corne
* Corne OLED Overhaul
* Fixes a number of issues with weirdness.
* Fixes issues with keylogger (should be more reliable now)
* Modulaize the OLED render sections
* Rewrite layer display code
* Update URL for Font Editor
Due to odd issues, I ended up rewriting from scratch. And using PROGMEM versions, since I think I was getting memory overflows.
* Update polling rate on all keebs
* Fix planck ez layout config
* Remove macros from Viterbi
Diffstat (limited to 'keyboards')
-rw-r--r-- | keyboards/crkbd/keymaps/drashna/glcdfont.c | 4 | ||||
-rw-r--r-- | keyboards/crkbd/keymaps/drashna/keymap.c | 305 | ||||
-rw-r--r-- | keyboards/gergo/keymaps/drashna/keymap.c | 2 | ||||
-rw-r--r-- | keyboards/keebio/iris/keymaps/drashna/config.h | 4 | ||||
-rw-r--r-- | keyboards/keebio/iris/keymaps/drashna/keymap.c | 2 | ||||
-rw-r--r-- | keyboards/keebio/iris/keymaps/drashna/rules.mk | 3 | ||||
-rw-r--r-- | keyboards/keebio/quefrency/keymaps/drashna_ms/config.h | 39 | ||||
-rw-r--r-- | keyboards/keebio/quefrency/keymaps/drashna_ms/keymap.c | 43 | ||||
-rw-r--r-- | keyboards/keebio/quefrency/keymaps/drashna_ms/rules.mk | 5 | ||||
-rw-r--r-- | keyboards/keebio/viterbi/keymaps/drashna/keymap.c | 14 | ||||
-rw-r--r-- | keyboards/keebio/viterbi/keymaps/drashna/rules.mk | 1 | ||||
-rw-r--r-- | keyboards/orthodox/keymaps/drashna/keymap.c | 2 | ||||
-rw-r--r-- | keyboards/orthodox/keymaps/drashna/rules.mk | 1 |
13 files changed, 238 insertions, 187 deletions
diff --git a/keyboards/crkbd/keymaps/drashna/glcdfont.c b/keyboards/crkbd/keymaps/drashna/glcdfont.c index 28521b428..998b5c408 100644 --- a/keyboards/crkbd/keymaps/drashna/glcdfont.c +++ b/keyboards/crkbd/keymaps/drashna/glcdfont.c @@ -9,8 +9,8 @@ #define PROGMEM #endif -// Helidox 8x6 font with QMK Firmware Logo -// Online editor: http://teripom.x0.com/ +// Corne 8x6 font with QMK Firmware Logo +// Online editor: https://helixfonteditor.netlify.com/ const unsigned char font[] PROGMEM = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, diff --git a/keyboards/crkbd/keymaps/drashna/keymap.c b/keyboards/crkbd/keymaps/drashna/keymap.c index 693c53b16..36a5f5dd3 100644 --- a/keyboards/crkbd/keymaps/drashna/keymap.c +++ b/keyboards/crkbd/keymaps/drashna/keymap.c @@ -8,6 +8,14 @@ extern uint8_t is_master; // Following line allows macro to read current RGB settings extern rgblight_config_t rgblight_config; #endif +#ifdef OLED_DRIVER_ENABLE +static uint32_t oled_timer = 0; +static char keylog_str[6] = {}; +static uint16_t log_timer = 0; +static const char code_to_name[60] = {' ', ' ', ' ', ' ', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', 'R', 'E', 'B', 'T', '_', '-', '=', '[', ']', '\\', '#', ';', '\'', '`', ',', '.', '/', ' ', ' ', ' '}; + +void add_keylog(uint16_t keycode); +#endif enum crkbd_keycodes { RGBRST = NEW_SAFE_RANGE }; @@ -19,7 +27,7 @@ enum crkbd_keycodes { RGBRST = NEW_SAFE_RANGE }; ) \ LAYOUT_wrapper( \ KC_ESC, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, KC_MINS, \ - KC_TAB, ALT_T(K11), K12, K13, K14, K15, K16, K17, K18, K19, K1A, KC_QUOT, \ + KC_TAB, ALT_T(K11), K12, K13, K14, K15, K16, K17, K18, K19, K1A, RALT_T(KC_QUOT), \ OS_LSFT, CTL_T(K21), K22, K23, K24, K25, K26, K27, K28, K29, RCTL_T(K2A), OS_RSFT, \ KC_GRV, KC_SPC, BK_LWER, DL_RAIS, KC_ENT, OS_RGUI \ ) @@ -98,34 +106,42 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_ADJUST] = LAYOUT_wrapper( \ KC_MAKE, _________________ADJUST_L1_________________, _________________ADJUST_R1_________________, KC_RESET, VRSN, _________________ADJUST_L2_________________, _________________ADJUST_R2_________________, EEP_RST, - _______, _________________ADJUST_L3_________________, _________________ADJUST_R3_________________, KC_MPLY, + MG_NKRO, _________________ADJUST_L3_________________, _________________ADJUST_R3_________________, RGB_IDL, _______, KC_NUKE, _______, _______, TG_MODS, _______ ) }; // clang-format on +bool process_record_keymap(uint16_t keycode, keyrecord_t *record) { + if (record->event.pressed) { #ifdef OLED_DRIVER_ENABLE -oled_rotation_t oled_init_user(oled_rotation_t rotation) { return OLED_ROTATION_270; } -uint16_t oled_timer; - -char keylog_str[5] = {}; -uint8_t keylogs_str_idx = 0; -uint16_t log_timer = 0; + oled_timer = timer_read32(); + add_keylog(keycode); +#endif +#ifndef SPLIT_KEYBOARD + if (keycode == RESET && !is_master) { + return false; + } +#endif + } + return true; +} -const char code_to_name[60] = {' ', ' ', ' ', ' ', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', 'R', 'E', 'B', 'T', '_', '-', '=', '[', ']', '\\', '#', ';', '\'', '`', ',', '.', '/', ' ', ' ', ' '}; +#ifdef OLED_DRIVER_ENABLE +oled_rotation_t oled_init_user(oled_rotation_t rotation) { return OLED_ROTATION_270; } void add_keylog(uint16_t keycode) { if ((keycode >= QK_MOD_TAP && keycode <= QK_MOD_TAP_MAX) || (keycode >= QK_LAYER_TAP && keycode <= QK_LAYER_TAP_MAX)) { keycode = keycode & 0xFF; } - for (uint8_t i = 4; i > 0; i--) { + for (uint8_t i = 4; i > 0; --i) { keylog_str[i] = keylog_str[i - 1]; } + if (keycode < 60) { keylog_str[0] = code_to_name[keycode]; } - keylog_str[5] = 0; log_timer = timer_read(); } @@ -136,149 +152,118 @@ void update_log(void) { } } -bool process_record_keymap(uint16_t keycode, keyrecord_t *record) { - if (record->event.pressed) { - add_keylog(keycode); - oled_timer = timer_read(); - } - return true; -} - -void render_rgb_status(void) { - oled_write_ln("RGB:", false); - static char temp[20] = {0}; - snprintf(temp, sizeof(temp) + 1, "M:%3dH:%3dS:%3dV:%3d", rgb_matrix_config.mode, rgb_matrix_config.hsv.h, rgb_matrix_config.hsv.s, rgb_matrix_config.hsv.v); - oled_write(temp, false); +void render_keylogger_status(void) { + oled_write_P(PSTR("KLogr"), false); + oled_write(keylog_str, false); } -void render_status_main(void) { - /* Show Keyboard Layout */ - oled_write("Lyout", false); +void render_default_layer_state(void) { + oled_write_P(PSTR("Lyout"), false); switch (biton32(default_layer_state)) { case _QWERTY: - oled_write(" QRTY", false); + oled_write_P(PSTR(" QRTY"), false); break; case _COLEMAK: - oled_write(" COLE", false); + oled_write_P(PSTR(" COLE"), false); break; case _DVORAK: - oled_write(" DVRK", false); + oled_write_P(PSTR(" DVRK"), false); break; case _WORKMAN: - oled_write(" WKMN", false); + oled_write_P(PSTR(" WKMN"), false); break; case _NORMAN: - oled_write(" NORM", false); + oled_write_P(PSTR(" NORM"), false); break; case _MALTRON: - oled_write(" MLTN", false); + oled_write_P(PSTR(" MLTN"), false); break; case _EUCALYN: - oled_write(" ECLN", false); + oled_write_P(PSTR(" ECLN"), false); break; case _CARPLAX: - oled_write(" CRPX", false); + oled_write_P(PSTR(" CRPX"), false); break; } +} - /* Show Lock Status (only work on master side) */ - uint8_t led_usb_state = host_keyboard_leds(); - oled_write("Lock:", false); - oled_write(" ", false); - oled_write_ln("NUM", led_usb_state & (1 << USB_LED_NUM_LOCK)); - oled_write(" ", false); - oled_write("CAPS", led_usb_state & (1 << USB_LED_CAPS_LOCK)); - oled_write(" ", false); - oled_write("SCRL", led_usb_state & (1 << USB_LED_SCROLL_LOCK)); - - /* Show Alt-Gui Swap options */ - oled_write("BTMGK", false); - oled_write(" ", false); - oled_write_ln("Win", !keymap_config.swap_lalt_lgui); - oled_write(" ", false); - oled_write_ln("Mac", keymap_config.swap_lalt_lgui); - -# if defined(RGBLIGHT_ENABLE) || defined(RGB_MATRIX_ENABLE) - /* Show RGB Options */ - render_rgb_status(); -# endif +void render_layer_state(void) { + oled_write_P(PSTR("LAYER"), false); + oled_write_P(PSTR("Lower"), layer_state_is(_LOWER)); + oled_write_P(PSTR("Raise"), layer_state_is(_RAISE)); + oled_write_P(PSTR(" Mods"), layer_state_is(_MODS)); +} - oled_write(keylog_str, false); +void render_keylock_status(uint8_t led_usb_state) { + oled_write_P(PSTR("Lock:"), false); + oled_write_P(PSTR(" "), false); + oled_write_P(PSTR("NUM "), led_usb_state & (1 << USB_LED_NUM_LOCK)); + oled_write_P(PSTR(" "), false); + oled_write_P(PSTR("CAPS"), led_usb_state & (1 << USB_LED_CAPS_LOCK)); + oled_write_P(PSTR(" "), false); + oled_write_P(PSTR("SCRL"), led_usb_state & (1 << USB_LED_SCROLL_LOCK)); } -void render_status_secondary(void) { +void render_mod_status(uint8_t modifiers) { + oled_write_P(PSTR("Mods:"), false); + oled_write_P(PSTR(" SHFT"), (modifiers & MOD_MASK_SHIFT)); + oled_write_P(PSTR(" CTRL"), (modifiers & MOD_MASK_CTRL)); + oled_write_P(PSTR(" ALT "), (modifiers & MOD_MASK_ALT)); + oled_write_P(PSTR(" GUI "), (modifiers & MOD_MASK_GUI)); +} + +void render_bootmagic_status(void) { + /* Show Ctrl-Gui Swap options */ + static const char PROGMEM logo[][2][3] = { + {{0x97, 0x98, 0}, {0xb7, 0xb8, 0}}, + {{0x95, 0x96, 0}, {0xb5, 0xb6, 0}}, + }; + oled_write_P(PSTR("BTMGK"), false); + oled_write_P(PSTR(" "), false); + oled_write_P(logo[0][0], !keymap_config.swap_lctl_lgui); + oled_write_P(logo[1][0], keymap_config.swap_lctl_lgui); + oled_write_P(PSTR(" "), false); + oled_write_P(logo[0][1], !keymap_config.swap_lctl_lgui); + oled_write_P(logo[1][1], keymap_config.swap_lctl_lgui); + oled_write_P(PSTR(" NKRO"), keymap_config.nkro); +} + +void render_user_status(void) { + oled_write_P(PSTR("USER:"), false); + oled_write_P(PSTR(" Anim"), userspace_config.rgb_matrix_idle_anim); + oled_write_P(PSTR(" Layr"), userspace_config.rgb_layer_change); + oled_write_P(PSTR(" Nuke"), userspace_config.nuke_switch); +} + +void render_status_main(void) { /* Show Keyboard Layout */ - oled_write("Lyout", false); - switch (biton32(default_layer_state)) { - case _QWERTY: - oled_write(" QRTY", false); - break; - case _COLEMAK: - oled_write(" COLE", false); - break; - case _DVORAK: - oled_write(" DVRK", false); - break; - case _WORKMAN: - oled_write(" WKMN", false); - break; - case _NORMAN: - oled_write(" NORM", false); - break; - case _MALTRON: - oled_write(" MLTN", false); - break; - case _EUCALYN: - oled_write(" ECLN", false); - break; - case _CARPLAX: - oled_write(" CRPX", false); - break; - } + render_default_layer_state(); + render_keylock_status(host_keyboard_leds()); + render_bootmagic_status(); + render_user_status(); - /* Show Activate layer */ - oled_write("Layer", false); - switch (biton32(layer_state)) { - case _RAISE: - oled_write("Raise", false); - break; - case _LOWER: - oled_write("Lower", false); - break; - case _ADJUST: - oled_write("Adjst", false); - break; - default: - oled_write("Dflt ", false); - break; - } + render_keylogger_status(); +} - /* Show Mod */ - uint8_t modifiers = get_mods() | get_oneshot_mods(); - - oled_write("Mods:", false); - oled_write(" ", false); - oled_write_ln("SFT", (modifiers & MOD_MASK_SHIFT)); - oled_write(" ", false); - oled_write_ln("CTL", (modifiers & MOD_MASK_CTRL)); - oled_write(" ", false); - oled_write_ln("ALT", (modifiers & MOD_MASK_ALT)); - oled_write(" ", false); - oled_write_ln("GUI", (modifiers & MOD_MASK_GUI)); - -# if defined(RGBLIGHT_ENABLE) || defined(RGB_MATRIX_ENABLE) - render_rgb_status(); -# endif +void render_status_secondary(void) { + /* Show Keyboard Layout */ + render_default_layer_state(); + render_layer_state(); + render_mod_status(get_mods()|get_oneshot_mods()); - /* Show logged Keys */ - oled_write(keylog_str, false); + render_keylogger_status(); } void oled_task_user(void) { - if (timer_elapsed(oled_timer) > 60000) { + if (timer_elapsed32(oled_timer) > 30000) { oled_off(); return; } +#ifndef SPLIT_KEYBOARD + else { oled_on(); } +#endif + + update_log(); if (is_master) { render_status_main(); // Renders the current keyboard state (layer, lock, caps, scroll, etc) } else { @@ -286,7 +271,6 @@ void oled_task_user(void) { } } -void matrix_scan_keymap(void) { update_log(); } #endif uint16_t get_tapping_term(uint16_t keycode) { @@ -300,25 +284,43 @@ uint16_t get_tapping_term(uint16_t keycode) { #ifdef RGB_MATRIX_ENABLE -static bool is_suspended; -static bool rgb_matrix_enabled; - void suspend_power_down_keymap(void) { rgb_matrix_set_suspend_state(true); - if (!is_suspended) { - is_suspended = true; - rgb_matrix_enabled = (bool)rgb_matrix_config.enable; - rgb_matrix_disable_noeeprom(); - } } void suspend_wakeup_init_keymap(void) { rgb_matrix_set_suspend_state(false); - is_suspended = false; - if (rgb_matrix_enabled) { - rgb_matrix_enable_noeeprom(); +} + +void check_default_layer(uint8_t mode, uint8_t type) { + switch (biton32(default_layer_state)) { + case _QWERTY: + rgb_matrix_layer_helper(HSV_CYAN, mode, rgb_matrix_config.speed, type); + break; + case _COLEMAK: + rgb_matrix_layer_helper(HSV_MAGENTA, mode, rgb_matrix_config.speed, type); + break; + case _DVORAK: + rgb_matrix_layer_helper(HSV_SPRINGGREEN, mode, rgb_matrix_config.speed, type); + break; + case _WORKMAN: + rgb_matrix_layer_helper(HSV_GOLDENROD, mode, rgb_matrix_config.speed, type); + break; + case _NORMAN: + rgb_matrix_layer_helper(HSV_CORAL, mode, rgb_matrix_config.speed, type); + break; + case _MALTRON: + rgb_matrix_layer_helper(HSV_YELLOW, mode, rgb_matrix_config.speed, type); + break; + case _EUCALYN: + rgb_matrix_layer_helper(HSV_PINK, mode, rgb_matrix_config.speed, type); + break; + case _CARPLAX: + rgb_matrix_layer_helper(HSV_BLUE, mode, rgb_matrix_config.speed, type); + break; } } + void rgb_matrix_indicators_user(void) { if (userspace_config.rgb_layer_change && # ifdef RGB_DISABLE_WHEN_USB_SUSPENDED @@ -332,51 +334,26 @@ void rgb_matrix_indicators_user(void) { ) { switch (biton32(layer_state)) { case _GAMEPAD: - rgb_matrix_layer_helper(HSV_ORANGE, 1, rgb_matrix_config.speed, LED_FLAG_UNDERGLOW); + rgb_matrix_layer_helper(HSV_ORANGE, 0, rgb_matrix_config.speed, LED_FLAG_UNDERGLOW); break; case _DIABLO: - rgb_matrix_layer_helper(HSV_RED, 1, rgb_matrix_config.speed, LED_FLAG_UNDERGLOW); + rgb_matrix_layer_helper(HSV_RED, 0, rgb_matrix_config.speed, LED_FLAG_UNDERGLOW); break; case _RAISE: - rgb_matrix_layer_helper(HSV_YELLOW, 1, rgb_matrix_config.speed, LED_FLAG_UNDERGLOW); + rgb_matrix_layer_helper(HSV_YELLOW, 0, rgb_matrix_config.speed, LED_FLAG_UNDERGLOW); break; case _LOWER: - rgb_matrix_layer_helper(HSV_GREEN, 1, rgb_matrix_config.speed, LED_FLAG_UNDERGLOW); + rgb_matrix_layer_helper(HSV_GREEN, 0, rgb_matrix_config.speed, LED_FLAG_UNDERGLOW); break; case _ADJUST: - rgb_matrix_layer_helper(HSV_RED, 1, rgb_matrix_config.speed, LED_FLAG_UNDERGLOW); + rgb_matrix_layer_helper(HSV_RED, 0, rgb_matrix_config.speed, LED_FLAG_UNDERGLOW); break; default: { - bool mods_enabled = IS_LAYER_ON(_MODS); - switch (biton32(default_layer_state)) { - case _QWERTY: - rgb_matrix_layer_helper(HSV_CYAN, mods_enabled, rgb_matrix_config.speed, LED_FLAG_UNDERGLOW); - break; - case _COLEMAK: - rgb_matrix_layer_helper(HSV_MAGENTA, mods_enabled, rgb_matrix_config.speed, LED_FLAG_UNDERGLOW); - break; - case _DVORAK: - rgb_matrix_layer_helper(HSV_SPRINGGREEN, mods_enabled, rgb_matrix_config.speed, LED_FLAG_UNDERGLOW); - break; - case _WORKMAN: - rgb_matrix_layer_helper(HSV_GOLDENROD, mods_enabled, rgb_matrix_config.speed, LED_FLAG_UNDERGLOW); - break; - case _NORMAN: - rgb_matrix_layer_helper(HSV_CORAL, mods_enabled, rgb_matrix_config.speed, LED_FLAG_UNDERGLOW); - break; - case _MALTRON: - rgb_matrix_layer_helper(HSV_YELLOW, mods_enabled, rgb_matrix_config.speed, LED_FLAG_UNDERGLOW); - break; - case _EUCALYN: - rgb_matrix_layer_helper(HSV_PINK, mods_enabled, rgb_matrix_config.speed, LED_FLAG_UNDERGLOW); - break; - case _CARPLAX: - rgb_matrix_layer_helper(HSV_BLUE, mods_enabled, rgb_matrix_config.speed, LED_FLAG_UNDERGLOW); - break; - } + check_default_layer(IS_LAYER_ON(_MODS), LED_FLAG_UNDERGLOW); break; } } + check_default_layer(0, LED_FLAG_MODIFIER); } } #endif diff --git a/keyboards/gergo/keymaps/drashna/keymap.c b/keyboards/gergo/keymaps/drashna/keymap.c index 2843b332a..edc5a9e99 100644 --- a/keyboards/gergo/keymaps/drashna/keymap.c +++ b/keyboards/gergo/keymaps/drashna/keymap.c @@ -17,7 +17,7 @@ ) \ LAYOUT_gergo_wrapper( \ KC_ESC, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, KC_PIPE, \ - KC_TAB, K11, K12, K13, K14, K15, _______, _______, K16, K17, K18, K19, K1A, KC_QUOT, \ + KC_TAB, K11, K12, K13, K14, K15, _______, _______, K16, K17, K18, K19, K1A, RALT_T(KC_QUOT), \ OS_LSFT, CTL_T(K21), K22, K23, K24, K25, _______, _______, _______, _______, K26, K27, K28, K29, RCTL_T(K2A), OS_RSFT, \ KC_GRV, KC_SPC, BK_LWER, OS_LALT, OS_RGUI, DL_RAIS, KC_ENT, _______ \ ) diff --git a/keyboards/keebio/iris/keymaps/drashna/config.h b/keyboards/keebio/iris/keymaps/drashna/config.h index ee8ac8aff..6fff5d72c 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/>. /* Use I2C or Serial, not both */ -#define USE_SERIAL -// #define USE_I2C +// #define USE_SERIAL +#define USE_I2C /* Select hand configuration */ diff --git a/keyboards/keebio/iris/keymaps/drashna/keymap.c b/keyboards/keebio/iris/keymaps/drashna/keymap.c index fe10cb275..28783dd8a 100644 --- a/keyboards/keebio/iris/keymaps/drashna/keymap.c +++ b/keyboards/keebio/iris/keymaps/drashna/keymap.c @@ -11,7 +11,7 @@ LAYOUT_wrapper( \ KC_ESC, ________________NUMBER_LEFT________________, ________________NUMBER_RIGHT_______________, KC_MINS, \ KC_TAB , K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, KC_BSLS, \ - KC_C1R3, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, KC_QUOT, \ + KC_C1R3, ALT_T(K11), K12, K13, K14, K15, K16, K17, K18, K19, K1A, RALT_T(KC_QUOT), \ OS_LSFT, CTL_T(K21), K22, K23, K24, K25, OS_LALT, OS_RGUI, K26, K27, K28, K29, RCTL_T(K2A), OS_RSFT, \ KC_GRV, KC_SPC, LT(_LOWER,KC_BSPC), LT(_RAISE,KC_DEL), KC_ENT, RAISE \ ) diff --git a/keyboards/keebio/iris/keymaps/drashna/rules.mk b/keyboards/keebio/iris/keymaps/drashna/rules.mk index 17acd32be..cb398cd4e 100644 --- a/keyboards/keebio/iris/keymaps/drashna/rules.mk +++ b/keyboards/keebio/iris/keymaps/drashna/rules.mk @@ -5,14 +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 BACKLIGHT_ENABLE = no SWAP_HANDS_ENABLE = no SPACE_CADET_ENABLE = no INDICATOR_LIGHTS = no -MACROS_ENABLED = no RGBLIGHT_TWINKLE = no RGBLIGHT_STARTUP_ANIMATION = no diff --git a/keyboards/keebio/quefrency/keymaps/drashna_ms/config.h b/keyboards/keebio/quefrency/keymaps/drashna_ms/config.h new file mode 100644 index 000000000..ec2a2ea16 --- /dev/null +++ b/keyboards/keebio/quefrency/keymaps/drashna_ms/config.h @@ -0,0 +1,39 @@ +/* +This is the c configuration file for the keymap + +Copyright 2012 Jun Wako <wakojun@gmail.com> +Copyright 2015 Jack Humbert +Copyright 2018 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 + +// #define USE_I2C +#define EE_HANDS + + +#ifdef RGBLIGHT_ENABLE + #define RGBLIGHT_SPLIT + #undef RGBLED_NUM + #define RGBLED_NUM 17 + #define RGBLED_SPLIT { 9, 8 } + #define RGBLIGHT_SLEEP +#endif + +#ifdef AUDIO_ENABLE + #define B7_AUDIO + #define AUDIO_CLICKY +#endif diff --git a/keyboards/keebio/quefrency/keymaps/drashna_ms/keymap.c b/keyboards/keebio/quefrency/keymaps/drashna_ms/keymap.c new file mode 100644 index 000000000..445709bc3 --- /dev/null +++ b/keyboards/keebio/quefrency/keymaps/drashna_ms/keymap.c @@ -0,0 +1,43 @@ +#include QMK_KEYBOARD_H +#include "version.h" + +enum layers { + _BASE, + _FN1, +}; + +enum custom_keycodes { + KC_MAKE = SAFE_RANGE, +}; + + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_BASE] = LAYOUT_65_with_macro( + KC_F1, KC_F2, KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, XXXXXXX, KC_BSPC, KC_HOME, \ + KC_F3, KC_F4, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_END, \ + KC_F5, KC_F6, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP, \ + KC_F7, KC_F8, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN, \ + KC_F9, KC_F10, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(_FN1), KC_SPC, XXXXXXX, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + + [_FN1] = LAYOUT_65_with_macro( + _______, _______, KC_GESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_BSPC, RESET, \ + _______, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, EEP_RST, \ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \ + _______, _______, _______, RGB_RMOD,RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, \ + _______, _______, KC_TILD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ) +}; + + + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case KC_MAKE: // Compiles the firmware, and adds the flash command based on keyboard bootloader + if (!record->event.pressed) + send_string_with_delay_P(PSTR("make " QMK_KEYBOARD ":" QMK_KEYMAP ":dfu" SS_TAP(X_ENTER)), 10); + + break; + } + return true; +} diff --git a/keyboards/keebio/quefrency/keymaps/drashna_ms/rules.mk b/keyboards/keebio/quefrency/keymaps/drashna_ms/rules.mk new file mode 100644 index 000000000..1b8b582ab --- /dev/null +++ b/keyboards/keebio/quefrency/keymaps/drashna_ms/rules.mk @@ -0,0 +1,5 @@ +LINK_TIME_OPTIMIZATION_ENABLE = yes +RGBLIGHT_ENABLE = yes +EXTRAKEY_ENABLE = yes +AUDIO_ENABLE = yes +BOOTLOADER = qmk-dfu diff --git a/keyboards/keebio/viterbi/keymaps/drashna/keymap.c b/keyboards/keebio/viterbi/keymaps/drashna/keymap.c index 1afc59fb9..9c17c5a57 100644 --- a/keyboards/keebio/viterbi/keymaps/drashna/keymap.c +++ b/keyboards/keebio/viterbi/keymaps/drashna/keymap.c @@ -10,7 +10,6 @@ extern keymap_config_t keymap_config; // Fillers to make layering more clear -#define LMACRO OSL(_MACROS) #define DIABLO TG(_DIABLO) #define GAMEPAD TG(_GAMEPAD) #define MEDIA TT(_MEDIA) @@ -23,7 +22,7 @@ extern keymap_config_t keymap_config; const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_NUMLOCK] = LAYOUT_ortho_5x7( - LMACRO, DIABLO, GAMEPAD, KC_NLCK, KC_SLCK, KC_COLN, KC_PSLS, + KC_NO, DIABLO, GAMEPAD, KC_NLCK, KC_SLCK, KC_COLN, KC_PSLS, MEDIA, KC_CALC, XXXXXXX, KC_P7, KC_P8, KC_P9, KC_PAST, KC_HOME, KC_DEL, KC_PGUP, KC_P4, KC_P5, KC_P6, KC_PMNS, KC_END, KC_UP, KC_PGDN, KC_P1, KC_P2, KC_P3, KC_PPLS, @@ -39,22 +38,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_GAMEPAD] = LAYOUT_ortho_5x7( // Game pad layout designed primarily for Overwatch - LMACRO, KC_ESC, GAMEPAD, KC_1, KC_2, KC_3, KC_4, + KC_NO, KC_ESC, GAMEPAD, KC_1, KC_2, KC_3, KC_4, MEDIA, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Z, KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_Y, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_F1, KC_U, KC_I, KC_Y, KC_V, KC_SPC, KC_V ), - [_MACROS] = LAYOUT_ortho_5x7( - LMACRO, KC_OVERWATCH,GAMEPAD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - KC_C9, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - KC_SYMM, KC_TORB, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - KC_GLHF, KC_GOODGAME, KC_GGEZ, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - KC_SALT, KC_MORESALT, KC_SALTHARD, KC_JUSTGAME, KC_AIM, XXXXXXX, KC_PENT - ), - - [_MEDIA] = LAYOUT_ortho_5x7( KC_MAKE, KC_RESET,MU_TOG, AU_ON, AU_OFF, CK_TOGG, RGB_SAD, MEDIA, EEP_RST, KC_RGB_T,RGB_M_P, RGB_M_B, RGB_M_R, RGB_SAI, diff --git a/keyboards/keebio/viterbi/keymaps/drashna/rules.mk b/keyboards/keebio/viterbi/keymaps/drashna/rules.mk index f42e065d5..3246c1807 100644 --- a/keyboards/keebio/viterbi/keymaps/drashna/rules.mk +++ b/keyboards/keebio/viterbi/keymaps/drashna/rules.mk @@ -11,7 +11,6 @@ SPLIT_KEYBOARD = no SPACE_CADET_ENABLE = no NO_SECRETS = yes -MACROS_ENABLED = yes INDICATOR_LIGHTS = no RGBLIGHT_TWINKLE = no LAYOUTS = ortho_5x7 diff --git a/keyboards/orthodox/keymaps/drashna/keymap.c b/keyboards/orthodox/keymaps/drashna/keymap.c index 56799ae2c..bf6b62b41 100644 --- a/keyboards/orthodox/keymaps/drashna/keymap.c +++ b/keyboards/orthodox/keymaps/drashna/keymap.c @@ -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, RAISE, K16, K17, K18, K19, K1A, KC_QUOT, \ + KC_TAB, ALT_T(K11), K12, K13, K14, K15, OS_LALT, OS_LGUI, OS_RALT, RAISE, K16, K17, K18, K19, K1A, RALT_T(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, RCTL_T(K2A), KC_MRSF \ ) #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 a122b9e0f..0d28c44a7 100644 --- a/keyboards/orthodox/keymaps/drashna/rules.mk +++ b/keyboards/orthodox/keymaps/drashna/rules.mk @@ -10,7 +10,6 @@ NKRO_ENABLE = yes SPACE_CADET_ENABLE = no INDICATOR_LIGHTS = yes -MACROS_ENABLED = no RGBLIGHT_TWINKLE = no RGBLIGHT_STARTUP_ANIMATION = yes |