oled_handler.c 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. // Copyright 2022 Jose Pablo Ramirez (@jpe230)
  2. // SPDX-License-Identifier: GPL-2.0-or-later
  3. #include "jpe230.h"
  4. uint8_t logged_row;
  5. uint8_t logged_col;
  6. uint32_t oled_timer = 0;
  7. __attribute__ ((weak)) void handle_oled_keypress(uint16_t keycode, keyrecord_t *record) {}
  8. __attribute__ ((weak)) oled_rotation_t rotate_master(oled_rotation_t rotation) {return rotation;}
  9. __attribute__ ((weak)) oled_rotation_t rotate_slave(oled_rotation_t rotation) {return rotation;}
  10. void oled_timer_reset(void) { oled_timer = timer_read32(); }
  11. oled_rotation_t oled_init_user(oled_rotation_t rotation) {
  12. if (!is_keyboard_master()) {
  13. return rotate_slave(rotation);
  14. }
  15. return rotate_master(rotation);
  16. }
  17. void set_keylog(uint16_t keycode, keyrecord_t *record) {
  18. logged_row = record->event.key.row;
  19. logged_col = record->event.key.col;
  20. handle_oled_keypress(keycode, record);
  21. }
  22. bool oled_task_user(void) {
  23. if (is_keyboard_master()) {
  24. render_master_oled();
  25. } else {
  26. render_slave_oled();
  27. }
  28. return false;
  29. }