qmk_firmware

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

keymap.c (1791B)


      1 // Copyright 2023 Noah Beidelman (@noahbei)
      2 // SPDX-License-Identifier: GPL-2.0-or-later
      3 
      4 #include QMK_KEYBOARD_H
      5 
      6 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
      7     /*
      8      * ┌───┐
      9      * │Tog│ 
     10      * ├───┼───┬───┐ 
     11      * │ 7 │ 8 │ 9 │
     12      * ├───┼───┼───┤
     13      * │ 4 │ 5 │ 6 │
     14      * ├───┼───┼───┤
     15      * │ 1 │ 2 │ 3 │ 
     16      * └───┴───┴───┘
     17      */
     18     [0] = LAYOUT(
     19         LT(0, KC_NO),
     20         KC_7,   KC_8,   KC_9,
     21         KC_4,   KC_5,   KC_6,
     22         KC_1,   KC_2,   KC_3
     23     ),
     24 
     25     [1] = LAYOUT(
     26         LT(0, KC_NO),
     27         KC_A,   KC_B,   KC_C,
     28         KC_D,   KC_E,   KC_F,
     29         KC_G,   KC_H,   KC_I
     30     ),
     31 
     32     [2] = LAYOUT(
     33         LT(0, KC_NO),
     34         KC_J,   KC_K,   KC_L,
     35         KC_M,   KC_N,   KC_O,
     36         KC_P,   KC_Q,   KC_R
     37     ),
     38 
     39     [3] = LAYOUT(
     40         LT(0, KC_NO),
     41         KC_S,   KC_T,   KC_U,
     42         KC_V,   KC_W,   KC_X,
     43         KC_Y,   KC_Z,   KC_ENT
     44     )
     45 };
     46 
     47 bool process_record_user(uint16_t keycode, keyrecord_t *record) {
     48     switch(keycode) {
     49         case LT(0, KC_NO):
     50             if (record->event.pressed) {
     51                 // on tap
     52                 if (record->tap.count) {
     53                     if (get_highest_layer(layer_state) >= 3) {
     54                         layer_clear(); 
     55                     } else { 
     56                         layer_move(get_highest_layer(layer_state) + 1);
     57                     }
     58                 }
     59 #ifdef OLED_ENABLE
     60                 // on hold
     61                 else {
     62                     void oled_display_mode_step(void);
     63                     oled_display_mode_step();
     64                 }
     65 #endif
     66             }
     67             return false;
     68     }
     69     return true;
     70 }