]> git.donarmstrong.com Git - qmk_firmware.git/blobdiff - keyboards/m10a/keymaps/gam3cat/keymap.c
Keymap updates (#4706)
[qmk_firmware.git] / keyboards / m10a / keymaps / gam3cat / keymap.c
index 8f4c878da5e07f89b4ac504e88b810c969728438..8ee35d50abfc2277bce112e17190c600e6b8be6d 100644 (file)
@@ -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:
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+    switch (keycode) {
+        case QMK_REV:
             if (record->event.pressed) {
-                return MACRO(I(10), D(LGUI), T(R), U(LGUI), END);
+                SEND_STRING(QMK_KEYBOARD "/" QMK_KEYMAP "@" QMK_VERSION ":" QMK_BUILDDATE);
             }
-            else {
+            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 1:
+            return false;
+            break;
+        case KC_WCLS:
             if (record->event.pressed) {
-                return MACRO(I(10), D(LCTL), T(W), U(LCTL), END);
+                SEND_STRING (SS_LCTRL("w"));
             }
-        break;
+            return false;
+            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;
+    // 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
-    backlight_level(0);
+    custom_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;
+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 true;
+    return state;
+}
+
+void led_set_user(uint8_t usb_led) {
+
 }