]> git.donarmstrong.com Git - qmk_firmware.git/blobdiff - keyboards/satan/keymaps/colemak/keymap.c
Small fix to allow board to override split keyboard master check
[qmk_firmware.git] / keyboards / satan / keymaps / colemak / keymap.c
index ffb0d10c02a7eb66367b67ed04692ff3ce589bfd..08d456d6ce81d88f761e8a8a40d892aecbab51ac 100644 (file)
@@ -1,8 +1,9 @@
-#include "satan.h"
+#include QMK_KEYBOARD_H
+
 
 
 // Used for SHIFT_ESC
-#define MODS_CTRL_MASK  (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT))
+#define MODS_SHIFT_MASK (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT))
 
 // Each layer gets a name for readability, which is then used in the keymap matrix below.
 // The underscores don't mean anything - you can have a layer called STUFF or any other name.
@@ -11,7 +12,9 @@
 #define _BL 0
 #define _FL 1
 
-#define _______ KC_TRNS
+enum custom_keycodes {
+  SFT_ESC = SAFE_RANGE
+};
 
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
   /* Keymap _BL: (Base Layer) Default Layer
@@ -27,8 +30,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
    * |Ctrl|Gui |Alt |      Space            |Alt |Gui |FN  |Ctrl |
    * `-----------------------------------------------------------'
    */
-[_BL] = KEYMAP_ANSI(
-  F(0),    KC_1,   KC_2,   KC_3,   KC_4,   KC_5,   KC_6,   KC_7,   KC_8,   KC_9,   KC_0,   KC_MINS, KC_EQL, KC_BSPC, \
+[_BL] = LAYOUT_60_ansi(
+  SFT_ESC, KC_1,   KC_2,   KC_3,   KC_4,   KC_5,   KC_6,   KC_7,   KC_8,   KC_9,   KC_0,   KC_MINS, KC_EQL, KC_BSPC, \
   KC_TAB,  KC_Q,   KC_W,   KC_F,   KC_P,   KC_G,   KC_J,   KC_L,   KC_U,   KC_Y,   KC_SCLN,   KC_LBRC, KC_RBRC,KC_BSLS, \
   KC_BSPC, KC_A,   KC_R,   KC_S,   KC_T,   KC_D,   KC_H,   KC_N,   KC_E,   KC_I,   KC_O,KC_QUOT,         KC_ENT,  \
   KC_LSFT,         KC_Z,   KC_X,   KC_C,   KC_V,   KC_B,   KC_K,   KC_M,   KC_COMM,KC_DOT, KC_SLSH,         KC_RSFT, \
@@ -39,7 +42,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
    * |   |   |   |   |   |   |   |   |   |   |   |   |   |  RESET|
    * |-----------------------------------------------------------|
    * |     |   |   |   |   |   |   |   |   |   |   |BL-|BL+|BL   |
-   * |--------------------------------------------ΩΩ---------------|
+   * |-----------------------------------------------------------|
    * |      |   |   |   |   |   |   |       |   |   |   |        |
    * |-----------------------------------------------------------|
    * |        | F1|F2 | F3|F4 | F5| F6| F7| F8|   |   |          |
@@ -47,7 +50,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
    * |    |    |    |                        |    |    |    |    |
    * `-----------------------------------------------------------'
    */
-[_FL] = KEYMAP_ANSI(
+[_FL] = LAYOUT_60_ansi(
   #ifdef RGBLIGHT_ENABLE
   KC_GRV, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,RESET,  \
   _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, BL_DEC,BL_INC, BL_TOGG, \
@@ -63,21 +66,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
   #endif
 };
 
-enum function_id {
-    SHIFT_ESC,
-};
-
-const uint16_t PROGMEM fn_actions[] = {
-  [0]  = ACTION_FUNCTION(SHIFT_ESC),
-};
-
-void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
-  static uint8_t shift_esc_shift_mask;
-  switch (id) {
-    case SHIFT_ESC:
-      shift_esc_shift_mask = get_mods()&MODS_CTRL_MASK;
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+  switch (keycode) {
+    case SFT_ESC:
       if (record->event.pressed) {
-        if (shift_esc_shift_mask) {
+        if (get_mods() & MODS_SHIFT_MASK) {
           add_key(KC_GRV);
           send_keyboard_report();
         } else {
@@ -85,7 +78,7 @@ void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
           send_keyboard_report();
         }
       } else {
-        if (shift_esc_shift_mask) {
+        if (get_mods() & MODS_SHIFT_MASK) {
           del_key(KC_GRV);
           send_keyboard_report();
         } else {
@@ -93,6 +86,10 @@ void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
           send_keyboard_report();
         }
       }
-      break;
+
+      return false;
+
+    default:
+      return true;
   }
 }