logo

qmk_firmware

custom branch of QMK firmware git clone https://anongit.hacktivis.me/git/qmk_firmware.git

quokka.c (3643B)


  1. /*
  2. Copyright 2023 @dlford
  3. This program is free software: you can redistribute it and/or modify
  4. it under the terms of the GNU General Public License as published by
  5. the Free Software Foundation, either version 2 of the License, or
  6. (at your option) any later version.
  7. This program is distributed in the hope that it will be useful,
  8. but WITHOUT ANY WARRANTY; without even the implied warranty of
  9. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  10. GNU General Public License for more details.
  11. You should have received a copy of the GNU General Public License
  12. along with this program. If not, see <http://www.gnu.org/licenses/>.
  13. */
  14. #include "quantum.h"
  15. #ifdef OLED_ENABLE
  16. oled_rotation_t oled_init_kb(oled_rotation_t rotation) {
  17. return OLED_ROTATION_180;
  18. }
  19. // Prints out logo
  20. static void oled_render_logo(void) {
  21. static const char PROGMEM raw_logo[] = {
  22. 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,
  23. 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,
  24. };
  25. oled_write_raw_P(raw_logo, sizeof(raw_logo));
  26. }
  27. // Render logo on both displays
  28. bool oled_task_kb(void) {
  29. if (!oled_task_user()) {
  30. return false;
  31. }
  32. oled_render_logo();
  33. return true;
  34. }
  35. #endif
  36. // clang-format off
  37. #ifdef SWAP_HANDS_ENABLE
  38. __attribute__ ((weak))
  39. const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = {
  40. // Left
  41. {{0, 4}, {1, 4}, {2, 4}, {3, 4}, {4, 4}},
  42. {{0, 5}, {1, 5}, {2, 5}, {3, 5}, {4, 5}},
  43. {{0, 6}, {1, 6}, {2, 6}, {3, 6}, {4, 6}},
  44. {{0, 7}, {1, 7}, {2, 7}, {3, 7}, {4, 7}},
  45. // Right
  46. {{0, 0}, {1, 0}, {2, 0}, {3, 0}, {4, 0}},
  47. {{0, 1}, {1, 1}, {2, 1}, {3, 1}, {4, 1}},
  48. {{0, 2}, {1, 2}, {2, 2}, {3, 2}, {4, 2}},
  49. {{0, 3}, {1, 3}, {2, 3}, {3, 3}, {4, 3}}
  50. };
  51. #endif
  52. // clang-format on