qmk_firmware

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

keymap.c (10234B)


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