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.

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