qmk_firmware

QMK firmware for my keyboards (Corne, Sweep Ferris) and trackball (Ploopy Adept)
Log | Files | Refs | Submodules | LICENSE

keymap.c (8922B)


      1 #include QMK_KEYBOARD_H
      2 
      3 extern keymap_config_t keymap_config;
      4 
      5 #ifdef RGBLIGHT_ENABLE
      6 //Following line allows macro to read current RGB settings
      7 extern rgblight_config_t rgblight_config;
      8 #endif
      9 
     10 extern uint8_t is_master;
     11 
     12 // Each layer gets a name for readability, which is then used in the keymap matrix below.
     13 // The underscores don't mean anything - you can have a layer called STUFF or any other name.
     14 // Layer names don't all need to be of the same length, obviously, and you can also skip them
     15 // entirely and just use numbers.
     16 enum layer_number {
     17   _QWERTY = 0,
     18   _LOWER,
     19   _RAISE,
     20   _ADJUST,
     21 };
     22 
     23 enum custom_keycodes {
     24   RGB_RST = SAFE_RANGE,
     25   SEND_SUM,
     26   SEND_AVE,
     27   SEND_CIF,
     28   SEND_MAX,
     29   SEND_MIN
     30 };
     31 
     32 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
     33   [_QWERTY] = LAYOUT_with_setta21(
     34   //,-----------------------------------------------------|                 |-----------------------------------------------------.      |-----------------------------------------------|
     35        KC_TAB,    KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,                      KC_Y,    KC_U,    KC_I,    KC_O,    KC_P, KC_BSPC,LT(_LOWER, KC_P0),KC_P1, KC_P4,  KC_P7,KC_NUM,  KC_ESC,
     36   //|--------+--------+--------+--------+--------+--------|                 |--------+--------+--------+--------+--------+--------|      |-------+-------+-------+-------+-------+-------|
     37        KC_ESC,    KC_A,    KC_S,    KC_D,    KC_F,    KC_G,                      KC_H,    KC_J,    KC_K,    KC_L, KC_SCLN, KC_QUOT,                 KC_P2,  KC_P5,  KC_P8,KC_PSLS,  KC_F2,
     38   //|--------+--------+--------+--------+--------+--------|                 |--------+--------+--------+--------+--------+--------|      |-------+-------+-------+-------+-------+-------|
     39       KC_LSFT,    KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,                      KC_N,    KC_M, KC_COMM,  KC_DOT, KC_SLSH,  KC_ENT,LT(_RAISE, KC_PDOT),KC_P3,KC_P6, KC_P9,KC_PAST, KC_EQL,
     40   //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|      |---------------+---------------+-------+-------|
     41            MO(_ADJUST),KC_LCTL,  KC_LALT, KC_LGUI,MO(_LOWER), KC_SPC, KC_SPC,MO(_RAISE), KC_LEFT, KC_DOWN,   KC_UP,KC_RIGHT,                        KC_PENT,        KC_PPLS,KC_PMNS, KC_DEL
     42           //`------------------------------------------------------------------------------------------------------------'               |-----------------------------------------------|
     43   ),
     44 
     45   [_LOWER] = LAYOUT_with_setta21(
     46   //,-----------------------------------------------------|                 |-----------------------------------------------------.      |------------------------------------------------|
     47       KC_TILD, KC_EXLM,   KC_AT, KC_HASH,  KC_DLR, KC_PERC,                   KC_CIRC, KC_AMPR,  KC_ASTR,KC_LPRN, KC_RPRN,  KC_DEL,    MO(_LOWER),XXXXXXX,KC_LEFT, XXXXXXX,XXXXXXX, KC_ESC,
     48   //|--------+--------+--------+--------+--------+--------|                 |--------+--------+--------+--------+--------+--------|      |-------+-------+-------+--------+-------+-------|
     49        KC_DEL,   KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,                     KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,               KC_DOWN,KC_DOWN,   KC_UP,KC_PSLS,  KC_F2,
     50   //|--------+--------+--------+--------+--------+--------|                 |--------+--------+--------+--------+--------+--------|      |-------+-------+-------+--------+-------+-------|
     51       _______,   KC_F7,   KC_F8,   KC_F9,  KC_F10,  KC_F11,                    KC_F12,S(KC_NUHS),S(KC_NUBS),_______,_______,_______,   MO(_RAISE),XXXXXXX,KC_RIGHT,XXXXXXX,KC_PAST, KC_EQL,
     52   //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|      |---------------+----------------+-------+-------|
     53                _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY,                        KC_PENT,         KC_PPLS,KC_PMNS, KC_DEL
     54           //`------------------------------------------------------------------------------------------------------------'               |------------------------------------------------|
     55   ),
     56 
     57 
     58   [_RAISE] = LAYOUT_with_setta21(
     59   //,-----------------------------------------------------|                 |-----------------------------------------------------.      |------------------------------------------------|
     60       KC_TILD,    KC_1,    KC_2,    KC_3,    KC_4,    KC_5,                      KC_6,    KC_7,    KC_8,    KC_9,    KC_0,  KC_DEL,       _______, KC_F11,  KC_F4,  KC_F7,SEND_MIN, KC_ESC,
     61   //|--------+--------+--------+--------+--------+--------|                 |--------+--------+--------+--------+--------+--------|      |-------+-------+-------+-------+--------+-------|
     62        KC_DEL,   KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,                     KC_F6, KC_MINS,  KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,                KC_F12,  KC_F5,  KC_F8,SEND_MAX,  KC_F2,
     63   //|--------+--------+--------+--------+--------+--------|                 |--------+--------+--------+--------+--------+--------|      |-------+-------+-------+-------+--------+-------|
     64       _______,   KC_F7,   KC_F8,   KC_F9,  KC_F10,  KC_F11,                    KC_F12, KC_NUHS, KC_NUBS, _______, _______, _______,       _______,  KC_F3,  KC_F6,  KC_F9,SEND_CIF, KC_EQL,
     65   //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|      |---------------+---------------+--------+-------|
     66                _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,                        KC_RPRN,       SEND_SUM,SEND_AVE, KC_DEL
     67           //`------------------------------------------------------------------------------------------------------------'               |------------------------------------------------|
     68   ),
     69 
     70   [_ADJUST] = LAYOUT_with_setta21( /* Base */
     71   //,-----------------------------------------------------|                 |-----------------------------------------------------.      |-----------------------------------------------|
     72       _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,                   RGB_RST, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______,       _______,UG_VALD,UG_HUED,UG_SATD,XXXXXXX,_______,
     73   //|--------+--------+--------+--------+--------+--------|                 |--------+--------+--------+--------+--------+--------|      |-------+-------+-------+-------+-------+-------|
     74       _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,                   UG_TOGG, UG_NEXT, XXXXXXX,LCA(KC_DEL),LALT(KC_PSCR),KC_PSCR,        UG_VALU,UG_HUEU,UG_SATU,XXXXXXX,_______,
     75   //|--------+--------+--------+--------+--------+--------|                 |--------+--------+--------+--------+--------+--------|      |-------+-------+-------+-------+-------+-------|
     76       _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,                   UG_VALD, UG_VALU, UG_HUED, UG_HUEU, UG_SATD, UG_SATU,       _______,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,_______,
     77   //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|      |---------------+---------------+-------+-------|
     78                _______, _______, _______, _______, _______, QK_BOOT, QK_BOOT, _______, _______, _______, _______, _______,                        UG_NEXT,        UG_TOGG,_______,_______
     79           //`------------------------------------------------------------------------------------------------------------'               |-----------------------------------------------|
     80   )
     81 };
     82 
     83 int RGB_current_mode;
     84 bool process_record_user(uint16_t keycode, keyrecord_t *record) {
     85   bool result = false;
     86   switch (keycode) {
     87     case SEND_SUM:
     88       if (record->event.pressed) {
     89         SEND_STRING("=SUM(");
     90       }
     91       break;
     92     case SEND_AVE:
     93       if (record->event.pressed) {
     94         SEND_STRING("=AVERAGE(");
     95       }
     96       break;
     97     case SEND_CIF:
     98       if (record->event.pressed) {
     99         SEND_STRING("=COUNTIF(");
    100       }
    101       break;
    102     case SEND_MAX:
    103       if (record->event.pressed) {
    104         SEND_STRING("=MAX(");
    105       }
    106       break;
    107     case SEND_MIN:
    108       if (record->event.pressed) {
    109         SEND_STRING("=MIN(");
    110       }
    111       break;
    112     #ifdef RGBLIGHT_ENABLE
    113       case QK_UNDERGLOW_MODE_NEXT:
    114           if (record->event.pressed) {
    115             rgblight_mode(RGB_current_mode);
    116             rgblight_step();
    117             RGB_current_mode = rgblight_config.mode;
    118           }
    119         break;
    120       case RGB_RST:
    121           if (record->event.pressed) {
    122             eeconfig_update_rgblight_default();
    123             rgblight_enable();
    124             RGB_current_mode = rgblight_config.mode;
    125           }
    126         break;
    127     #endif
    128     default:
    129       result = true;
    130       break;
    131   }
    132 
    133   return result;
    134 }