keymap.c (3129B)
1 /* 2 Copyright 2022 imchipwood && deveth0 3 4 This program is free software: you can redistribute it and/or modify 5 it under the terms of the GNU General Public License as published by 6 the Free Software Foundation, either version 2 of the License, or 7 (at your option) any later version. 8 9 This program is distributed in the hope that it will be useful, 10 but WITHOUT ANY WARRANTY; without even the implied warranty of 11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 GNU General Public License for more details. 13 14 You should have received a copy of the GNU General Public License 15 along with this program. If not, see <http://www.gnu.org/licenses/>. 16 */ 17 18 #include QMK_KEYBOARD_H 19 20 // clang-format off 21 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 22 /* 23 BASE LAYER - Num Pad 24 /-----------------------------------------------------` 25 | | 7 | 8 | 9 | - | 26 | |---------|---------|---------|---------| 27 | | 4 | 5 | 6 | + | 28 | |---------|---------|---------|---------| 29 | | 1 | 2 | 3 | * | 30 |-------------|---------|---------|---------|---------| 31 | Mute | TT(1) | 0 | | Enter | 32 \-----------------------------------------------------' 33 */ 34 [0] = LAYOUT( 35 KC_P7, KC_P8, KC_P9, KC_PMNS, 36 KC_P4, KC_P5, KC_P6, KC_PPLS, 37 KC_P1, KC_P2, KC_P3, KC_PAST, 38 KC_MUTE, TT(1), KC_P0, _______, KC_ENTER 39 ), 40 /* 41 SUB LAYER - RGB controls, Modes on encoder 42 /-----------------------------------------------------` 43 | | On/Off | Bright- | Bright+ | Reset | 44 | |---------|---------|---------|---------| 45 | | | Hue- | Hue+ | | 46 | |---------|---------|---------|---------| 47 | | | Sat- | Sat+ | | 48 |-------------|---------|---------|---------|---------| 49 | | TT(1) | Effect- | Effect+ | | 50 \-----------------------------------------------------' 51 */ 52 [1] = LAYOUT( 53 RM_TOGG, RM_VALD, RM_VALU, QK_BOOT, 54 KC_NO, RM_HUED, RM_HUEU, KC_NO, 55 KC_NO, RM_SATD, RM_SATU, KC_NO, 56 KC_NO, _______, RM_SPDD, RM_SPDU, KC_NO 57 ), 58 }; 59 // clang-format on 60 61 bool encoder_update_user(uint8_t index, bool clockwise) { 62 switch (get_highest_layer(layer_state)) { 63 case 0: 64 // main layer, volume 65 if (clockwise) { 66 tap_code(KC_VOLU); 67 } else { 68 tap_code(KC_VOLD); 69 } 70 break; 71 default: 72 // rgb control layer, effects 73 if (clockwise) { 74 rgblight_step(); 75 } else { 76 rgblight_step_reverse(); 77 } 78 break; 79 } 80 return false; 81 }