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.
This repo is archived. You can view files and clone it, but cannot push or open issues/pull-requests.

keymap_default.c 4.5KB

10 jaren geleden
10 jaren geleden
10 jaren geleden
10 jaren geleden
10 jaren geleden
10 jaren geleden
10 jaren geleden
10 jaren geleden
10 jaren geleden
10 jaren geleden
10 jaren geleden
10 jaren geleden
10 jaren geleden
10 jaren geleden
10 jaren geleden
10 jaren geleden
10 jaren geleden
10 jaren geleden
10 jaren geleden
10 jaren geleden
10 jaren geleden
10 jaren geleden
10 jaren geleden
10 jaren geleden
10 jaren geleden
10 jaren geleden
10 jaren geleden
10 jaren geleden
10 jaren geleden
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. #include "keymap_common.h"
  2. /* Default layout */
  3. #ifdef KEYMAP_SECTION_ENABLE
  4. const uint8_t keymaps[KEYMAPS_COUNT][MATRIX_ROWS][MATRIX_COLS] __attribute__ ((section (".keymap.keymaps"))) = {
  5. #else
  6. const uint8_t keymaps[][MATRIX_ROWS][MATRIX_COLS] PROGMEM = {
  7. #endif
  8. /* Keymap 0: Default Layer
  9. * ,---------------------------------------------------------------.
  10. * |Esc| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|Backsp | `|
  11. * |---------------------------------------------------------------|
  12. * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \|Del|
  13. * |---------------------------------------------------------------|
  14. * |Caps | A| S| D| F| G| H| J| K| L| ;| '|Return |PgU|
  15. * |---------------------------------------------------------------|
  16. * |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift |Up |PgD|
  17. * |---------------------------------------------------------------|
  18. * |Ctrl |Gui |Alt | Space |Alt |Ctrl |Lef|Dow|Rig|
  19. * `---------------------------------------------------------------'
  20. * | Fn0 |
  21. * `----------------------'
  22. */
  23. KEYMAP(
  24. ESC, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS,EQL, BSPC,GRV, \
  25. TAB, Q, W, E, R, T, Y, U, I, O, P, LBRC,RBRC,BSLS,DEL, \
  26. CAPS,A, S, D, F, G, H, J, K, L, SCLN,QUOT, ENT, PGUP, \
  27. LSFT,Z, X, C, V, B, N, M, COMM,DOT, SLSH, RSFT,UP, PGDN, \
  28. LCTL,LGUI,LALT, SPC, RALT,RCTL,LEFT,DOWN,RGHT, \
  29. FN0 ),
  30. /* Keymap 1: Fn Layer
  31. * ,---------------------------------------------------------------.
  32. * |Mut| F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12| | |
  33. * |---------------------------------------------------------------|
  34. * | | |Up | | | | | | | |Psc|Slk|Pau| Ins| |
  35. * |---------------------------------------------------------------|
  36. * | |Lef|Dow|Rig| | | | | | | | |Fn1 |Hom|
  37. * |---------------------------------------------------------------|
  38. * | | | | | | | | | | | | |VoU|End|
  39. * |---------------------------------------------------------------|
  40. * | | | | | | |Fn2|VoD|Fn3|
  41. * `---------------------------------------------------------------'
  42. * | |
  43. * `----------------------'
  44. */
  45. KEYMAP(
  46. MUTE,F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, TRNS,TRNS, \
  47. TRNS,TRNS,UP, TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,PSCR,SLCK,PAUS,INS, TRNS, \
  48. TRNS,LEFT,DOWN,RGHT,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, FN1, HOME, \
  49. TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, TRNS,VOLU,END, \
  50. TRNS,TRNS,TRNS, TRNS, TRNS,TRNS,FN2, VOLD,FN3, \
  51. TRNS ),
  52. };
  53. /*
  54. * Fn action definition
  55. */
  56. #ifdef KEYMAP_SECTION_ENABLE
  57. const uint16_t fn_actions[FN_ACTIONS_COUNT] __attribute__ ((section (".keymap.fn_actions"))) = {
  58. #else
  59. const uint16_t fn_actions[] PROGMEM = {
  60. #endif
  61. /* Default layout */
  62. [0] = ACTION_LAYER_MOMENTARY(1),
  63. [1] = ACTION_BACKLIGHT_TOGGLE(),
  64. [2] = ACTION_BACKLIGHT_DECREASE(),
  65. [3] = ACTION_BACKLIGHT_INCREASE()
  66. };
  67. #ifdef KEYMAP_IN_EEPROM_ENABLE
  68. uint16_t keys_count(void) {
  69. return sizeof(keymaps) / sizeof(keymaps[0]) * MATRIX_ROWS * MATRIX_COLS;
  70. }
  71. uint16_t fn_actions_count(void) {
  72. return sizeof(fn_actions) / sizeof(fn_actions[0]);
  73. }
  74. #endif
  75. enum function_id {
  76. TRICKY_ESC = 0,
  77. };
  78. #define MODS_SHIFT_MASK (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT))
  79. void action_function(keyrecord_t *record, uint8_t id, uint8_t opt)
  80. {
  81. static uint8_t tricky_esc_registered;
  82. switch (id) {
  83. case TRICKY_ESC:
  84. if (record->event.pressed) {
  85. if (get_mods() & MODS_SHIFT_MASK) {
  86. tricky_esc_registered = KC_GRV;
  87. }
  88. else {
  89. tricky_esc_registered = KC_ESC;
  90. }
  91. register_code(tricky_esc_registered);
  92. send_keyboard_report();
  93. }
  94. else {
  95. unregister_code(tricky_esc_registered);
  96. send_keyboard_report();
  97. }
  98. break;
  99. }
  100. }