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.

92 lines
2.3 KiB

  1. /* Copyright 2016 Sébastien Pérochon
  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. #ifndef KEYMAP_FRENCH_OSX_H
  17. #define KEYMAP_FRENCH_OSX_H
  18. #include "keymap.h"
  19. // Normal characters
  20. #define FR_AT KC_GRV
  21. #define FR_AMP KC_1
  22. #define FR_EACU KC_2
  23. #define FR_QUOT KC_3
  24. #define FR_APOS KC_4
  25. #define FR_LPRN KC_5
  26. #define FR_SECT KC_6
  27. #define FR_EGRV KC_7
  28. #define FR_EXLM KC_8
  29. #define FR_CCED KC_9
  30. #define FR_AGRV KC_0
  31. #define FR_RPRN KC_MINS
  32. #define FR_MINS KC_EQL
  33. #define FR_A KC_Q
  34. #define FR_Z KC_W
  35. #define FR_CIRC KC_LBRC
  36. #define FR_DLR KC_RBRC
  37. #define FR_Q KC_A
  38. #define FR_M KC_SCLN
  39. #define FR_UGRV KC_QUOT
  40. #define FR_GRV KC_NUHS
  41. #define FR_LESS KC_NUBS
  42. #define FR_W KC_Z
  43. #define FR_COMM KC_M
  44. #define FR_SCLN KC_COMM
  45. #define FR_COLN KC_DOT
  46. #define FR_EQL KC_SLSH
  47. // Shifted characters
  48. #define FR_HASH LSFT(KC_GRV)
  49. #define FR_1 LSFT(KC_1)
  50. #define FR_2 LSFT(KC_2)
  51. #define FR_3 LSFT(KC_3)
  52. #define FR_4 LSFT(KC_4)
  53. #define FR_5 LSFT(KC_5)
  54. #define FR_6 LSFT(KC_6)
  55. #define FR_7 LSFT(KC_7)
  56. #define FR_8 LSFT(KC_8)
  57. #define FR_9 LSFT(KC_9)
  58. #define FR_0 LSFT(KC_0)
  59. #define FR_UNDS LSFT(FR_MINS)
  60. #define FR_UMLT LSFT(FR_CIRC)
  61. #define FR_ASTR LSFT(FR_DLR)
  62. #define FR_PERC LSFT(FR_UGRV)
  63. #define FR_PND LSFT(FR_GRV)
  64. #define FR_GRTR LSFT(FR_LESS)
  65. #define FR_QUES LSFT(FR_COMM)
  66. #define FR_DOT LSFT(FR_SCLN)
  67. #define FR_SLSH LSFT(FR_COLN)
  68. #define FR_PLUS LSFT(FR_EQL)
  69. // Alted characters
  70. #define FR_LCBR LALT(KC_5)
  71. #define FR_RCBR LALT(FR_RPRN)
  72. #define FR_EURO LALT(KC_E)
  73. #define FR_BULT LALT(FR_DLR)
  74. #define FR_TILD LALT(KC_N)
  75. // Shift+Alt-ed characters
  76. #define FR_LBRC LSFT(LALT(KC_5))
  77. #define FR_RBRC LSFT(LALT(FR_RPRN))
  78. #define FR_PIPE LSFT(LALT(KC_L))
  79. #define FR_BSLS LSFT(LALT(FR_COLN))
  80. #endif