diff options
Diffstat (limited to 'keyboards/m10a/keymaps/gam3cat')
-rw-r--r-- | keyboards/m10a/keymaps/gam3cat/config.h | 2 | ||||
-rw-r--r-- | keyboards/m10a/keymaps/gam3cat/keymap.c | 161 | ||||
-rw-r--r-- | keyboards/m10a/keymaps/gam3cat/readme.md | 21 | ||||
-rw-r--r-- | keyboards/m10a/keymaps/gam3cat/rules.mk | 3 |
4 files changed, 187 insertions, 0 deletions
diff --git a/keyboards/m10a/keymaps/gam3cat/config.h b/keyboards/m10a/keymaps/gam3cat/config.h new file mode 100644 index 0000000000..73bc50bc2d --- /dev/null +++ b/keyboards/m10a/keymaps/gam3cat/config.h @@ -0,0 +1,2 @@ +#include "../../config.h" +#define PREVENT_STUCK_MODIFIERS diff --git a/keyboards/m10a/keymaps/gam3cat/keymap.c b/keyboards/m10a/keymaps/gam3cat/keymap.c new file mode 100644 index 0000000000..8f4c878da5 --- /dev/null +++ b/keyboards/m10a/keymaps/gam3cat/keymap.c @@ -0,0 +1,161 @@ +#include "m10a.h" +#include "action_layer.h" +#include "eeconfig.h" +#include "version.h" + +extern keymap_config_t keymap_config; + +enum layers { + _L0 = 0, + _L1, + _L2, + _L3, + _L4, + _L5, + _L6, + _L7, + _L8, + _L9 +}; + +enum m10a_keycodes { + DYNAMIC_MACRO_RANGE = SAFE_RANGE, +}; + +#include "dynamic_macro.h" +#define _______ KC_TRNS +#define XXXXXXX KC_NO +#define FN_ZERO LT(_L9, KC_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 | | + * *-----------* *-----------* *-----------* *-----------* *-----------* + */ + [_L0] = {{KC_7, KC_8, KC_9 }, {KC_4, KC_5, KC_6 }, {KC_1, KC_2, KC_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)}}, + [_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)}}, + [_L7] = {{KC_DMP1, _______, KC_DMP2}, {_______, KC_DMRS, _______}, {KC_DMR1, _______, KC_DMR2}, {XXXXXXX, XXXXXXX, MO(_L9)}}, + [_L8] = {{_______, _______, RESET }, {_______, _______, _______}, {_______, _______, _______}, {XXXXXXX, XXXXXXX, MO(_L9)}}, + [_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. + if (!process_record_dynamic_macro(keycode, record)) { + return false; + } + return true; +} diff --git a/keyboards/m10a/keymaps/gam3cat/readme.md b/keyboards/m10a/keymaps/gam3cat/readme.md new file mode 100644 index 0000000000..879a6c5a37 --- /dev/null +++ b/keyboards/m10a/keymaps/gam3cat/readme.md @@ -0,0 +1,21 @@ +# Keymap Maintainer: Gam3cat +make m10a:gam3cat +## 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 | | + *-----------* *-----------* *-----------* *-----------* *-----------* diff --git a/keyboards/m10a/keymaps/gam3cat/rules.mk b/keyboards/m10a/keymaps/gam3cat/rules.mk new file mode 100644 index 0000000000..457a3d01d4 --- /dev/null +++ b/keyboards/m10a/keymaps/gam3cat/rules.mk @@ -0,0 +1,3 @@ +ifndef QUANTUM_DIR + include ../../../../Makefile +endif |