qmk_firmware

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

keymap.c (4898B)


      1 #include QMK_KEYBOARD_H
      2 
      3 enum layer_names {
      4   _QWERTY = 0,
      5   _COLEMAK,
      6   _LOWER,
      7   _RAISE,
      8   _ADJUST,
      9 };
     10 
     11 #define LOWER MO(_LOWER)
     12 #define RAISE MO(_RAISE)
     13 
     14 #define QWERTY PDF(_QWERTY)
     15 #define COLEMAK PDF(_COLEMAK)
     16 
     17 // Each layer gets a name for readability, which is then used in the keymap matrix below.
     18 // The underscores don't mean anything - you can have a layer called STUFF or any other name.
     19 // Layer names don't all need to be of the same length, obviously, and you can also skip them
     20 // entirely and just use numbers.
     21 
     22 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
     23   [_QWERTY] = LAYOUT(
     24     KC_ESC,     KC_GRV,  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, 
     25     KC_HOME,    KC_TAB,  KC_Q,    KC_W,    KC_E,    KC_R,      KC_T,                  KC_Y,    KC_U,    KC_I,      KC_O,    KC_P,    KC_LBRC,    KC_RBRC,    KC_BSLS,
     26     KC_END,     KC_CAPS, KC_A,    KC_S,    KC_D,    KC_F,      KC_G,                           KC_H,    KC_J,      KC_K,    KC_L,    KC_SCLN,    KC_QUOT,    KC_ENT,
     27     KC_PSCR,    KC_LSFT, KC_Z,    KC_X,    KC_C,    KC_V,      KC_B,                           KC_N,    KC_M,      KC_COMM, KC_DOT,  KC_SLSH,    KC_LSFT,    KC_PGUP,
     28     LOWER,      KC_LCTL, KC_LALT, KC_LGUI, RAISE,   KC_SPACE,                                         KC_SPACE,  RAISE,   KC_RALT, KC_RCTL,    KC_DELETE,  KC_PGDN
     29   ),
     30   [_COLEMAK] = LAYOUT(
     31     KC_ESC,     KC_GRV,    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, 
     32     KC_HOME,    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,
     33     KC_END,     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,
     34     KC_PSCR,    KC_LSFT,   KC_Z,    KC_X,    KC_C,    KC_V,     KC_B,                          KC_K,    KC_M,      KC_COMM, KC_DOT,  KC_SLSH,    KC_LSFT,    KC_PGUP,
     35     LOWER,      KC_LCTL,   KC_LALT, KC_LGUI, RAISE,   KC_SPACE,                                         KC_SPACE,  RAISE,   KC_RALT, KC_RCTL,    KC_DELETE,  KC_PGDN
     36   ),
     37 
     38   [_LOWER] = LAYOUT(
     39     _______, _______, _______, _______, _______,  _______, _______, _______,                    _______, _______, _______, _______, _______, _______, _______,
     40     QWERTY,  _______, _______, _______, _______,  _______, _______,                    _______, _______, _______, _______, _______, _______, _______, _______,
     41     COLEMAK, _______, _______, _______, _______,  _______, _______,                             _______, _______, _______, _______, _______, _______, _______, 
     42     _______, _______, _______, _______, _______,  _______, _______,                             _______, _______, _______, _______, _______, _______, _______, 
     43     _______, _______, _______, _______, _______,  _______,                                               _______, _______, _______, _______, _______, _______
     44   ),
     45 
     46   [_RAISE] = LAYOUT(
     47     _______, _______, KC_F1,   KC_F2,   KC_F3,    KC_F4,   KC_F5,   KC_F6,                     KC_F7,   KC_F8,   KC_F9,    KC_F9,   KC_F10,  KC_F11,  KC_F12,
     48     _______, _______, _______, KC_UP,   _______,  _______, _______,                   _______, _______, KC_UP,   _______,  _______, _______, _______, _______,
     49     _______, _______, KC_LEFT, KC_DOWN, KC_RIGHT, _______, _______,                            _______, KC_LEFT, KC_DOWN, KC_RIGHT, _______, _______, _______,
     50     _______, _______, _______, _______, _______,  _______, _______,                            _______, _______, _______, _______,  _______, _______, _______,
     51     _______, _______, _______, _______, _______,  _______,                                              _______, _______, _______,  _______, _______, _______
     52   ),
     53 
     54   [_ADJUST] = LAYOUT(
     55     _______, _______, _______, _______, _______,  _______, _______, _______,                    _______, _______, _______, _______, _______, _______, _______,
     56     _______, _______, _______, _______, _______,  _______, _______,                    _______, _______, _______, _______, _______, _______, _______, _______,
     57     _______, _______, _______, _______, _______,  _______, _______,                             _______, _______, _______, _______, _______, _______, _______, 
     58     _______, _______, _______, _______, _______,  _______, _______,                             _______, _______, _______, _______, _______, _______, _______, 
     59     _______, _______, _______, _______, _______,  _______,                                               _______, _______, _______, _______, _______, _______
     60   )
     61 };
     62 
     63 layer_state_t layer_state_set_user(layer_state_t state) {
     64   return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
     65 }