qmk_firmware

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

keymap.c (11149B)


      1 /* Good on you for modifying your layout! if you don't have
      2  * time to read the QMK docs, a list of keycodes can be found at
      3  *
      4  * https://github.com/qmk/qmk_firmware/blob/master/docs/keycodes.md
      5  *
      6  * There's also a template for adding new layers at the bottom of this file!
      7  */
      8 
      9 #include QMK_KEYBOARD_H
     10 
     11 #define BASE 0 // default layer
     12 #define SYMB 1 // symbols
     13 #define NUMB 2 // numbers/motion
     14 
     15 enum custom_keycodes {
     16   M1_STRING = SAFE_RANGE,
     17   M2_URL,
     18 };
     19 
     20 // Blank template at the bottom
     21 
     22 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
     23 /* Keymap 0: Basic layer
     24  *
     25  *       ,-------------------------------------------.                         ,-------------------------------------------.
     26  *       |  TAB   |   Q  |   W  |   F  |   P  |   G  |                         |   J  |   L  |   U  |   Y  | ; :  |  | \   |
     27  *       |--------+------+------+------+------+------|------.           .------|------+------+------+------+------+--------|
     28  *       |  Ctrl  |   A  |   R  |  S   |   T  |   D  |O(CMD)|           |O(CTL)|   H  |   N  |   E  |   I  |  O   |  ' "   |
     29  *       |--------+------+------+------+------+------|------|           |------|------+------+------+------+------+--------|
     30  *       | LShift |   Z  |   X  |   C  |   V  |   B  |O(ALT)|           |      |   K  |   M  | ,  < | . >  | /  ? | RShift |
     31  *       `--------+------+------+------+------+-------------'           `-------------+------+------+------+------+--------'
     32  *                          .----------.   .-------.                                 .------.   .--------.
     33  *                          | alt/del  |   | BKSP  |                                 | Space|   |cmd/del |
     34  *                          '----------'   '-------'                                 `------.   '--------'
     35  *                                              ,-------.                      ,-------.
     36  *                                              | MMB   |                      |  :    |
     37  *                                       ,------|-------|                      |-------|------.
     38  *                                       | NUMB | SYMB  |                      | SYMB  | NUMB |
     39  *                                       |  Esc |  F13  |                      | F14   | Enter|
     40  *                                       |      |       |                      |       |      |
     41  *                                       `--------------'                      `--------------'
     42  */
     43 [BASE] = LAYOUT_gergo(
     44 KC_TAB,               KC_Q,  KC_W,   KC_F,   KC_P, KC_G,                                       KC_J,  KC_L,  KC_U,  KC_Y,KC_SCLN,  KC_BSLS,
     45 KC_LCTL,              KC_A,  KC_R,   KC_S,   KC_T, KC_D, OSM(MOD_LGUI),       OSM(MOD_LCTL),   KC_H,  KC_N,  KC_E,  KC_I, KC_O, KC_QUOT,
     46 KC_LSFT,              KC_Z,  KC_X,   KC_C,   KC_V, KC_B, OSM(MOD_LALT),       KC_TRNS,         KC_K, KC_M,  KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
     47 
     48                                      ALT_T(KC_DEL), KC_BSPC,                           KC_SPC, CMD_T(KC_DEL),
     49 
     50                                                          MS_BTN3,       KC_COLON,
     51                                 LT(SYMB, KC_ESC), LT(NUMB, KC_F13),     LT(NUMB, KC_F14), LT(SYMB, KC_ENT)),
     52 /* Keymap 1: Symbols layer
     53  *
     54  * ,-------------------------------------------.                         ,-------------------------------------------.
     55  * |        |  !   |  @   |  #   |  $   |  %   |                         |   ^  |  &   |  *   |  (   |  )   |  VolUp |
     56  * |--------+------+------+------+------+------|------.           .------|------+------+------+------+------+--------|
     57  * |        |  [   |  ]   |  {   |  }   |  `   |  M1  |           |      |      |  -   |  _   |  +   |  =   |  VolDn |
     58  * |--------+------+------+------+------+------|------|           |------|------+------+------+------+------+--------|
     59  * |        |  `   |  ~   |      |      |  ~   |  M2  |           |      |      |      | Prev |Pl/Pau| Next |  Mute  |
     60  * `--------+------+------+------+------+-------------'           `-------------+------+------+------+------+--------'
     61  *                        .------.   .------.                                 .------.   .-----.
     62  *                        |      |   |      |                                 |      |   |     |
     63  *                        '------'   '------'                                 `------.   '-----'
     64  *                                        ,-------.                     ,-------.
     65  *                                        |       |                     |       |
     66  *                                 ,------|-------|                     |-------|------.
     67  *                                 |      |       |                     |       |      |
     68  *                                 |      |       |                     |       |      |
     69  *                                 |      |       |                     |       |      |
     70  *                                 `--------------'                     `--------------'
     71  */
     72 [SYMB] = LAYOUT_gergo(
     73 KC_TRNS, KC_EXLM, KC_AT,  KC_HASH,KC_DLR, KC_PERC,                         KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_VOLU,
     74 KC_TRNS, KC_LBRC, KC_RBRC, KC_LCBR,KC_RCBR, KC_PLUS, M1_STRING,             KC_TRNS,  KC_TRNS, KC_MINS, KC_UNDERSCORE, KC_PLUS, KC_EQL, KC_VOLD,
     75 KC_TRNS, KC_GRV, KC_TILD,KC_TRNS,KC_TRNS, KC_EQL, M2_URL,                 KC_TRNS,  KC_TRNS, KC_TRNS,  KC_MEDIA_REWIND, KC_MEDIA_PLAY_PAUSE,  KC_MEDIA_FAST_FORWARD, KC_MUTE,
     76 
     77                                                   KC_TRNS, KC_TRNS,       KC_TRNS, KC_TRNS,
     78 
     79                                                            KC_TRNS,       KC_TRNS,
     80                                              	  KC_TRNS, KC_TRNS,        KC_TRNS, KC_TRNS),
     81 /* Keymap 2: Pad/Function layer
     82  *
     83  * ,-------------------------------------------.                         ,-------------------------------------------.
     84  * |        |   1  |  2   |  3   |  4   |  5   |                         |  6   |  7   |  8   |  9   |  0   | PgUp   |
     85  * |--------+------+------+------+------+------|------.           .------|------+------+------+------+------+--------|
     86  * |  F1    |  F2  | F3   | F4   | F5   | F6   | BTN1 |           | Home | LEFT | DOWN |  UP  | RIGHT| End  | PgDn   |
     87  * |--------+------+------+------+------+------|------|           |------|------+------+------+------+------+--------|
     88  * |  F7    |  F8  | F9   | F10  | F11  | F12  | BTN2 |           |      | MLFT | MDWN | MUP  | MRGHT|      |        |
     89  * `--------+------+------+------+------+-------------'           `-------------+------+------+------+------+--------'
     90  *                        .------.   .------.                                 .------.   .-----.
     91  *                        |      |   |      |                                 |  ALT |   |     |
     92  *                        '------'   '------'                                 `------.   '-----'
     93  *                                        ,-------.                     ,-------.
     94  *                                        |       |                     |       |
     95  *                                 ,------|-------|                     |-------|------.
     96  *                                 |      |       |                     |       |      |
     97  *                                 |      |       |                     |       |      |
     98  *                                 |      |       |                     |       |      |
     99  *                                 `--------------'                     `--------------'
    100  */
    101 [NUMB] = LAYOUT_gergo(
    102 KC_TRNS, KC_1, 	  KC_2,    KC_3,    KC_4,    KC_5,                             KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_PGUP,
    103 KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6, MS_BTN1,         KC_HOME,  KC_LEFT, KC_DOWN, KC_UP,   KC_RGHT, KC_END, KC_PGDN,
    104 KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12, MS_BTN2,        KC_TRNS,  MS_LEFT, MS_DOWN, MS_UP,   MS_RGHT, KC_TRNS, KC_TRNS,
    105 
    106                                                   KC_TRNS, KC_TRNS,       KC_RALT, KC_TRNS,
    107 
    108                                                            KC_TRNS,       KC_TRNS,
    109                                              	  KC_TRNS, KC_TRNS,       KC_TRNS, KC_TRNS)
    110 };
    111 
    112 /* Keymap template
    113  *
    114  * ,-------------------------------------------.                         ,-------------------------------------------.
    115  * |        |      |      |      |      |      |                         |      |      |      |      |      |        |
    116  * |--------+------+------+------+------+------|------.           .------|------+------+------+------+------+--------|
    117  * |        |      |      |      |      |      |      |           |      |      |      |      |      |      |        |
    118  * |--------+------+------+------+------+------|------|           |------|------+------+------+------+------+--------|
    119  * |        |      |      |      |      |      |      |           |      |      |      |      |      |      |        |
    120  * `--------+------+------+------+------+-------------'           `-------------+------+------+------+------+--------'
    121  *                        .------.   .------.                                 .------.   .-----.
    122  *                        |      |   |      |                                 |      |   |     |
    123  *                        '------'   '------'                                 `------.   '-----'
    124  *                                        ,-------.       ,-------.
    125  *                                        |       |       |       |
    126  *                                 ,------|-------|       |-------|------.
    127  *                                 |      |       |       |       |      |
    128  *                                 |      |       |       |       |      |
    129  *                                 |      |       |       |       |      |
    130  *                                 `--------------'       `--------------'
    131 [SYMB] = LAYOUT_gergo(
    132 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,                          KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
    133 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,       KC_TRNS,  KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
    134 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,       KC_TRNS,  KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,  KC_TRNS, KC_TRNS,
    135 
    136                                                   KC_TRNS, KC_TRNS,       KC_TRNS, KC_TRNS,
    137                                                            KC_TRNS,       KC_TRNS,
    138                                              	  KC_TRNS, KC_TRNS,       KC_TRNS, KC_TRNS),
    139  */
    140 
    141 // Runs constantly in the background, in a loop.
    142 void matrix_scan_user(void) {
    143     //uint8_t layer = get_highest_layer(layer_state);
    144     get_highest_layer(layer_state);
    145 };
    146 
    147 
    148 bool process_record_user(uint16_t keycode, keyrecord_t *record) {
    149   switch (keycode) {
    150     case M1_STRING:
    151       if (record->event.pressed) {
    152         // when keycode QMKBEST is pressed
    153         SEND_STRING("Hi!" SS_TAP(X_ENTER));
    154       } else {
    155         // when keycode QMKBEST is released
    156       }
    157       break;
    158 
    159     case M2_URL:
    160       if (record->event.pressed) {
    161           SEND_STRING("https://ddg.gg" SS_TAP(X_ENTER));
    162       }
    163       break;
    164 
    165   }
    166   return true;
    167 };