476548e
Pinchord · pinchord.git · Tickets · Changelog
Branches > main > 476548e > files
Format generate-mods.clj
Commit: 476548e14a2c81f8775901f43c4a471cb83b67a9
Parent: 93feb91
1 changed file:
generate-mods.clj view file
@@ -1,6 +1,6 @@ ; Map of symbols to names #_(def symbol-names- {"." "period"})+ {"." "period"}) (def symbol-names {"á" "aacute"@@ -143,8 +143,8 @@ "RPK" ")" "KF" ">" "PFS" "]"- "^PFS" "\\}"- }+ "^PFS" "\\}"}+ :shortcuts {"RK" "backspace" "^RK" "delete" "LPF" "escape"} :mod-shortcuts {"RF" {:no-mods "{^}\n"@@ -173,8 +173,8 @@ (defn apply-mods [x combos] (str "{#" (reduce (fn [acc mod]- (str mod "(" acc ")"))- x combos)+ (str mod "(" acc ")"))+ x combos) "}")) (defn ->map [xs]@@ -187,50 +187,46 @@ (def symbols-dict (->map- (let [{:keys [starter chords shortcuts mod-shortcuts]} symbols]- [(for [[mod symbol] chords- [chord combo] vowel-chords]- [- (str starter chord mod) (str "{^}" (apply-mods (symbol-name symbol) combo))- (str "+" starter chord mod) (str "{^}" (apply-mods (symbol-name symbol) combo))- ])- (for [[mod shortcut] shortcuts- [chord combo] (assoc vowel-chords "-" [])]- [- (str starter chord mod) (apply-mods shortcut combo)- (str "+" starter chord mod) (apply-mods shortcut combo)- ])- (for [[mod {:keys [no-mods with-mods]}] mod-shortcuts]- [- ; TODO need to add repitition for these?- [(str starter "-" mod) no-mods- (str "+" starter "-" mod) no-mods]- (for [[chord combo] vowel-chords]- [(str starter chord mod) (apply-mods with-mods combo)- (str "+" starter chord mod) (apply-mods with-mods combo)])- ])- (for [[mod symbol] chords]- [- ; the 4 combos of T* with and without e- (str starter "-" mod) (str "{}" symbol)- (str "+" starter "-" mod) (str "{^}" symbol)- (str starter "-" mod "e") (str "{}" symbol "=")- (str "+" starter "-" mod "e") (str "{^}" symbol "=")+ (let [{:keys [starter chords shortcuts mod-shortcuts]} symbols]+ [(for [[mod symbol] chords+ [chord combo] vowel-chords]+ [(str starter chord mod) (str "{^}" (apply-mods (symbol-name symbol) combo))+ (str "+" starter chord mod) (str "{^}" (apply-mods (symbol-name symbol) combo))]) - (str starter "-" mod "*") (str "{}" (rep 2 symbol))- (str "+" starter "-" mod "*") (str "{^}" (rep 2 symbol))- (str starter "-" mod "*e") (str "{}" (rep 2 symbol) "=")- (str "+" starter "-" mod "*e") (str "{^}" (rep 2 symbol) "=")+ (for [[mod shortcut] shortcuts+ [chord combo] (assoc vowel-chords "-" [])]+ [(str starter chord mod) (apply-mods shortcut combo)+ (str "+" starter chord mod) (apply-mods shortcut combo)]) - (str starter "-" mod "T") (str "{}" (rep 3 symbol))- (str "+" starter "-" mod "T") (str "{^}" (rep 3 symbol))- (str starter "-" mod "Te") (str "{}" (rep 3 symbol) "=")- (str "+" starter "-" mod "Te") (str "{^}" (rep 3 symbol) "=")+ (for [[mod {:keys [no-mods with-mods]}] mod-shortcuts]+ [ ; TODO need to add repitition for these?+ [(str starter "-" mod) no-mods+ (str "+" starter "-" mod) no-mods]+ (for [[chord combo] vowel-chords]+ [(str starter chord mod) (apply-mods with-mods combo)+ (str "+" starter chord mod) (apply-mods with-mods combo)])]) - (str starter "-" mod "T*") (str "{}" (rep 4 symbol))- (str "+" starter "-" mod "T*") (str "{^}" (rep 4 symbol))- (str starter "-" mod "T*e") (str "{}" (rep 4 symbol) "=")- (str "+" starter "-" mod "T*e") (str "{^}" (rep 4 symbol) "=")])])))+ (for [[mod symbol] chords]+ [ ; the 4 combos of T* with and without e+ (str starter "-" mod) (str "{}" symbol)+ (str "+" starter "-" mod) (str "{^}" symbol)+ (str starter "-" mod "e") (str "{}" symbol "=")+ (str "+" starter "-" mod "e") (str "{^}" symbol "=")++ (str starter "-" mod "*") (str "{}" (rep 2 symbol))+ (str "+" starter "-" mod "*") (str "{^}" (rep 2 symbol))+ (str starter "-" mod "*e") (str "{}" (rep 2 symbol) "=")+ (str "+" starter "-" mod "*e") (str "{^}" (rep 2 symbol) "=")++ (str starter "-" mod "T") (str "{}" (rep 3 symbol))+ (str "+" starter "-" mod "T") (str "{^}" (rep 3 symbol))+ (str starter "-" mod "Te") (str "{}" (rep 3 symbol) "=")+ (str "+" starter "-" mod "Te") (str "{^}" (rep 3 symbol) "=")++ (str starter "-" mod "T*") (str "{}" (rep 4 symbol))+ (str "+" starter "-" mod "T*") (str "{^}" (rep 4 symbol))+ (str starter "-" mod "T*e") (str "{}" (rep 4 symbol) "=")+ (str "+" starter "-" mod "T*e") (str "{^}" (rep 4 symbol) "=")])]))) (def numbers {:starter "TPWHR"@@ -277,38 +273,34 @@ "RST*" "F10" "RFT*" "F10" "RS" "F11"- "RS*" "F12"- }})+ "RS*" "F12"}}) (def numbers-dict (->map- (let [{:keys [starter left right F-starter F-keys]} numbers]- [(for [[number-chord number] (merge left right)- [mod-chord combo] vowel-chords]- [- (str starter mod-chord number-chord) (str "{^}" (apply-mods number combo))- (str "+" starter mod-chord number-chord) (str "{^}" (apply-mods number combo))- ])- (for [[f-chord f-key] F-keys- [mod-chord combo] (assoc vowel-chords "-" [])]- [- (str F-starter mod-chord f-chord) (apply-mods f-key combo)- (str "+" F-starter mod-chord f-chord) (apply-mods f-key combo)- ])- (for [[left-chord left-number] left- [right-chord right-number] right]- [(str starter left-chord right-chord) (str "{}" left-number right-number)- (str "+" starter left-chord right-chord) (str "{^}" left-number right-number)+ (let [{:keys [starter left right F-starter F-keys]} numbers]+ [(for [[number-chord number] (merge left right)+ [mod-chord combo] vowel-chords]+ [(str starter mod-chord number-chord) (str "{^}" (apply-mods number combo))+ (str "+" starter mod-chord number-chord) (str "{^}" (apply-mods number combo))]) - (str starter "^" left-chord right-chord) (str "{}" left-number right-number "0")- (str "+" starter "^" left-chord right-chord) (str "{^}" left-number right-number "0")+ (for [[f-chord f-key] F-keys+ [mod-chord combo] (assoc vowel-chords "-" [])]+ [(str F-starter mod-chord f-chord) (apply-mods f-key combo)+ (str "+" F-starter mod-chord f-chord) (apply-mods f-key combo)]) - (str starter left-chord right-chord "e") (str "{}" left-number right-number "00")- (str "+" starter left-chord right-chord "e") (str "{^}" left-number right-number "00")+ (for [[left-chord left-number] left+ [right-chord right-number] right]+ [(str starter left-chord right-chord) (str "{}" left-number right-number)+ (str "+" starter left-chord right-chord) (str "{^}" left-number right-number) - (str starter "^" left-chord right-chord "e") (str "{}" left-number right-number "000")- (str "+" starter "^" left-chord right-chord "e") (str "{^}" left-number right-number "000")])])))+ (str starter "^" left-chord right-chord) (str "{}" left-number right-number "0")+ (str "+" starter "^" left-chord right-chord) (str "{^}" left-number right-number "0") + (str starter left-chord right-chord "e") (str "{}" left-number right-number "00")+ (str "+" starter left-chord right-chord "e") (str "{^}" left-number right-number "00")++ (str starter "^" left-chord right-chord "e") (str "{}" left-number right-number "000")+ (str "+" starter "^" left-chord right-chord "e") (str "{^}" left-number right-number "000")])]))) (def movement-starter "PWH") (def movement-chords@@ -323,12 +315,10 @@ (def movement-dict (->map- [(for [[mod-chord combo] (assoc vowel-chords "-" [])- [chord movement] movement-chords]- [- (str movement-starter mod-chord chord) (apply-mods movement combo)- (str "+" movement-starter mod-chord chord) (apply-mods movement combo)- ])]))+ [(for [[mod-chord combo] (assoc vowel-chords "-" [])+ [chord movement] movement-chords]+ [(str movement-starter mod-chord chord) (apply-mods movement combo)+ (str "+" movement-starter mod-chord chord) (apply-mods movement combo)])])) (def fingerspelling-starter "TWR") (def letters@@ -364,18 +354,15 @@ (def fingerspelling-dict (->map- [(for [[mod-chord combo] vowel-chords- [chord letter] letters]- [- (str fingerspelling-starter mod-chord chord) (apply-mods letter combo)- (str "+" fingerspelling-starter mod-chord chord) (apply-mods letter combo)- ])- (for [[chord letter] letters]- [- (str fingerspelling-starter "-" chord) (str "{}" letter)- (str "#" fingerspelling-starter "-" chord) (str "{}{-|}" letter)- (str "+" fingerspelling-starter "-" chord) (str "{^}" letter)- (str "#+" fingerspelling-starter "-" chord) (str "{^}{-|}" letter)- ])]))+ [(for [[mod-chord combo] vowel-chords+ [chord letter] letters]+ [(str fingerspelling-starter mod-chord chord) (apply-mods letter combo)+ (str "+" fingerspelling-starter mod-chord chord) (apply-mods letter combo)])++ (for [[chord letter] letters]+ [(str fingerspelling-starter "-" chord) (str "{}" letter)+ (str "#" fingerspelling-starter "-" chord) (str "{}{-|}" letter)+ (str "+" fingerspelling-starter "-" chord) (str "{^}" letter)+ (str "#+" fingerspelling-starter "-" chord) (str "{^}{-|}" letter)])])) (spit "pinchord-mods.json" (json/generate-string (merge symbols-dict fingerspelling-dict numbers-dict movement-dict)))