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.

преди 11 години
преди 11 години
преди 11 години
преди 11 години
преди 11 години
преди 11 години
преди 11 години
преди 11 години
преди 11 години
преди 11 години
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. /*
  2. Copyright 2013 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 EECONFIG_H
  15. #define EECONFIG_H
  16. #include <stdint.h>
  17. #include <stdbool.h>
  18. #define EECONFIG_MAGIC_NUMBER (uint16_t)0xFEED
  19. /* eeprom parameteter address */
  20. #define EECONFIG_MAGIC (uint16_t *)0
  21. #define EECONFIG_DEBUG (uint8_t *)2
  22. #define EECONFIG_DEFAULT_LAYER (uint8_t *)3
  23. #define EECONFIG_KEYMAP (uint8_t *)4
  24. #define EECONFIG_MOUSEKEY_ACCEL (uint8_t *)5
  25. #define EECONFIG_BACKLIGHT (uint8_t *)6
  26. /* debug bit */
  27. #define EECONFIG_DEBUG_ENABLE (1<<0)
  28. #define EECONFIG_DEBUG_MATRIX (1<<1)
  29. #define EECONFIG_DEBUG_KEYBOARD (1<<2)
  30. #define EECONFIG_DEBUG_MOUSE (1<<3)
  31. /* keyconf bit */
  32. #define EECONFIG_KEYMAP_SWAP_CONTROL_CAPSLOCK (1<<0)
  33. #define EECONFIG_KEYMAP_CAPSLOCK_TO_CONTROL (1<<1)
  34. #define EECONFIG_KEYMAP_SWAP_LALT_LGUI (1<<2)
  35. #define EECONFIG_KEYMAP_SWAP_RALT_RGUI (1<<3)
  36. #define EECONFIG_KEYMAP_NO_GUI (1<<4)
  37. #define EECONFIG_KEYMAP_SWAP_GRAVE_ESC (1<<5)
  38. #define EECONFIG_KEYMAP_SWAP_BACKSLASH_BACKSPACE (1<<6)
  39. #define EECONFIG_KEYMAP_NKRO (1<<7)
  40. bool eeconfig_is_enabled(void);
  41. void eeconfig_init(void);
  42. void eeconfig_enable(void);
  43. void eeconfig_disable(void);
  44. uint8_t eeconfig_read_debug(void);
  45. void eeconfig_write_debug(uint8_t val);
  46. uint8_t eeconfig_read_default_layer(void);
  47. void eeconfig_write_default_layer(uint8_t val);
  48. uint8_t eeconfig_read_keymap(void);
  49. void eeconfig_write_keymap(uint8_t val);
  50. #ifdef BACKLIGHT_ENABLE
  51. uint8_t eeconfig_read_backlight(void);
  52. void eeconfig_write_backlight(uint8_t val);
  53. #endif
  54. #endif