Keyboard firmwares for Atmel AVR and Cortex-M
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

преди 13 години
преди 13 години
преди 13 години
преди 13 години
преди 13 години
преди 13 години
преди 13 години
преди 13 години
преди 13 години
преди 13 години
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. /*
  2. Copyright 2011 Jun Wako <[email protected]>
  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. #ifndef HOST_H
  15. #define HOST_H
  16. #include <stdint.h>
  17. #include "report.h"
  18. #include "host_driver.h"
  19. #ifdef NKRO_ENABLE
  20. extern bool keyboard_nkro;
  21. #endif
  22. extern report_keyboard_t *keyboard_report;
  23. extern report_keyboard_t *keyboard_report_prev;
  24. void host_set_driver(host_driver_t *driver);
  25. host_driver_t *host_get_driver(void);
  26. uint8_t host_keyboard_leds(void);
  27. /* keyboard report operations */
  28. void host_add_key(uint8_t key);
  29. void host_del_key(uint8_t key);
  30. void host_add_mod_bit(uint8_t mod);
  31. void host_del_mod_bit(uint8_t mod);
  32. void host_set_mods(uint8_t mods);
  33. void host_add_code(uint8_t code);
  34. void host_del_code(uint8_t code);
  35. void host_swap_keyboard_report(void);
  36. void host_clear_keyboard_report(void);
  37. uint8_t host_has_anykey(void);
  38. uint8_t host_get_first_key(void);
  39. void host_send_keyboard_report(void);
  40. void host_mouse_send(report_mouse_t *report);
  41. void host_system_send(uint16_t data);
  42. void host_consumer_send(uint16_t data);
  43. #endif