Keymap updates (#4706)
* adding my keymap * update keymap * adding gamecat keymap for jc65 keyboard * updating jc65-gamecat keymap * updating jc65-gamecat keymap * updating jc65-gamecat keymap * updating jc65-gamecat keymap * M10a keymap and M65a updates * keymap updates * keymap updates * M10a/M65a keymap updates * M10a/M65a keymap updates * Delete test.txt * M65 keymap update * M65 keymap update * M65 keymap update * M65/M10 keymap updates * M65 keymap update * M65 keymap update * M65 keymap update * M65 keymap update * M65 keymap update * M65/M10 keymap update * M65 keymap update * M65 keymap update * M65 keymap update * M65 keymap update * M65 keymap update * Set theme jekyll-theme-cayman * Set theme jekyll-theme-slate * M65 keymap update * M10a/M65a keymap updates * M10a keymap update * M65a keymap update * M65a keymap update * M65a keymap update * M65a readme update * M65a/M10a updates * M65a readme updates * M65a/M10a updates * M65A update * M65A update * M65A update * M65A update * M65A/M10A keymap update * M10A keymap update * Set theme jekyll-theme-tactile * M10A keymap update * M65A keymap.c update * M65 keymap added LED backlight toggle, inc/dec to adjust layer. * M65 keymap/readme updates. * M65 keymap fix * M65 keymap update * remove theme * fix comments/readme * update keymap * LED backlight update, guess based on reading atmega32u4 documentation for DDRB/PORTB regs, believe DDRB should only be written to once not every time CAPS is hit, but really not too sure. * LED backlight update, guess based on reading atmega32u4 documentation for DDRB/PORTB regs, believe DDRB should only be written to once not every time CAPS is hit, but really not too sure. * M65 keymap update * Updated M65, M10, and gonNerd keymaps. * update * del * keymap updates M65, M10, gonnerd * update keymaps * adding back readme that somehow got removed. * updated keymap * update keymap * add back readme * Added h87a keymap, updated m10a/jc65/gonnerd * Update h87a keymap * Updates after feedback * Updates after feedback * Updates after feedback * Updates after feedback
This commit is contained in:
		
							parent
							
								
									526bc4c7cc
								
							
						
					
					
						commit
						6cb2d7ba6d
					
				
					 15 changed files with 1017 additions and 572 deletions
				
			
		| 
						 | 
				
			
			@ -1,6 +1,4 @@
 | 
			
		|||
#include "m10a.h"
 | 
			
		||||
#include "action_layer.h"
 | 
			
		||||
#include "eeconfig.h"
 | 
			
		||||
#include QMK_KEYBOARD_H
 | 
			
		||||
#include "version.h"
 | 
			
		||||
 | 
			
		||||
extern keymap_config_t keymap_config;
 | 
			
		||||
| 
						 | 
				
			
			@ -18,46 +16,48 @@ enum layers {
 | 
			
		|||
    _L9
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
enum m10a_keycodes {
 | 
			
		||||
enum custom_keycodes {
 | 
			
		||||
    DYNAMIC_MACRO_RANGE = SAFE_RANGE,
 | 
			
		||||
    QMK_REV,
 | 
			
		||||
    KC_WEB,
 | 
			
		||||
    KC_WCLS
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
extern backlight_config_t backlight_config;
 | 
			
		||||
 | 
			
		||||
#include "dynamic_macro.h"
 | 
			
		||||
#define _______ KC_TRNS
 | 
			
		||||
#define XXXXXXX KC_NO
 | 
			
		||||
#define FN_ZERO LT(_L9, KC_0)
 | 
			
		||||
#define FN_ZERO LT(_L9, KC_KP_0)
 | 
			
		||||
#define KC_DMR1 DYN_REC_START1
 | 
			
		||||
#define KC_DMR2 DYN_REC_START2
 | 
			
		||||
#define KC_DMP1 DYN_MACRO_PLAY1
 | 
			
		||||
#define KC_DMP2 DYN_MACRO_PLAY2
 | 
			
		||||
#define KC_DMRS DYN_REC_STOP
 | 
			
		||||
 | 
			
		||||
static uint8_t current_layer;
 | 
			
		||||
 | 
			
		||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		||||
    /* .-----------.  .-----------.  .-----------.  .-----------.  .-----------.
 | 
			
		||||
    *  |  7|  8|  9|  |  +|  -|  *|  |  ^|  &|  !|  |VLU|Ver|WFD|  |VLU|NXT|FFD|
 | 
			
		||||
    *  |-----------|  |-----------|  |-----------|  |-----------|  |-----------|
 | 
			
		||||
    *  |  4|  5|  6|  |  /|  %|  ,|  |  D|  E|  F|  |MUT|C-W|CHR|  |MUT|STP|PLY|
 | 
			
		||||
    *  |-----------|  |-----------|  |-----------|  |-----------|  |-----------|
 | 
			
		||||
    *  |  1|  2|  3|  |  .|  =|Ent|  |  A|  B|  C|  |VLD|CMP|WBK|  |VLD|PRV|RWD|
 | 
			
		||||
    *  |-----------|  |-----------|  |-----------|  |-----------|  |-----------|
 | 
			
		||||
    *  |L0 |  _L9/0|  |L1 |  _L9  |  |L2 |  _L9  |  |L3 |  _L9  |  |L4 |  _L9  |
 | 
			
		||||
    *  *-----------*  *-----------*  *-----------*  *-----------*  *-----------*
 | 
			
		||||
    *  .-----------.  .-----------.  .-----------.  .-----------.  .-----------.
 | 
			
		||||
    *  |   |   |   |  |   |   |   |  |MP1|   |MP2|  |   |   |RST|  |_L6|_L7|_L8|
 | 
			
		||||
    *  |-----------|  |-----------|  |-----------|  |-----------|  |-----------|
 | 
			
		||||
    *  |   |   |   |  |   |   |   |  |   |MRS|   |  |   |   |   |  |_L3|_L4|_L5|
 | 
			
		||||
    *  |-----------|  |-----------|  |-----------|  |-----------|  |-----------|
 | 
			
		||||
    *  |   |   |   |  |   |   |   |  |MR1|   |MR2|  |   |   |   |  |_L0|_L1|_L2|
 | 
			
		||||
    *  |-----------|  |-----------|  |-----------|  |-----------|  |-----------|
 | 
			
		||||
    *  |L5 |  _L9  |  |L6 |  _L9  |  |L7 |  _L9  |  |L8 |  _L9  |  |L9 |       |
 | 
			
		||||
    *  *-----------*  *-----------*  *-----------*  *-----------*  *-----------*
 | 
			
		||||
    /*## Layout Config:
 | 
			
		||||
    *     .-----------.  .-----------.  .-----------.  .-----------.  .-----------.
 | 
			
		||||
    *     |7  |8  |9  |  |+  |-  |*  |  |^  |&  |!  |  |VLU|Ver|WFD|  |VLU|NXT|FFD|
 | 
			
		||||
    *     |-----------|  |-----------|  |-----------|  |-----------|  |-----------|
 | 
			
		||||
    *     |4  |5  |6  |  |/  |%  |,  |  |D  |E  |F  |  |MUT|C-W|CHR|  |MUT|STP|PLY|
 | 
			
		||||
    *     |-----------|  |-----------|  |-----------|  |-----------|  |-----------|
 | 
			
		||||
    *     |1  |2  |3  |  |.  |=  |Ent|  |A  |B  |C  |  |VLD|CMP|WBK|  |VLD|PRV|RWD|
 | 
			
		||||
    *     |-----------|  |-----------|  |-----------|  |-----------|  |-----------|
 | 
			
		||||
    *     |#L0|_L9/0  |  |#L1|_L9    |  |#L2|_L9    |  |#L3|_L9    |  |#L4|_L9    |
 | 
			
		||||
    *     *-----------*  *-----------*  *-----------*  *-----------*  *-----------*
 | 
			
		||||
    *     .-----------.  .-----------.  .-----------.  .-----------.  .-----------.
 | 
			
		||||
    *     |   |   |   |  |   |   |   |  |MP1|   |MP2|  |   |   |RST|  |_L6|_L7|_L8|
 | 
			
		||||
    *     |-----------|  |-----------|  |-----------|  |-----------|  |-----------|
 | 
			
		||||
    *     |   |   |   |  |   |   |   |  |   |MRS|   |  |   |   |   |  |_L3|_L4|_L5|
 | 
			
		||||
    *     |-----------|  |-----------|  |-----------|  |-----------|  |-----------|
 | 
			
		||||
    *     |   |   |   |  |   |   |   |  |MR1|   |MR2|  |   |   |   |  |_L0|_L1|_L2|
 | 
			
		||||
    *     |-----------|  |-----------|  |-----------|  |-----------|  |-----------|
 | 
			
		||||
    *     |#L5|_L9    |  |#L6|_L9    |  |#L7|_L9    |  |#L8|_L9    |  |#L9|       |
 | 
			
		||||
    *     *-----------*  *-----------*  *-----------*  *-----------*  *-----------*
 | 
			
		||||
    */
 | 
			
		||||
    [_L0] = {{KC_7,    KC_8,    KC_9   }, {KC_4,    KC_5,    KC_6   }, {KC_1,    KC_2,    KC_3   }, {XXXXXXX, XXXXXXX, FN_ZERO}},
 | 
			
		||||
    [_L0] = {{KC_KP_7, KC_KP_8, KC_KP_9}, {KC_KP_4, KC_KP_5, KC_KP_6}, {KC_KP_1, KC_KP_2, KC_KP_3}, {XXXXXXX, XXXXXXX, FN_ZERO}},
 | 
			
		||||
    [_L1] = {{KC_PPLS, KC_PMNS, KC_PAST}, {KC_PSLS, KC_PERC, KC_COMM}, {KC_PDOT, KC_EQL,  KC_PENT}, {XXXXXXX, XXXXXXX, MO(_L9)}},
 | 
			
		||||
    [_L2] = {{KC_CIRC, KC_AMPR, KC_EXLM}, {S(KC_D), S(KC_E), S(KC_F)}, {S(KC_A), S(KC_B), S(KC_C)}, {XXXXXXX, XXXXXXX, MO(_L9)}},
 | 
			
		||||
    [_L3] = {{KC_VOLU, F(0),    KC_WFWD}, {KC_MUTE, M(1),    M(0)   }, {KC_VOLD, KC_MYCM, KC_WBAK}, {XXXXXXX, XXXXXXX, MO(_L9)}},
 | 
			
		||||
    [_L3] = {{KC_VOLU, QMK_REV, KC_WFWD}, {KC_MUTE, KC_WCLS, KC_WEB }, {KC_VOLD, KC_MYCM, KC_WBAK}, {XXXXXXX, XXXXXXX, MO(_L9)}},
 | 
			
		||||
    [_L4] = {{KC_VOLU, KC_MNXT, KC_MFFD}, {KC_MUTE, KC_MSTP, KC_MPLY}, {KC_VOLD, KC_MPRV, KC_MRWD}, {XXXXXXX, XXXXXXX, MO(_L9)}},
 | 
			
		||||
    [_L5] = {{_______, _______, _______}, {_______, _______, _______}, {_______, _______, _______}, {XXXXXXX, XXXXXXX, MO(_L9)}},
 | 
			
		||||
    [_L6] = {{_______, _______, _______}, {_______, _______, _______}, {_______, _______, _______}, {XXXXXXX, XXXXXXX, MO(_L9)}},
 | 
			
		||||
| 
						 | 
				
			
			@ -66,96 +66,93 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		|||
    [_L9] = {{DF(_L6), DF(_L7), DF(_L8)}, {DF(_L3), DF(_L4), DF(_L5)}, {DF(_L0), DF(_L1), DF(_L2)}, {XXXXXXX, XXXXXXX, _______}},
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {
 | 
			
		||||
    switch(id) {
 | 
			
		||||
        case 0:
 | 
			
		||||
            if (record->event.pressed) {
 | 
			
		||||
                return MACRO(I(10), D(LGUI), T(R), U(LGUI), END);
 | 
			
		||||
            }
 | 
			
		||||
            else {
 | 
			
		||||
                SEND_STRING("chrome.exe\n");
 | 
			
		||||
                return false;
 | 
			
		||||
            }
 | 
			
		||||
        break;
 | 
			
		||||
        case 1:
 | 
			
		||||
            if (record->event.pressed) {
 | 
			
		||||
                return MACRO(I(10), D(LCTL), T(W), U(LCTL), END);
 | 
			
		||||
            }
 | 
			
		||||
        break;
 | 
			
		||||
    }
 | 
			
		||||
    return MACRO_NONE;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
const uint16_t PROGMEM fn_actions[] = {
 | 
			
		||||
    [0] = ACTION_FUNCTION(0),
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
 | 
			
		||||
    switch (id) {
 | 
			
		||||
        case 0:
 | 
			
		||||
            if (record->event.pressed) {
 | 
			
		||||
                SEND_STRING ("[Keyboard: " QMK_KEYBOARD "]  --  [QMK Version: " QMK_VERSION "]  --  [Keymap: " QMK_KEYMAP "]");
 | 
			
		||||
            }
 | 
			
		||||
        break;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void matrix_init_user(void) {
 | 
			
		||||
  #ifdef BACKLIGHT_ENABLE
 | 
			
		||||
    backlight_level(0);
 | 
			
		||||
  #endif
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Runs constantly in the background, in a loop.
 | 
			
		||||
void matrix_scan_user(void) {
 | 
			
		||||
    uint8_t layer = biton32(layer_state);
 | 
			
		||||
 | 
			
		||||
    if (current_layer == layer) {
 | 
			
		||||
    }
 | 
			
		||||
    else {
 | 
			
		||||
        current_layer = layer;
 | 
			
		||||
        switch (layer) {
 | 
			
		||||
            case 0:
 | 
			
		||||
                backlight_level(0);
 | 
			
		||||
                break;
 | 
			
		||||
            case 1:
 | 
			
		||||
                backlight_level(1);
 | 
			
		||||
                break;
 | 
			
		||||
            case 2:
 | 
			
		||||
                backlight_level(2);
 | 
			
		||||
                break;
 | 
			
		||||
            case 3:
 | 
			
		||||
                backlight_level(3);
 | 
			
		||||
                break;
 | 
			
		||||
            case 4:
 | 
			
		||||
                backlight_level(4);
 | 
			
		||||
                break;
 | 
			
		||||
            case 5:
 | 
			
		||||
                backlight_level(5);
 | 
			
		||||
                break;
 | 
			
		||||
            case 6:
 | 
			
		||||
                backlight_level(6);
 | 
			
		||||
                break;
 | 
			
		||||
            case 7:
 | 
			
		||||
                backlight_level(6);
 | 
			
		||||
                break;
 | 
			
		||||
            case 8:
 | 
			
		||||
                backlight_level(6);
 | 
			
		||||
                break;
 | 
			
		||||
            case 9:
 | 
			
		||||
                backlight_level(0);
 | 
			
		||||
                break;
 | 
			
		||||
            default:
 | 
			
		||||
                backlight_level(0);
 | 
			
		||||
                break;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
 | 
			
		||||
    // Enable Dynamic Macros.
 | 
			
		||||
    switch (keycode) {
 | 
			
		||||
        case QMK_REV:
 | 
			
		||||
            if (record->event.pressed) {
 | 
			
		||||
                SEND_STRING(QMK_KEYBOARD "/" QMK_KEYMAP "@" QMK_VERSION ":" QMK_BUILDDATE);
 | 
			
		||||
            }
 | 
			
		||||
            return false;
 | 
			
		||||
            break;
 | 
			
		||||
        case KC_WEB:
 | 
			
		||||
            if (record->event.pressed) {
 | 
			
		||||
                SEND_STRING(SS_LGUI("r"));
 | 
			
		||||
                wait_ms(100);
 | 
			
		||||
                SEND_STRING("chrome.exe\n");
 | 
			
		||||
            }
 | 
			
		||||
            return false;
 | 
			
		||||
            break;
 | 
			
		||||
        case KC_WCLS:
 | 
			
		||||
            if (record->event.pressed) {
 | 
			
		||||
                SEND_STRING (SS_LCTRL("w"));
 | 
			
		||||
            }
 | 
			
		||||
            return false;
 | 
			
		||||
            break;
 | 
			
		||||
    }
 | 
			
		||||
    // Dynamic Macros.
 | 
			
		||||
    if (!process_record_dynamic_macro(keycode, record)) {
 | 
			
		||||
        return false;
 | 
			
		||||
    }
 | 
			
		||||
    return true;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void custom_backlight_level(uint8_t level) {
 | 
			
		||||
    if (level > BACKLIGHT_LEVELS)
 | 
			
		||||
        level = BACKLIGHT_LEVELS;
 | 
			
		||||
    backlight_config.level = level;
 | 
			
		||||
    backlight_config.enable = !!backlight_config.level;
 | 
			
		||||
    backlight_set(backlight_config.level);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void matrix_init_user(void) {
 | 
			
		||||
  #ifdef BACKLIGHT_ENABLE
 | 
			
		||||
    custom_backlight_level(0);
 | 
			
		||||
  #endif
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void matrix_scan_user(void) {
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
uint32_t layer_state_set_user(uint32_t state) {
 | 
			
		||||
    switch (biton32(state)) {
 | 
			
		||||
        case _L0:
 | 
			
		||||
            custom_backlight_level(0);
 | 
			
		||||
            break;
 | 
			
		||||
        case _L1:
 | 
			
		||||
            custom_backlight_level(1);
 | 
			
		||||
            break;
 | 
			
		||||
        case _L2:
 | 
			
		||||
            custom_backlight_level(2);
 | 
			
		||||
            break;
 | 
			
		||||
        case _L3:
 | 
			
		||||
            custom_backlight_level(3);
 | 
			
		||||
            break;
 | 
			
		||||
        case _L4:
 | 
			
		||||
            custom_backlight_level(4);
 | 
			
		||||
            break;
 | 
			
		||||
        case _L5:
 | 
			
		||||
            custom_backlight_level(5);
 | 
			
		||||
            break;
 | 
			
		||||
        case _L6:
 | 
			
		||||
            custom_backlight_level(6);
 | 
			
		||||
            break;
 | 
			
		||||
        case _L7:
 | 
			
		||||
            custom_backlight_level(6);
 | 
			
		||||
            break;
 | 
			
		||||
        case _L8:
 | 
			
		||||
            custom_backlight_level(6);
 | 
			
		||||
            break;
 | 
			
		||||
        case _L9:
 | 
			
		||||
            custom_backlight_level(0);
 | 
			
		||||
            break;
 | 
			
		||||
        default:
 | 
			
		||||
            custom_backlight_level(0);
 | 
			
		||||
            break;
 | 
			
		||||
    }
 | 
			
		||||
    return state;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void led_set_user(uint8_t usb_led) {
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue