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 }