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.

70 lines
4.0 KiB

  1. // by Matthew Pepers - https://github.com/pepers
  2. /* grid planck layout - modified programmer dvorak
  3. ,-----------------------------------------------------------------------------------------------.
  4. | pause | @ | | | ^ | | | | | * | # | $ | del |
  5. | esc | ; : | , < | . > | P | Y | F | G | G | C | R | bkspc |
  6. | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
  7. |-------|-------|-------|-------|-------|-------|-------|-------|-------|-------|-------|-------|
  8. | & | / | { | ( | [ | = | ! | ] | ) | } | \ | + |
  9. | ` ~ | A | O | E | U | I | D | H | T | N | S | - _ |
  10. | % | 7 | 5 | 3 | 1 | 9 | 0 | 2 | 4 | 6 | 8 | ? |
  11. |-------|-------|-------|-------|-------|-------|-------|-------|-------|-------|-------|-------|
  12. | | | | | | | | | | | | prtsc |
  13. | tab | ' " | Q | J | K | X | B | M | W | V | Z | retrn |
  14. | | | | | | | | | | | | insrt |
  15. |-------|-------|-------|-------|-------|-------|-------|-------|-------|-------|-------|-------|
  16. | | | | | | | | | | | | |
  17. | lctrl | lgui | lalt | ralt | lower | shift | space | raise | left | down | up | right |
  18. | | | | | | | | | home | pgdn | pgup | end |
  19. `-----------------------------------------------------------------------------------------------'
  20. */
  21. #include "keymap.h"
  22. #define KC_MO1 MO(1)
  23. #define KC_MO2 MO(2)
  24. const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  25. /* 0: dvorak */
  26. [0] = KEYMAP_GRID( ESC, SCLN, COMM, DOT, P, Y, F, G, C, R, L, BSPC, \
  27. GRV, A, O, E, U, I, D, H, T, N, S, MINS, \
  28. TAB, QUOT, Q, J, K, X, B, M, W, V, Z, ENT, \
  29. LCTL, LGUI, LALT, RALT, MO1, LSFT, SPC, MO2, LEFT, DOWN, UP, RGHT),
  30. /* 1: lower (FN1) */
  31. [1] = KEYMAP_GRID( F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, \
  32. FN17, 7, 5, 3, 1, 9, 0, 2, 4, 6, 8, FN18, \
  33. TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, INS, \
  34. TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, HOME, PGDN, PGUP, END),
  35. /* 2: raise (FN2) */
  36. [2] = KEYMAP_GRID(PAUS, FN19, FN20, FN21, TRNS, TRNS, TRNS, TRNS, FN22, FN23, FN24, DEL, \
  37. FN10, SLSH, FN11, FN12, LBRC, EQL, FN13, RBRC, FN14, FN15, BSLS, FN16, \
  38. TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, PSCR, \
  39. TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS),
  40. };
  41. const uint16_t PROGMEM fn_actions[] = {
  42. // lower row1
  43. [17] = ACTION_MODS_KEY(MOD_LSFT, KC_5), // %
  44. [18] = ACTION_MODS_KEY(MOD_LSFT, KC_SLASH), // ?
  45. // raise row0
  46. [19] = ACTION_MODS_KEY(MOD_LSFT, KC_2), // @
  47. [20] = ACTION_MODS_KEY(MOD_LSFT, KC_BSLASH), // |
  48. [21] = ACTION_MODS_KEY(MOD_LSFT, KC_6), // ^
  49. [22] = ACTION_MODS_KEY(MOD_LSFT, KC_8), // *
  50. [23] = ACTION_MODS_KEY(MOD_LSFT, KC_3), // #
  51. [24] = ACTION_MODS_KEY(MOD_LSFT, KC_4), // $
  52. // raise row1
  53. [10] = ACTION_MODS_KEY(MOD_LSFT, KC_7), // &
  54. [11] = ACTION_MODS_KEY(MOD_LSFT, KC_LBRACKET), // {
  55. [12] = ACTION_MODS_KEY(MOD_LSFT, KC_9), // (
  56. [13] = ACTION_MODS_KEY(MOD_LSFT, KC_1), // !
  57. [14] = ACTION_MODS_KEY(MOD_LSFT, KC_0), // )
  58. [15] = ACTION_MODS_KEY(MOD_LSFT, KC_RBRACKET), // }
  59. [16] = ACTION_MODS_KEY(MOD_LSFT, KC_EQUAL), // +
  60. };