keymap.c 3.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. /*
  2. Via Keymap for dekuNukem/duckyPad QMK firmware
  3. Copyright (C) 2020 Max Bridgland
  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 3 of the License, or
  7. (at your option) any later version.
  8. This program is distributed in the hope that it will be useful,
  9. but WITHOUT ANY WARRANTY; without even the implied warranty of
  10. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  11. GNU General Public License for more details.
  12. You should have received a copy of the GNU General Public License
  13. along with this program. If not, see <http://www.gnu.org/licenses/>.
  14. */
  15. #include QMK_KEYBOARD_H
  16. #define LOGO_SIZE 384
  17. const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  18. LAYOUT(
  19. KC_KP_1, KC_KP_2, KC_KP_3,
  20. KC_KP_4, KC_KP_5, KC_KP_6,
  21. KC_KP_7, KC_KP_8, KC_KP_9,
  22. KC_TRNS, KC_KP_0, KC_TRNS,
  23. KC_TRNS, KC_TRNS, KC_TRNS,
  24. KC_TRNS, KC_TRNS
  25. ),
  26. LAYOUT(
  27. KC_TRNS, KC_TRNS, KC_TRNS,
  28. KC_TRNS, KC_TRNS, KC_TRNS,
  29. KC_TRNS, KC_TRNS, KC_TRNS,
  30. KC_TRNS, KC_TRNS, KC_TRNS,
  31. KC_TRNS, KC_TRNS, KC_TRNS,
  32. KC_TRNS, KC_TRNS
  33. ),
  34. LAYOUT(
  35. KC_TRNS, KC_TRNS, KC_TRNS,
  36. KC_TRNS, KC_TRNS, KC_TRNS,
  37. KC_TRNS, KC_TRNS, KC_TRNS,
  38. KC_TRNS, KC_TRNS, KC_TRNS,
  39. KC_TRNS, KC_TRNS, KC_TRNS,
  40. KC_TRNS, KC_TRNS
  41. ),
  42. LAYOUT(
  43. KC_TRNS, KC_TRNS, KC_TRNS,
  44. KC_TRNS, KC_TRNS, KC_TRNS,
  45. KC_TRNS, KC_TRNS, KC_TRNS,
  46. KC_TRNS, KC_TRNS, KC_TRNS,
  47. KC_TRNS, KC_TRNS, KC_TRNS,
  48. KC_TRNS, KC_TRNS
  49. ),
  50. };
  51. static void render_logo(void) {
  52. static const char PROGMEM ducky_logo[LOGO_SIZE] = {
  53. 0, 0, 0, 0,128,128,128,128,128, 0, 0,252,252,252, 0, 0, 0,128,128,128, 0, 0, 0, 0, 0,128,128,128, 0, 0, 0, 0, 0,128,128,128,128,128, 0, 0, 0, 0, 0,252,252,252, 0, 0, 0, 0, 0,128,128,128,128,128,128, 0, 0, 0, 0, 0, 0,128,128,128,128, 0,248,248,248, 56, 56, 56, 56, 56, 56,120,240,224,192, 0, 0,128,128,128,128,128,128, 0, 0, 0, 0, 0, 0, 0, 0,128,128,128,128,128, 0, 0,252,252,252, 0, 0, 0, 0, 0,232, 24, 24,232, 0, 24, 48, 48, 24, 0,232, 24, 24,232, 0, 0,
  54. 0,248,254,255,143, 7, 3, 3, 3, 7,142,255,255,255, 0, 0, 0,255,255,255, 0, 0, 0, 0, 0,255,255,255, 0,248,254,255,143, 7, 3, 3, 3, 3,143, 7, 2, 0, 0,255,255,255,240,120,252,254,231,131, 1, 0, 1, 7, 63,254,240,192, 0,224,252,127, 31, 3, 0, 0,255,255,255,112,112,112,112,112,112, 56, 63, 31, 15,193,231,243,115, 51, 51, 51, 55,255,255,252, 0, 0,248,254,255,143, 7, 3, 3, 3, 7,142,255,255,255, 0, 0, 0, 0, 0, 21,127,127,252,252,252,253,253,252,252,252,255,255,255, 0, 0,
  55. 0, 0, 3, 7, 15, 15, 14, 14, 14, 7, 3, 15, 15, 15, 0, 0, 0, 3, 7, 15, 15, 14, 14, 6, 3, 15, 15, 15, 0, 0, 3, 7, 7, 15, 14, 14, 14, 14, 7, 7, 2, 0, 0, 15, 15, 15, 0, 0, 0, 1, 3, 15, 15, 12,136,224,224,224,247,127,127, 31, 3, 0, 0, 0, 0, 0, 15, 15, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 7, 15, 14, 14, 14, 6, 3, 15, 15, 15, 0, 0, 0, 3, 7, 15, 15, 14, 14, 14, 7, 3, 15, 15, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 7, 11, 3, 11, 7, 11, 7, 7, 31, 0, 0
  56. };
  57. oled_write_raw_P(ducky_logo, LOGO_SIZE);
  58. }
  59. void oled_task_user(void) {
  60. render_logo();
  61. }