|
@@ -0,0 +1,170 @@
|
|
|
+;; Emulation of Ergo-L over an Azerty-FR keymap -- main layers
|
|
|
+
|
|
|
+(deftemplate dk-sft (base-action shift-action)
|
|
|
+ (fork (unicode $base-action) (unicode $shift-action) (lsft rsft))
|
|
|
+)
|
|
|
+
|
|
|
+(defalias
|
|
|
+ sym (layer-while-held symbols)
|
|
|
+
|
|
|
+ ;; Shift mods
|
|
|
+ sft0 (multi lsft (layer-while-held baseSft))
|
|
|
+ sft1 (multi lsft (layer-while-held dk1))
|
|
|
+ sft2 (multi lsft (layer-while-held dk2))
|
|
|
+ sft3 (multi lsft (layer-while-held dk3))
|
|
|
+
|
|
|
+ ;; dead key (becomes exclamation mark when shifte)
|
|
|
+ dk (fork
|
|
|
+ (tap-dance 5000 (
|
|
|
+ (one-shot-press 5000 (layer-while-held dk1))
|
|
|
+ (one-shot-press 5000 (layer-while-held dk2))
|
|
|
+ (one-shot-press 5000 (layer-while-held dk3))
|
|
|
+ ))
|
|
|
+ (unicode !)
|
|
|
+ (lsft rsft)
|
|
|
+ )
|
|
|
+)
|
|
|
+
|
|
|
+;; Base layer
|
|
|
+(defalias
|
|
|
+ spce (fork spc (unicode ) (lsft rsft)) ;; space / narrow no-break space
|
|
|
+
|
|
|
+ ;; numbers row
|
|
|
+ acc (t! dk-sft ` ~)
|
|
|
+ b1 (t! dk-sft 1 €)
|
|
|
+ b2 (t! dk-sft 2 «)
|
|
|
+ b3 (t! dk-sft 3 »)
|
|
|
+ b4 (t! dk-sft 4 $)
|
|
|
+ b5 (t! dk-sft 5 %)
|
|
|
+ b6 (t! dk-sft 6 ^)
|
|
|
+ b7 (t! dk-sft 7 &)
|
|
|
+ b8 (t! dk-sft 8 *)
|
|
|
+ b9 (t! dk-sft 9 #)
|
|
|
+ b0 (t! dk-sft 0 @)
|
|
|
+ slsh (t! dk-sft / _)
|
|
|
+ eq (t! dk-sft = +)
|
|
|
+
|
|
|
+ ;; right-hand "extras"
|
|
|
+ brk1 (t! dk-sft [ {)
|
|
|
+ brk2 (t! dk-sft ] })
|
|
|
+ qte (fork 4 (unshift 3) (lsft rsft)) ;; ' "
|
|
|
+ bksl (t! dk-sft \ |)
|
|
|
+
|
|
|
+ ;; lower row
|
|
|
+ dash (t! dk-sft - ?)
|
|
|
+ dot (t! dk-sft . :)
|
|
|
+ com (t! dk-sft , ;)
|
|
|
+)
|
|
|
+
|
|
|
+;; sft0
|
|
|
+(defalias
|
|
|
+ ?sft m
|
|
|
+ !sft (unshift /)
|
|
|
+ ;sft (unshift ,)
|
|
|
+ :sft (unshift .)
|
|
|
+)
|
|
|
+
|
|
|
+;; Dead key layer 1
|
|
|
+(defalias
|
|
|
+ smark (unicode ’)
|
|
|
+
|
|
|
+ „ (t! dk-sft „ ‚)
|
|
|
+ “ (t! dk-sft “ ‘)
|
|
|
+ ” (t! dk-sft ” ’)
|
|
|
+ ¢ (unicode ¢)
|
|
|
+ ‰ (unicode ‰)
|
|
|
+ § (unicode §)
|
|
|
+ ¶ (unicode ¶)
|
|
|
+ ° (unicode °)
|
|
|
+
|
|
|
+ Â (t! dk-sft â Â)
|
|
|
+ Ç (t! dk-sft ç Ç)
|
|
|
+ Œ (t! dk-sft œ Œ)
|
|
|
+ Ô (t! dk-sft ô Ô)
|
|
|
+ µ (fork (unicode µ) XX (lsft rsft))
|
|
|
+ _dk (unshift 8)
|
|
|
+ Û (t! dk-sft û Û)
|
|
|
+
|
|
|
+ À (t! dk-sft à À)
|
|
|
+ É (t! dk-sft é É)
|
|
|
+ È (t! dk-sft è È)
|
|
|
+ Ê (t! dk-sft ê Ê)
|
|
|
+ Ñ (t! dk-sft ñ Ñ)
|
|
|
+ lpar (fork 5 XX (lsft rsft))
|
|
|
+ rpar (fork - XX (lsft rsft))
|
|
|
+ Î (t! dk-sft î Î)
|
|
|
+ Ï (t! dk-sft ï Ï)
|
|
|
+ Ù (t! dk-sft ù Ù)
|
|
|
+
|
|
|
+ Æ (t! dk-sft æ Æ)
|
|
|
+ ẞ (t! dk-sft ß ẞ)
|
|
|
+ ¿ (t! dk-sft ‑ ¿)
|
|
|
+ – (fork (unicode –) XX (lsft rsft))
|
|
|
+ — (fork (unicode —) XX (lsft rsft))
|
|
|
+ … (fork (unicode …) XX (lsft rsft))
|
|
|
+ • (t! dk-sft · •)
|
|
|
+)
|
|
|
+
|
|
|
+;; Dead key layer 2
|
|
|
+(defalias
|
|
|
+ mark 3
|
|
|
+
|
|
|
+ Ö (t! dk-sft ö Ö)
|
|
|
+ Ẅ (t! dk-sft ẅ Ẅ)
|
|
|
+ Ÿ (t! dk-sft ÿ Ÿ)
|
|
|
+
|
|
|
+ Ä (t! dk-sft ä Ä)
|
|
|
+ Ë (t! dk-sft ë Ë)
|
|
|
+ ẗ (fork (unicode ẗ) XX (lsft rsft))
|
|
|
+ Ü (t! dk-sft ü Ü)
|
|
|
+
|
|
|
+ Ẍ (t! dk-sft ẍ Ẍ)
|
|
|
+ Ḧ (t! dk-sft ḧ Ḧ)
|
|
|
+)
|
|
|
+
|
|
|
+;; Dead key layer 3
|
|
|
+(defalias
|
|
|
+ diaeresis (unicode ¨)
|
|
|
+)
|
|
|
+
|
|
|
+(deflayer base
|
|
|
+ @acc @b1 @b2 @b3 @b4 @b5 _ @b6 @b7 @b8 @b9 @b0 @slsh @eq
|
|
|
+ a c o p z j ; d @dk y @brk1 @brk2
|
|
|
+ q s e n f l r t i u @qte @bksl
|
|
|
+ w x @dash v b < @dot h g @com k
|
|
|
+ @sft0 _ @spce @sym @sft0
|
|
|
+)
|
|
|
+
|
|
|
+(deflayer baseSft
|
|
|
+ _ _ _ _ _ _ _ _ _ _ _ _ _ _
|
|
|
+ a c o p z j ; d @!sft y _ _
|
|
|
+ q s e n f l r t i u _ _
|
|
|
+ w x @?sft v b _ @:sft h g @;sft k
|
|
|
+ _ _ _ _ _
|
|
|
+)
|
|
|
+
|
|
|
+(deflayer dk1
|
|
|
+ _ @„ @“ @” @¢ @‰ _ _ _ @§ @¶ @° _ _
|
|
|
+ @ @Ç @Œ @Ô _ _ @µ @_dk @dk @Û _ _
|
|
|
+ @À @É @È @Ê @Ñ @lpar @rpar @Î @Ï @Ù _ _
|
|
|
+ @Æ @ẞ @¿ @– @— _ @… XX XX @• XX
|
|
|
+ @sft1 _ @smark _ @sft1
|
|
|
+)
|
|
|
+
|
|
|
+(deflayer dk2
|
|
|
+ _ _ _ _ _ _ _ _ _ _ _ _ _ _
|
|
|
+ a c @Ö p @Ẅ j ; d @dk @Ÿ _ _
|
|
|
+ @Ä s @Ë n f l r @ẗ @Ï @Ü _ _
|
|
|
+ w @Ẍ @- v b _ @. @Ḧ g m k
|
|
|
+ @sft2 _ @mark _ @sft2
|
|
|
+)
|
|
|
+
|
|
|
+(deflayer dk3
|
|
|
+ _ _ _ _ _ _ _ _ _ _ _ _ _ _
|
|
|
+ a c o p z j ; d @dk y _ _
|
|
|
+ q s e n f l r t i u _ _
|
|
|
+ w x @- v b _ @. h g m k
|
|
|
+ @sft3 _ @diaeresis _ @sft3
|
|
|
+)
|
|
|
+
|
|
|
+;; vim: set ft=lisp
|