qmk_firmware

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

keymap.c (8393B)


      1 /*
      2 Copyright 2019 @foostan
      3 Copyright 2020 Drashna Jaelre <@drashna>
      4 Copyright 2023 Álvaro "Gondolindrim" Volpato <alvaro.volpato@usp.br>
      5 Copyright 2024 Shokara Kou <kou@13f0.net>
      6 
      7 This program is free software: you can redistribute it and/or modify
      8 it under the terms of the GNU General Public License as published by
      9 the Free Software Foundation, either version 2 of the License, or
     10 (at your option) any later version.
     11 
     12 This program is distributed in the hope that it will be useful,
     13 but WITHOUT ANY WARRANTY; without even the implied warranty of
     14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     15 GNU General Public License for more details.
     16 
     17 You should have received a copy of the GNU General Public License
     18 along with this program.  If not, see <http://www.gnu.org/licenses/>.
     19 */
     20 
     21 #include QMK_KEYBOARD_H
     22 
     23 /* OLED settings */
     24 #define SPLIT_LAYER_STATE_ENABLE
     25 #define SPLIT_LED_STATE_ENABLE
     26 #define SPLIT_MODS_ENABLE
     27 #define SPLIT_OLED_ENABLE
     28 #define OLED_TIMEOUT 60000
     29 
     30 /* Tap-Hold keycodes */
     31 #define KC_LOWER LT(1, KC_ENT) /* Tap for Enter, Hold for LOWER layer */
     32 #define KC_RAISE LT(2, KC_SPC) /* Tap for Space, Hold for RAISE layer */
     33 
     34 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
     35     [0] = LAYOUT(
     36   //,-----------------------------------------------------.                    ,-----------------------------------------------------.
     37        KC_TAB,    KC_Q,    KC_D,    KC_R,    KC_W,    KC_B,                         KC_J,    KC_F,    KC_U,    KC_P, KC_SCLN, KC_BSLS,
     38   //|--------+--------+--------+--------+--------+--------|                    |--------+--------+--------+--------+--------+--------|
     39       KC_BSPC,    KC_A,    KC_S,    KC_H,    KC_T,    KC_G,                         KC_Y,    KC_N,    KC_E,    KC_O,    KC_I, KC_QUOT,
     40   //|--------+--------+--------+--------+--------+--------|                    |--------+--------+--------+--------+--------+--------|
     41        KC_ESC,    KC_Z,    KC_X,    KC_M,    KC_C,    KC_V,                         KC_K,    KC_L, KC_COMM,  KC_DOT, KC_SLSH,  KC_ESC,
     42   //|--------+--------+--------+--------+--------+--------+--------|  |--------+--------+--------+--------+--------+--------+--------|
     43                                           KC_LALT, KC_LCTL,KC_RAISE,   KC_LOWER, KC_LSFT, KC_LGUI
     44                                       //`--------------------------'  `--------------------------'
     45 
     46   ),
     47 
     48     [1] = LAYOUT(
     49   //,-----------------------------------------------------.                    ,-----------------------------------------------------.
     50       _______, KC_COMM,    KC_7,    KC_8,    KC_9, KC_HOME,                      KC_PGUP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
     51   //|--------+--------+--------+--------+--------+--------|                    |--------+--------+--------+--------+--------+--------|
     52       _______,  KC_DOT,    KC_4,    KC_5,    KC_6,  KC_END,                      KC_PGDN, KC_LEFT, KC_DOWN,   KC_UP,KC_RIGHT, XXXXXXX,
     53   //|--------+--------+--------+--------+--------+--------|                    |--------+--------+--------+--------+--------+--------|
     54       _______,    KC_0,    KC_1,    KC_2,    KC_3, KC_CIRC,                      XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______,
     55   //|--------+--------+--------+--------+--------+--------+--------|  |--------+--------+--------+--------+--------+--------+--------|
     56                                           _______, _______, _______,    _______, _______, _______
     57                                       //`--------------------------'  `--------------------------'
     58   ),
     59 
     60     [2] = LAYOUT(
     61   //,-----------------------------------------------------.                    ,-----------------------------------------------------.
     62       _______, KC_EXLM,   KC_AT, KC_HASH,  KC_DLR, KC_PERC,                      KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN,  KC_F11,
     63   //|--------+--------+--------+--------+--------+--------|                    |--------+--------+--------+--------+--------+--------|
     64       _______,   KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,                       KC_GRV, KC_MINS,  KC_EQL, KC_LBRC, KC_RBRC,  KC_F12,
     65   //|--------+--------+--------+--------+--------+--------|                    |--------+--------+--------+--------+--------+--------|
     66       _______,   KC_F6,   KC_F7,   KC_F8,   KC_F9,  KC_F10,                      KC_TILD, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, _______,
     67   //|--------+--------+--------+--------+--------+--------+--------|  |--------+--------+--------+--------+--------+--------+--------|
     68                                           _______, _______, _______,    _______, _______, _______
     69                                       //`--------------------------'  `--------------------------'
     70   ),
     71 
     72     [3] = LAYOUT(
     73   //,-----------------------------------------------------.                    ,-----------------------------------------------------.
     74       XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,   TO(5),   TO(4),                        TO(4),   TO(5), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
     75   //|--------+--------+--------+--------+--------+--------|                    |--------+--------+--------+--------+--------+--------|
     76       XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,                      XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
     77   //|--------+--------+--------+--------+--------+--------|                    |--------+--------+--------+--------+--------+--------|
     78       XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,                      XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
     79   //|--------+--------+--------+--------+--------+--------+--------|  |--------+--------+--------+--------+--------+--------+--------|
     80                                           XXXXXXX, XXXXXXX, _______,    _______, XXXXXXX, XXXXXXX
     81                                       //`--------------------------'  `--------------------------'
     82   ),
     83 
     84     [4] = LAYOUT( // 1-5 mapped on G604 side buttons, melee is scroll wheel down
     85   //,-----------------------------------------------------.                    ,-----------------------------------------------------.
     86         TO(0),    KC_0,    KC_Q,    KC_W, KC_LCTL,    KC_R,                        TO(0), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,   TO(0),
     87   //|--------+--------+--------+--------+--------+--------|                    |--------+--------+--------+--------+--------+--------|
     88        KC_TAB,    KC_T,    KC_A,    KC_S,    KC_D,    KC_G,                      XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
     89   //|--------+--------+--------+--------+--------+--------|                    |--------+--------+--------+--------+--------+--------|
     90        KC_ESC, KC_LSFT,    KC_9,    KC_X,    KC_M,    KC_8,                      XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
     91   //|--------+--------+--------+--------+--------+--------+--------|  |--------+--------+--------+--------+--------+--------+--------|
     92                                              KC_7,    KC_6,  KC_SPC,    XXXXXXX, XXXXXXX, XXXXXXX
     93                                       //`--------------------------'  `--------------------------'
     94   ),
     95 
     96     [5] = LAYOUT(
     97   //,-----------------------------------------------------.                    ,-----------------------------------------------------.
     98        KC_TAB,    KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,                         KC_Y,    KC_U,    KC_I,    KC_O,    KC_P, KC_BSLS,
     99   //|--------+--------+--------+--------+--------+--------|                    |--------+--------+--------+--------+--------+--------|
    100       KC_BSPC,    KC_A,    KC_S,    KC_D,    KC_F,    KC_G,                         KC_H,    KC_J,    KC_K,    KC_L, KC_SCLN, KC_QUOT,
    101   //|--------+--------+--------+--------+--------+--------|                    |--------+--------+--------+--------+--------+--------|
    102        KC_ESC,    KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,                         KC_N,    KC_M, KC_COMM,  KC_DOT, KC_SLSH,   TO(0),
    103   //|--------+--------+--------+--------+--------+--------+--------|  |--------+--------+--------+--------+--------+--------+--------|
    104                                           KC_LALT, KC_LCTL,KC_RAISE,   KC_LOWER, KC_LSFT, KC_LGUI
    105                                       //`--------------------------'  `--------------------------'
    106   )
    107 };
    108 
    109 layer_state_t layer_state_set_user(layer_state_t state) {
    110     return update_tri_layer_state(state, 1, 2, 3);
    111 }