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.

125 lines
5.9 KiB

  1. /* Copyright 2016 Artyom Mironov
  2. *
  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. *
  8. * This program is distributed in the hope that it will be useful,
  9. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  10. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  11. * GNU General Public License for more details.
  12. *
  13. * You should have received a copy of the GNU General Public License
  14. * along with this program. If not, see <http://www.gnu.org/licenses/>.
  15. */
  16. #pragma once
  17. #include "keymap.h"
  18. // clang-format off
  19. /*
  20. *
  21. * $ & [ { } ( = * ) + ] ! #
  22. *
  23. * ; , . P Y F G C R L / @ \
  24. *
  25. * A O E U I D H T N S -
  26. *
  27. * ' Q J K X B M W V Z
  28. *
  29. *
  30. *
  31. */
  32. // Row 1
  33. #define DP_DLR KC_GRV // $
  34. #define DP_AMPR KC_1 // &
  35. #define DP_LBRC KC_2 // [
  36. #define DP_LCBR KC_3 // {
  37. #define DP_RCBR KC_4 // }
  38. #define DP_LPRN KC_5 // (
  39. #define DP_EQL KC_6 // =
  40. #define DP_ASTR KC_7 // *
  41. #define DP_RPRN KC_8 // )
  42. #define DP_PLUS KC_9 // +
  43. #define DP_RBRC KC_0 // ]
  44. #define DP_EXLM KC_MINS // !
  45. #define DP_HASH KC_EQL // #
  46. // Row 2
  47. #define DP_SCLN KC_Q // ;
  48. #define DP_COMM KC_W // ,
  49. #define DP_DOT KC_E // .
  50. #define DP_P KC_R // P
  51. #define DP_Y KC_T // Y
  52. #define DP_F KC_Y // F
  53. #define DP_G KC_U // G
  54. #define DP_C KC_I // C
  55. #define DP_R KC_O // R
  56. #define DP_L KC_P // L
  57. #define DP_SLSH KC_LBRC // /
  58. #define DP_AT KC_RBRC // @
  59. #define DP_BSLS KC_BSLS // (backslash)
  60. // Row 3
  61. #define DP_A KC_A // A
  62. #define DP_O KC_S // O
  63. #define DP_E KC_D // E
  64. #define DP_U KC_F // U
  65. #define DP_I KC_G // I
  66. #define DP_D KC_H // D
  67. #define DP_H KC_J // H
  68. #define DP_T KC_K // T
  69. #define DP_N KC_L // N
  70. #define DP_S KC_SCLN // S
  71. #define DP_MINS KC_QUOT // -
  72. // Row 4
  73. #define DP_QUOT KC_Z // '
  74. #define DP_Q KC_X // Q
  75. #define DP_J KC_C // J
  76. #define DP_K KC_V // K
  77. #define DP_X KC_B // X
  78. #define DP_B KC_N // B
  79. #define DP_M KC_M // M
  80. #define DP_W KC_COMM // W
  81. #define DP_V KC_DOT // V
  82. #define DP_Z KC_SLSH // Z
  83. /* Shifted symbols
  84. *
  85. * ~ % 7 5 3 1 9 0 2 4 6 8 `
  86. *
  87. * : < > ? ^ |
  88. *
  89. * _
  90. *
  91. * " │ │ │ │ │ │ │ │ │ │ │
  92. *
  93. *
  94. *
  95. */
  96. // Row 1
  97. #define DP_TILD S(DP_DLR) // ~
  98. #define DP_PERC S(DP_AMPR) // %
  99. #define DP_7 S(DP_LBRC) // 7
  100. #define DP_5 S(DP_LCBR) // 5
  101. #define DP_3 S(DP_RCBR) // 3
  102. #define DP_1 S(DP_LPRN) // 1
  103. #define DP_9 S(DP_EQL) // 9
  104. #define DP_0 S(DP_ASTR) // 0
  105. #define DP_2 S(DP_RPRN) // 2
  106. #define DP_4 S(DP_PLUS) // 4
  107. #define DP_6 S(DP_RBRC) // 6
  108. #define DP_8 S(DP_EXLM) // 8
  109. #define DP_GRV S(DP_HASH) // `
  110. // Row 2
  111. #define DP_COLN S(DP_SCLN) // :
  112. #define DP_LABK S(DP_COMM) // <
  113. #define DP_RABK S(DP_DOT) // >
  114. #define DP_QUES S(DP_SLSH) // ?
  115. #define DP_CIRC S(DP_AT) // ^
  116. #define DP_PIPE S(DP_BSLS) // |
  117. // Row 3
  118. #define DP_UNDS S(DP_MINS) // _
  119. // Row 4
  120. #define DP_DQUO S(DP_QUOT) // "