djinn.h (816B)
1 // Copyright 2018-2023 Nick Brassel (@tzarc) 2 // SPDX-License-Identifier: GPL-2.0-or-later 3 #pragma once 4 #include "quantum.h" 5 #include "qp.h" 6 7 //---------------------------------------------------------- 8 // General stuff 9 10 extern painter_device_t lcd; 11 12 void matrix_wait_for_interrupt(void); 13 14 void usbpd_update(void); 15 const char* usbpd_str(usbpd_allowance_t allowance); 16 17 //---------------------------------------------------------- 18 // Runtime data sync -- keyboard 19 20 #pragma pack(push) 21 #pragma pack(1) 22 typedef struct kb_runtime_config { 23 usbpd_allowance_t current_setting : 2; 24 } kb_runtime_config; 25 #pragma pack(pop) 26 27 extern kb_runtime_config kb_state; 28 29 void kb_state_update(void); 30 void kb_state_sync(void); 31 void kb_state_sync_slave(uint8_t m2s_size, const void* m2s_buffer, uint8_t s2m_size, void* s2m_buffer);