quokka.c (3643B)
1 /* 2 Copyright 2023 @dlford 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 "quantum.h" 19 20 #ifdef OLED_ENABLE 21 oled_rotation_t oled_init_kb(oled_rotation_t rotation) { 22 return OLED_ROTATION_180; 23 } 24 25 // Prints out logo 26 static void oled_render_logo(void) { 27 static const char PROGMEM raw_logo[] = { 28 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 224, 224, 96, 96, 96, 96, 96, 96, 128, 192, 224, 224, 240, 240, 240, 224, 224, 192, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 192, 240, 60, 30, 7, 1, 192, 224, 224, 240, 240, 240, 0, 255, 255, 255, 255, 249, 241, 241, 7, 7, 55, 247, 192, 0, 0, 0, 0, 224, 224, 224, 224, 224, 192, 192, 192, 0, 192, 224, 224, 224, 0, 0, 0, 0, 224, 224, 96, 96, 96, 96, 0, 192, 224, 96, 96, 96, 224, 192, 192, 192, 224, 96, 96, 96, 224, 192, 0, 224, 224, 96, 96, 96, 224, 192, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 15, 60, 240, 224, 134, 31, 63, 127, 255, 249, 248, 248, 127, 127, 63, 31, 0, 0, 128, 224, 248, 60, 15, 3, 1, 0, 0, 0, 127, 127, 127, 127, 113, 127, 127, 63, 31, 31, 63, 127, 127, 112, 112, 112, 112, 127, 127, 6, 6, 6, 6, 0, 127, 127, 96, 96, 96, 127, 127, 63, 127, 127, 12, 12, 60, 127, 103, 0, 127, 127, 96, 96, 96, 127, 63, 31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 7, 14, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 14, 7, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30 }; 31 oled_write_raw_P(raw_logo, sizeof(raw_logo)); 32 } 33 34 // Render logo on both displays 35 bool oled_task_kb(void) { 36 if (!oled_task_user()) { 37 return false; 38 } 39 oled_render_logo(); 40 return true; 41 } 42 #endif 43 // clang-format off 44 45 #ifdef SWAP_HANDS_ENABLE 46 __attribute__ ((weak)) 47 const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = { 48 // Left 49 {{0, 4}, {1, 4}, {2, 4}, {3, 4}, {4, 4}}, 50 {{0, 5}, {1, 5}, {2, 5}, {3, 5}, {4, 5}}, 51 {{0, 6}, {1, 6}, {2, 6}, {3, 6}, {4, 6}}, 52 {{0, 7}, {1, 7}, {2, 7}, {3, 7}, {4, 7}}, 53 // Right 54 {{0, 0}, {1, 0}, {2, 0}, {3, 0}, {4, 0}}, 55 {{0, 1}, {1, 1}, {2, 1}, {3, 1}, {4, 1}}, 56 {{0, 2}, {1, 2}, {2, 2}, {3, 2}, {4, 2}}, 57 {{0, 3}, {1, 3}, {2, 3}, {3, 3}, {4, 3}} 58 }; 59 #endif 60 61 // clang-format on