keymap.c (10686B)
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 // Blank template at the bottom 16 enum customKeycodes { 17 URL = 1 18 }; 19 20 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 21 /* Keymap 0: Basic layer 22 * 23 * ,-------------------------------------------. ,-------------------------------------------. 24 * | L1/ESC | Q | W | E | R | T | | Y | U | I | O | P | | \ | 25 * |--------+------+------+------+------+------|------. .------|------+------+------+------+------+--------| 26 * |Ctrl/BS | A | S | D | F | G | RMB | | | H | J | K | L | ; : | ' " | 27 * |--------+------+------+------+------+------|------| |------|------+------+------+------+------+--------| 28 * | LShift | Z | X | C | V | B | LMB | | | N | M | , < | . > | / ? | - _ | 29 * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' 30 * .----------. .-------. .------. .-----. 31 * | Super/Del| |Ent/ALT| | Tab | |BKSP | 32 * '----------' '-------' `------. '-----' 33 * ,-------. ,-------. 34 * | MMB | | PgDn | 35 * ,------|-------| |-------|------. 36 * | SYMB | NUMB | | SYMB | NUMB | 37 * | Space| Escape| | Mod |Space | 38 * | | | | | | 39 * `--------------' `--------------' 40 */ 41 [BASE] = LAYOUT_gergo( 42 LT(NUMB, KC_ESC), KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_PIPE, 43 MT(MOD_LCTL, KC_BSPC), KC_A, KC_S, KC_D, KC_F, KC_G, MS_BTN2, KC_TRNS, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, 44 KC_RSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, MS_BTN1, MS_BTN3, KC_PGDN, KC_BSPC, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_MINS, 45 MT(MOD_LGUI, KC_DEL), MT(MOD_LALT, KC_ENT), LT(SYMB, KC_SPC), LT(NUMB, KC_ESC), LT(SYMB, KC_ENT), LT(NUMB, KC_SPC), KC_TAB, KC_BSPC 46 ), 47 /* Keymap 1: Symbols layer 48 * 49 * ,-------------------------------------------. ,-------------------------------------------. 50 * | | ! | @ | { | } | | | | | | | | | \ | | 51 * |--------+------+------+------+------+------|------. .------|------+------+------+------+------+--------| 52 * | | # | $ | ( | ) | ` | | | | + | - | / | * | % | ' " | 53 * |--------+------+------+------+------+------|------| |------|------+------+------+------+------+--------| 54 * | | % | ^ | [ | ] | ~ | | | | & | = | , | . | / ? | - _ | 55 * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' 56 * .------. .------. .------. .-----. 57 * | | | | | | | DEL | 58 * '------' '------' `------. '-----' 59 * ,-------. ,-------. 60 * | | | PgUp | 61 * ,------|-------| |-------|------. 62 * | | | | | | 63 * | ; | = | | = | ; | 64 * | | | | | | 65 * `--------------' `--------------' 66 */ 67 [SYMB] = LAYOUT_gergo( 68 KC_TRNS, KC_EXLM, KC_AT, KC_LCBR, KC_RCBR, KC_PIPE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_BSLS, 69 KC_TRNS, KC_HASH, KC_DLR, KC_LPRN, KC_RPRN, KC_GRV, KC_TRNS, KC_TRNS, KC_PLUS, KC_MINS, KC_SLSH, KC_ASTR, KC_PERC, KC_QUOT, 70 KC_TRNS, KC_PERC, KC_CIRC, KC_LBRC, KC_RBRC, KC_TILD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_AMPR, KC_EQL, KC_COMM, KC_DOT, KC_SLSH, KC_MINS, 71 KC_TRNS, KC_TRNS, KC_SCLN, KC_EQL, KC_EQL, KC_SCLN, KC_PGUP, KC_DEL 72 ), 73 /* Keymap 2: Pad/Function layer 74 * 75 * ,-------------------------------------------. ,-------------------------------------------. 76 * | | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | | 77 * |--------+------+------+------+------+------|------. .------|------+------+------+------+------+--------| 78 * | F1 | F2 | F3 | F4 | F5 | F6 | BTN1 | | | LEFT | DOWN | UP | RIGHT|VolDn | VolUp | 79 * |--------+------+------+------+------+------|------| |------|------+------+------+------+------+--------| 80 * | F7 | F8 | F9 | F10 | F11 | F12 | BTN2 | | | MLFT | MDWN | MUP | MRGHT|Ply/Pa| Skip | 81 * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' 82 * .------. .------. .------. .-----. 83 * | | | | | | | | 84 * '------' '------' `------. '-----' 85 * ,-------. ,-------. 86 * | | | PgUp | 87 * ,------|-------| |-------|------. 88 * | | | | | | 89 * | | | | | | 90 * | | | | | | 91 * `--------------' `--------------' 92 */ 93 [NUMB] = LAYOUT_gergo( 94 KC_TRNS, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_TRNS, 95 KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_TRNS, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_VOLD, KC_VOLU, 96 KC_TRNS, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS, MS_LEFT, MS_DOWN, MS_UP, MS_RGHT, KC_MPLY, KC_MNXT, 97 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS 98 ), 99 }; 100 101 /* Keymap template 102 * 103 * ,-------------------------------------------. ,-------------------------------------------. 104 * | | | | | | | | | | | | | | 105 * |--------+------+------+------+------+------|------. .------|------+------+------+------+------+--------| 106 * | | | | | | | | | | | | | | | | 107 * |--------+------+------+------+------+------|------| |------|------+------+------+------+------+--------| 108 * | | | | | | | | | | | | | | | | 109 * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' 110 * .------. .------. .------. .-----. 111 * | | | | | | | | 112 * '------' '------' `------. '-----' 113 * ,-------. ,-------. 114 * | | | | 115 * ,------|-------| |-------|------. 116 * | | | | | | 117 * | | | | | | 118 * | | | | | | 119 * `--------------' `--------------' 120 [SYMB] = LAYOUT_gergo( 121 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 122 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, 123 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, KC_TRNS, KC_TRNS, 124 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS 125 ) 126 */ 127 128 #ifdef OLED_ENABLE 129 oled_rotation_t oled_init_user(oled_rotation_t rotation) { 130 return OLED_ROTATION_180; 131 } 132 133 bool oled_task_user(void) { 134 static const char PROGMEM font_logo[] = { 135 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,0x90,0x91,0x92,0x93,0x94, 136 0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,0xb0,0xb1,0xb2,0xb3,0xb4, 137 0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,0xd0,0xd1,0xd2,0xd3,0xd4,0}; 138 oled_write_P(font_logo, false); 139 140 return false; 141 } 142 //for (int i = 0; i < fontLen; i++) { 143 //oled_write_char(pgm_read_byte(lain+i), false); 144 //oled_write_char((char)i, false); 145 //} 146 #endif