host_driver.h (1246B)
1 /* 2 Copyright 2011 Jun Wako <wakojun@gmail.com> 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 #pragma once 19 20 #include <stdint.h> 21 #include "report.h" 22 #ifdef MIDI_ENABLE 23 # include "midi.h" 24 #endif 25 26 typedef struct { 27 uint8_t (*keyboard_leds)(void); 28 void (*send_keyboard)(report_keyboard_t *); 29 void (*send_nkro)(report_nkro_t *); 30 void (*send_mouse)(report_mouse_t *); 31 void (*send_extra)(report_extra_t *); 32 #ifdef RAW_ENABLE 33 void (*send_raw_hid)(uint8_t *, uint8_t); 34 #endif 35 } host_driver_t; 36 37 void send_joystick(report_joystick_t *report); 38 void send_digitizer(report_digitizer_t *report); 39 void send_programmable_button(report_programmable_button_t *report);