deflayer_base_over_azerty.kbd 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170
  1. ;; Emulation of Ergo-L over an Azerty-FR keymap -- main layers
  2. (deftemplate dk-sft (base-action shift-action)
  3. (fork (unicode $base-action) (unicode $shift-action) (lsft rsft))
  4. )
  5. (defalias
  6. sym (layer-while-held symbols)
  7. ;; Shift mods
  8. sft0 (multi lsft (layer-while-held baseSft))
  9. sft1 (multi lsft (layer-while-held dk1))
  10. sft2 (multi lsft (layer-while-held dk2))
  11. sft3 (multi lsft (layer-while-held dk3))
  12. ;; dead key (becomes exclamation mark when shifte)
  13. dk (fork
  14. (tap-dance 5000 (
  15. (one-shot-press 5000 (layer-while-held dk1))
  16. (one-shot-press 5000 (layer-while-held dk2))
  17. (one-shot-press 5000 (layer-while-held dk3))
  18. ))
  19. (unicode !)
  20. (lsft rsft)
  21. )
  22. )
  23. ;; Base layer
  24. (defalias
  25. spce (fork spc (unicode  ) (lsft rsft)) ;; space / narrow no-break space
  26. ;; numbers row
  27. acc (t! dk-sft ` ~)
  28. b1 (t! dk-sft 1 €)
  29. b2 (t! dk-sft 2 «)
  30. b3 (t! dk-sft 3 »)
  31. b4 (t! dk-sft 4 $)
  32. b5 (t! dk-sft 5 %)
  33. b6 (t! dk-sft 6 ^)
  34. b7 (t! dk-sft 7 &)
  35. b8 (t! dk-sft 8 *)
  36. b9 (t! dk-sft 9 #)
  37. b0 (t! dk-sft 0 @)
  38. slsh (t! dk-sft / _)
  39. eq (t! dk-sft = +)
  40. ;; right-hand "extras"
  41. brk1 (t! dk-sft [ {)
  42. brk2 (t! dk-sft ] })
  43. qte (t! dk-sft ' r#"""#) ;; ' "
  44. bksl (t! dk-sft \ |)
  45. ;; lower row
  46. dash (t! dk-sft - ?)
  47. dot (t! dk-sft . :)
  48. com (t! dk-sft , ;)
  49. )
  50. ;; sft0
  51. (defalias
  52. ?sft (unicode ?)
  53. !sft (unicode !)
  54. ;sft (unicode ;)
  55. :sft (unicode :)
  56. )
  57. ;; Dead key layer 1
  58. (defalias
  59. smark (unicode ’)
  60. „ (t! dk-sft „ ‚)
  61. “ (t! dk-sft “ ‘)
  62. ” (t! dk-sft ” ’)
  63. ¢ (unicode ¢)
  64. ‰ (unicode ‰)
  65. § (unicode §)
  66. ¶ (unicode ¶)
  67. ° (unicode °)
  68. Â (t! dk-sft â Â)
  69. Ç (t! dk-sft ç Ç)
  70. Œ (t! dk-sft œ Œ)
  71. Ô (t! dk-sft ô Ô)
  72. µ (fork (unicode µ) XX (lsft rsft))
  73. _dk (unicode _)
  74. Û (t! dk-sft û Û)
  75. À (t! dk-sft à À)
  76. É (t! dk-sft é É)
  77. È (t! dk-sft è È)
  78. Ê (t! dk-sft ê Ê)
  79. Ñ (t! dk-sft ñ Ñ)
  80. lpar (unicode r#"("#) ;; (
  81. rpar (unicode r#")"#) ;; )
  82. Î (t! dk-sft î Î)
  83. Ï (t! dk-sft ï Ï)
  84. Ù (t! dk-sft ù Ù)
  85. Æ (t! dk-sft æ Æ)
  86. ẞ (t! dk-sft ß ẞ)
  87. ¿ (t! dk-sft ‑ ¿)
  88. – (fork (unicode –) XX (lsft rsft))
  89. — (fork (unicode —) XX (lsft rsft))
  90. … (fork (unicode …) XX (lsft rsft))
  91. • (t! dk-sft · •)
  92. )
  93. ;; Dead key layer 2
  94. (defalias
  95. mark 3
  96. Ö (t! dk-sft ö Ö)
  97. Ẅ (t! dk-sft ẅ Ẅ)
  98. Ÿ (t! dk-sft ÿ Ÿ)
  99. Ä (t! dk-sft ä Ä)
  100. Ë (t! dk-sft ë Ë)
  101. ẗ (fork (unicode ẗ) XX (lsft rsft))
  102. Ü (t! dk-sft ü Ü)
  103. Ẍ (t! dk-sft ẍ Ẍ)
  104. Ḧ (t! dk-sft ḧ Ḧ)
  105. )
  106. ;; Dead key layer 3
  107. (defalias
  108. diaeresis (unicode ¨)
  109. )
  110. (deflayer base
  111. @acc @b1 @b2 @b3 @b4 @b5 _ @b6 @b7 @b8 @b9 @b0 @slsh @eq
  112. a c o p z j ; d @dk y @brk1 @brk2
  113. q s e n f l r t i u @qte @bksl
  114. w x @dash v b < @dot h g @com k
  115. @sft0 _ @spce @sym @sft0
  116. )
  117. (deflayer baseSft
  118. _ _ _ _ _ _ _ _ _ _ _ _ _ _
  119. a c o p z j ; d @!sft y _ _
  120. q s e n f l r t i u _ _
  121. w x @?sft v b _ @:sft h g @;sft k
  122. _ _ _ _ _
  123. )
  124. (deflayer dk1
  125. _ @„ @“ @” @¢ @‰ _ _ _ @§ @¶ @° _ _
  126. @ @Ç @Œ @Ô _ _ @µ @_dk @dk @Û _ _
  127. @À @É @È @Ê @Ñ @lpar @rpar @Î @Ï @Ù _ _
  128. @Æ @ẞ @¿ @– @— _ @… XX XX @• XX
  129. @sft1 _ @smark _ @sft1
  130. )
  131. (deflayer dk2
  132. _ _ _ _ _ _ _ _ _ _ _ _ _ _
  133. a c @Ö p @Ẅ j ; d @dk @Ÿ _ _
  134. @Ä s @Ë n f l r @ẗ @Ï @Ü _ _
  135. w @Ẍ @- v b _ @. @Ḧ g m k
  136. @sft2 _ @mark _ @sft2
  137. )
  138. (deflayer dk3
  139. _ _ _ _ _ _ _ _ _ _ _ _ _ _
  140. a c o p z j ; d @dk y _ _
  141. q s e n f l r t i u _ _
  142. w x @- v b _ @. h g m k
  143. @sft3 _ @diaeresis _ @sft3
  144. )
  145. ;; vim: set ft=lisp