summaryrefslogtreecommitdiffstats
path: root/keyboards/m10a/keymaps/gam3cat/keymap.c
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/m10a/keymaps/gam3cat/keymap.c')
-rw-r--r--keyboards/m10a/keymaps/gam3cat/keymap.c199
1 files changed, 98 insertions, 101 deletions
diff --git a/keyboards/m10a/keymaps/gam3cat/keymap.c b/keyboards/m10a/keymaps/gam3cat/keymap.c
index 8f4c878da..8ee35d50a 100644
--- a/keyboards/m10a/keymaps/gam3cat/keymap.c
+++ b/keyboards/m10a/keymaps/gam3cat/keymap.c
@@ -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) {
+
}