keymap.c 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. #include "magicforce68.h"
  2. #define _QWERTY 0
  3. #define _FN1 1
  4. #define _FN2 2
  5. #define KC_ KC_TRNS
  6. const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  7. [_QWERTY] = KEYMAP(
  8. /*,----+----+----+----+----+----+----+----+----+----+----+----+----+--------. ,----+----. */
  9. ESC , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 0 ,MINS,EQL , BSPC , INS ,PGUP,
  10. /*|----`----`----`----`----`----`----`----`----`----`----`----`----`--------| |----`----| */
  11. TAB , Q , W , E , R , T , Y , U , I , O , P ,LBRC,RBRC, BSLS , DEL ,PGDN,
  12. /*|------`----`----`----`----`----`----`----`----`----`----`----`----`------| `----`----' */
  13. FN0 , A , S , D , F , G , H , J , K , L ,SCLN,QUOT, ENTER ,
  14. /*|-------`----`----`----`----`----`----`----`----`----`----`----`----------| ,----. */
  15. LSFT , Z , X , C , V , B , N , M ,COMM,DOT ,SLSH, RSFT , UP ,
  16. /*|---------`----`----`----`----`----`----`----`----`----`----`-------------.--|----|----. */
  17. LCTL ,LGUI ,LALT , SPACE , FN1 ,RALT ,RCTL , LEFT,DOWN,RGHT
  18. /*`-----+-----+-----+------------------------------+------+-----+-----' `----+----+----' */
  19. ),
  20. [_FN1] = KEYMAP(
  21. /*,----+----+----+----+----+----+----+----+----+----+----+----+----+--------. ,----+----. */
  22. GRV , F1 , F2 , F3 , F4 , F5 , F6 , F7 , F8 , F9 ,F10 ,F11 ,F12 , BSPC , VOLU,HOME,
  23. /*|esc-`-1--`-2--`-3--`-4--`-5--`-6--`-7--`-8--`-9--`-0--`mnus`plus`--bksp--| |ins-`pgup| */
  24. , , , UP , , , , , , , , , , , VOLD,END,
  25. /*|tab---`-q--`-w--`-e--`-r--`-t--`-y--`-u--`-i--`-o--`-p--`-{--`-}--`--|---| `del-`pgdn' */
  26. , ,LEFT,DOWN,RGHT, , , , , , , , ,
  27. /*|caps---`-a--`-s--`-d--`-f--`-g--`-h--`-j--`-k--`-l--`-;--`-'--`----enter-| ,----. */
  28. , , , , , , ,MUTE, , , , , MUTE,
  29. /*|shift----`-z--`-x--`-c--`-v--`-b--`-n--`-m--`-,--`-.--`-/--`-------shift-.--|-up-|----. */
  30. , , , , , , , MPRV,MPLY,MNXT
  31. /*`ctrl-+-gui-+-alt-+----------space---------------+-fn---+-alt-+ctrl-' `left+down+rght' */
  32. ),
  33. [_FN2] = KEYMAP(
  34. /*,----+----+----+----+----+----+----+----+----+----+----+----+----+--------. ,----+----. */
  35. GRV , F1 , F2 , F3 , F4 , F5 , F6 , F7 , F8 , F9 ,F10 ,F11 ,F12 , BSPC , VOLU,HOME,
  36. /*|esc-`-1--`-2--`-3--`-4--`-5--`-6--`-7--`-8--`-9--`-0--`mnus`plus`--bksp--| |ins-`pgup| */
  37. , , , UP , , , , 7 , 8 , 9 , , , , , VOLD,END,
  38. /*|tab---`-q--`-w--`-e--`-r--`-t--`-y--`-u--`-i--`-o--`-p--`-{--`-}--`--|---| `del-`pgdn' */
  39. , ,LEFT,DOWN,RGHT, , , 4 , 5 , 6 , , , ,
  40. /*|caps---`-a--`-s--`-d--`-f--`-g--`-h--`-j--`-k--`-l--`-;--`-'--`----enter-| ,----. */
  41. , , , , , , 0 , 1 , 2 , 3 , , , MUTE,
  42. /*|shift----`-z--`-x--`-c--`-v--`-b--`-n--`-m--`-,--`-.--`-/--`-------shift-.--|-up-|----. */
  43. , , , , , , , MPRV,MPLY,MNXT
  44. /*`ctrl-+-gui-+-alt-+----------space---------------+-fn---+-alt-+ctrl-' `left+down+rght' */
  45. )
  46. };
  47. const uint16_t PROGMEM fn_actions[] = {
  48. [0] = LT(KC_FN2, KC_GRV),
  49. [1] = MO(_FN1),
  50. [2] = MO(_FN2),
  51. };
  52. const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
  53. {
  54. // MACRODOWN only works in this function
  55. switch(id) {
  56. case 0:
  57. if (record->event.pressed) {
  58. register_code(KC_RSFT);
  59. } else {
  60. unregister_code(KC_RSFT);
  61. }
  62. break;
  63. }
  64. return MACRO_NONE;
  65. };