Keyboard firmwares for Atmel AVR and Cortex-M
Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.

pirms 13 gadiem
pirms 13 gadiem
pirms 11 gadiem
pirms 10 gadiem
pirms 11 gadiem
pirms 11 gadiem
pirms 11 gadiem
pirms 13 gadiem
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  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 KEYMAP_H
  15. #define KEYMAP_H
  16. #include <stdint.h>
  17. #include <stdbool.h>
  18. #include "action.h"
  19. #ifdef BOOTMAGIC_ENABLE
  20. /* NOTE: Not portable. Bit field order depends on implementation */
  21. typedef union {
  22. uint8_t raw;
  23. struct {
  24. bool swap_control_capslock:1;
  25. bool capslock_to_control:1;
  26. bool swap_lalt_lgui:1;
  27. bool swap_ralt_rgui:1;
  28. bool no_gui:1;
  29. bool swap_grave_esc:1;
  30. bool swap_backslash_backspace:1;
  31. bool nkro:1;
  32. };
  33. } keymap_config_t;
  34. keymap_config_t keymap_config;
  35. #endif
  36. /* translates key to keycode */
  37. uint8_t keymap_key_to_keycode(uint8_t layer, keypos_t key);
  38. /* translates Fn keycode to action */
  39. action_t keymap_fn_to_action(uint8_t keycode);
  40. #ifdef USE_LEGACY_KEYMAP
  41. /*
  42. * Legacy keymap
  43. * Consider using new keymap API above instead.
  44. */
  45. /* keycode of key */
  46. __attribute__ ((deprecated))
  47. uint8_t keymap_get_keycode(uint8_t layer, uint8_t row, uint8_t col);
  48. /* layer to move during press Fn key */
  49. __attribute__ ((deprecated))
  50. uint8_t keymap_fn_layer(uint8_t fn_bits);
  51. /* keycode to send when release Fn key without using */
  52. __attribute__ ((deprecated))
  53. uint8_t keymap_fn_keycode(uint8_t fn_bits);
  54. #endif
  55. #endif