e7e49be
Pinchord · pinchord.git · Tickets · Changelog
Branches > pre-release-31-3 > e7e49be > files / .gitignore
Remove Javelin support
Commit: e7e49bef9d79852c7b68f2aa7856ad06edd6ba28
Parent: 1bb903b
12 changed files:
.gitignore view file
@@ -1,6 +1,5 @@ .clj-kondo/ .lsp/ .nrepl-port-pythontest.py dist/ *.egg-info/README.md view file
@@ -4,7 +4,7 @@ It is in pre-release, so keep that in mind. -This repo has Javelin and Plover systems.+It runs on Plover, the open steno engine. Feel free to port Pinchord to other platforms as well :p @@ -13,11 +13,3 @@ Everything is versioned with a suffix number, see https://grahp.dev/pinchord-changelog Thanks to Kate (https://codeberg.org/StrawberryTurtle, https://github.com/StrawberryTurtle), Harri (https://github.com/StenoHarri), Zak (https://zakventer.com), @novachromatic, Tink, and a bunch of others (hi :p) for help and influence :D--# Dictionary--Chords can be found in "chords.edn" or "pinchord-chords.vx.y.json" if that is a more useful format to you.--To generate the Javelin files from `chords.edn`, run `./generate-dict.clj` (requires babashka - https://babashka.org).--Or you can just edit the generated dictionary directly of course.bb.edn view file
@@ -2,12 +2,6 @@ {:requires ([babashka.fs :as fs] [clojure.edn :as edn]) - generate {:doc "Generate the Javelin and Plover files from chords.edn"- :task (let [mods (str "pinchord-mods-" (:version (edn/read-string (slurp "chords.edn"))) ".json")]- (shell "bb generate-dictionary.clj")- (shell "bb generate-mods.clj")- (fs/move mods (fs/path "plover_pinchord/dictionaries" mods) {:replace-existing true}))}- pypi {:doc "Clean build the Plover plugin, and upload it to PyPI" :task (do (fs/delete-tree "dist") (shell "nix shell nixpkgs#python3Packages.build nixpkgs#python3Packages.twine"chords.edn view file
@@ -1,347 +0,0 @@-{:version "v30.2"- :banks {:prefixes "#+"- :initials "TSPWHR&"- :vowels "AOIU^"- :finals "LRPKFST*"- :suffixes "es"}- :keys "#+TSPWHR&AOIU^LRPKFST*es"- :initials {"T" "t"- "TSP&" "sk"- "TP" "f"- "TP&" "ph"- "TSWR" "kr"- "THR" "thr"- "TPR" "fr"- "PWR" "br"- "SH&" "sch"- "TSPR" "scr"- "TSPR&" "skr"- "TSWH" "kn"- "TWH" "thw"- "PWHR" "bl"- "SPWHR" "cl"- "SPWHR&" "chl"- "TS" "st"- "TSH" "sth"- "TS&" "ts"- "SPR" "spr"- "SHR&" "shr"- "HR" "l"- "HR&" "ll"- "WH" "wh"- "WH&" "hw" ; The two hwat?- "TW" "tw"- "S" "s"- "SR" "v"- "SR&" "vr"- "TPWR" "dr"- "TPWH" "x"- "H" "h"- "PR" "pr"- "TSPWR" "gr"- "SHR" "sl"- "SW" "sw"- "SW&" "sv"- "SWR" "y"- "TSPWH" "gh"- "R" "r"- "R&" "rh"- "SWHR" "squ"- "TSR" "str"- "TSR&" "tz"- "TWHR" "j"- "SH" "sh"- "PH" "m"- "TSP" "sc"- "TR" "tr"- "P" "p"- "WHR" "qu"- "WHR&" "q"- "TPHR" "fl"- "TPHR&" "phl"- "TPR&" "phr"- "TH" "th"- "WR" "wr"- "SPWR" "cr"- "SPWR&" "chr"- "SPH" "sm"- "SPH&" "schm"- "TSW" "k"- "SPHR" "spl"- "TSPWHR" "gl"- "TSWHR" "kl"- "SPW" "c"- "SWH" "z"- "PHR" "pl"- "SPWH" "ch"- "TSPW" "g"- "W" "w"- "SP" "sp"- "SP&" "sph"- "TSPH" "sn"- "TSPHR" "scl"- "TPH" "n"- "TPH&" "mn"- "TPW" "d"- "PW" "b"- "" "{^}"}-- :vowels {"OU" "ou"- "OU^" "uo"- "AU" "au"- "AOI" "ei"- "AO" "oa"- "AO^" "ao"- "AU^" "ua"- "AI^" "ia"- "IU^" "ee"- "IU" "e"- "AIU" "ea"generate-dictionary.clj view file
@@ -1,88 +0,0 @@-#!/usr/bin/env bb-(def sections [:prefixes :initials :vowels :finals :suffixes])--(def priority- "Priorities used for javelin orthospelling."- (zipmap sections- (rest (range))))--(comment- (def yaml-dict (yaml/parse-string (slurp "pinchord-javelin-dictionary.yaml")))-- (->> (:letters yaml-dict)- (filter #(= (:order %) 2))- (map (fn [m] [(:stroke m) (:data m)]))- (into {})))--(defn finalize [m]- (update-keys m (partial str "-")))--(defn mask [s1 s2]- (apply str (remove (set s1) s2)))-- (defn abbreviate- "Javelin entries can only be 6 characters long!"- [s]- (if (> (count s) 6)- (let [new-s (-> s- (str/replace #"TSPW" "G")- (str/replace #"PKS" "C")- (str/replace #"PKFS" "G")- (str/replace #"KFS" "SH")- (str/replace #"LR" "N"))]- (if (> (count new-s) 6)- (throw (ex-info "Too long!" {:s s :new-s new-s}))- new-s))- s))-- (defn all-chords [s]- (if (empty? s)- #{""}- (let [rest-combos (all-chords (rest s))]- (set (concat- rest-combos- (map #(str (first s) %) rest-combos))))))-- (defn abbreviate-long-chords [s]- (update-vals s abbreviate))-- (defn with-gaps-filled [bank chords]- (let [s (remove (bank chords) (all-chords (bank (:banks chords))))]- (merge (bank chords) (abbreviate-long-chords (zipmap s s)))))--(defn ^:private new-value [chords]- (assoc chords- :initials (with-gaps-filled :initials chords)- :vowels (with-gaps-filled :vowels chords)- :finals (with-gaps-filled :finals chords)))--; TODO make this make all chords that aren't in chords.edn map to themself :D-(let [chords (-> (edn/read-string (slurp "chords.edn"))- new-value- (update :finals finalize)- (update :suffixes finalize))- banks (:banks chords)- dict {:name (str "Pinchord Base " (:version chords))- :maximumOutlineLength 1- :starters [{:stroke "#+" :definition "{^}{-|}" :mask "#+"}- {:stroke "" :definition "{}" :mask ""}]- :letters (->> (reduce (fn [acc [bank entries]]- ; TODO if the bank has no keys, map it to itself?- (if-let [bank-keys (banks bank)]- (into acc (mapv (fn [[stroke translation]]- {:stroke stroke :data translation :order (priority bank)- :avoidMask (str (when (= bank :finals)- "-")- (mask stroke bank-keys))})- entries))- (into acc (mapv (fn [[stroke translation]]- {:stroke stroke :data translation :order (priority bank)})- entries))))- #{} (select-keys chords sections))- (sort-by (comp - count :stroke))- ; Use this if you want finals to suppress space by default :)- #_(cons {:stroke "-" :data "{^}" :order (priority :finals)}))}- dict-path (str "pinchord-javelin-dictionary-" (:version chords) ".yaml")- json-chords-path (str "pinchord-chords-" (:version chords) ".json")]- (spit dict-path (yaml/generate-string dict))- (spit json-chords-path (json/generate-string chords)))generate-mods.clj view file
@@ -378,6 +378,4 @@ (str "#+" fingerspelling-starter "-" chord) (str "{^}{-|}" letter) ])])) -(def version (:version (edn/read-string (slurp "chords.edn"))))--(spit (str "pinchord-mods-" version ".json") (json/generate-string (merge symbols-dict fingerspelling-dict numbers-dict movement-dict)))+(spit "pinchord-mods.json" (json/generate-string (merge symbols-dict fingerspelling-dict numbers-dict movement-dict)))pinchord-chords-v30.2.json view file
@@ -1 +0,0 @@-{"version":"v30.2","banks":{"prefixes":"#+","initials":"TSPWHR&","vowels":"AOIU^","finals":"LRPKFST*","suffixes":"es"},"keys":"#+TSPWHR&AOIU^LRPKFST*es","initials":{"":"{^}","WH&":"hw","T":"t","TWH&":"TWH&","TPWHR&":"TPWHR&","TSP&":"sk","TS&":"ts","TSPHR":"scl","TP":"f","TPWR&":"TPWR&","TSWR":"kr","THR":"thr","TPR":"fr","TSWH&":"TSWH&","HR&":"ll","PWR":"br","TPWHR":"TPWHR","TSWHR&":"TSWHR&","TSPHR&":"TSPHR&","TSPR":"scr","TSWH":"kn","TH&":"TH&","SWHR&":"SWHR&","TWH":"thw","SHR&":"shr","TP&":"ph","PWHR":"bl","TPH&":"mn","W&":"W&","PHR&":"PHR&","TPR&":"phr","SPWHR&":"chl","SPWHR":"cl","PR&":"PR&","TSPH&":"TSPH&","TS":"st","SW&":"sv","SPW&":"SPW&","SPR":"spr","SWHR":"squ","PH&":"PH&","HR":"l","H&":"H&","WH":"wh","TW":"tw","S":"s","SR":"v","TPWR":"dr","TSH":"sth","H":"h","PR":"pr","TSPWR":"gr","T&":"T&","SHR":"sl","TSR&":"tz","SW":"sw","TSPWHR&":"GHR&","SWH&":"SWH&","SWR&":"SWR&","SWH":"z","TSPWH":"gh","TSPR&":"skr","R":"r","TPWH&":"TPWH&","TPWH":"x","TPW&":"TPW&","TWR":"TWR","TSR":"str","TWHR":"j","TWHR&":"TWHR&","SPH&":"schm","TSPW&":"TSPW&","PW&":"PW&","SH":"sh","SPWR&":"chr","TR&":"TR&","PH":"m","TSP":"sc","TR":"tr","TSW&":"TSW&","P&":"P&","&":"&","P":"p","PWH":"PWH","SH&":"sch","TPHR":"fl","SPWH&":"SPWH&","TPHR&":"phl","TH":"th","WR":"wr","SP&":"sph","SPWR":"cr","TSHR&":"TSHR&","TW&":"TW&","WR&":"WR&","SPH":"sm","TSW":"k","SR&":"vr","PWH&":"PWH&","TSH&":"TSH&","SPHR":"spl","TSPWHR":"gl","SWR":"y","SPR&":"SPR&","PWHR&":"PWHR&","TSPWH&":"TSPWH&","TSWHR":"kl","SPW":"c","TSHR":"TSHR","PWR&":"PWR&","WHR&":"q","TSWR&":"TSWR&","PHR":"pl","THR&":"THR&","SPWH":"ch","TSPW":"g","S&":"S&","TSPWR&":"TSPWR&","W":"w","R&":"rh","SP":"sp","TSPH":"sn","TPH":"n","TWR&":"TWR&","SPHR&":"SPHR&","TPW":"d","WHR":"qu","PW":"b"},"vowels":{"":"","OU":"ou","AU":"au","AOI":"ei","AOIU^":"AOIU^","OU^":"uo","AU^":"ua","IU":"e","AOU^":"iu","IU^":"ee","AIU":"ea","AO^":"ao","O^":"oo","A^":"aa","U^":"ue","I^":"eu","AOU":"ui","OI^":"io","U":"u","AI^":"ia","O":"o","AO":"oa","A":"a","AIU^":"ae","I":"i","AOIU":"AOIU","OIU^":"oe","OIU":"eo","AOI^":"ie","OI":"oi","^":"y","AI":"ai"},"finals":{"-LPFT*":"lly","-LRF*":"fn","-PFS":"z","-RPFT":"ry","-RPKFST":"rcy","-LRT*":"n't","-PKF*":"dd","-PKST":"ct","-LRPKT":"mph","-LT*":"ttl","-LFT":"lft","-LK":"lk","-KFS*":"gh","-LKS*":"lsk","-LRPKFST*":"ngth","-LRPKF":"nd","-LPKFS*":"gl","-LKST":"lxt","-RPKST*":"rkt","-RT*":"rnt","-FT":"ft","-PF":"n","-LRPKFS*":"gn","-LPST":"LPST","-PKF":"d","-LFT*":"ltion","-KFS":"sh","-K":"k","-LRKST":"nxt","-PKT":"ph","-RPKFT*":"rcky","-RKS*":"rsk","-P*":"pp","-RPKT":"rph","-LPS":"lm","-LPFS*":"LPFS*","-R*":"rr","-RFT*":"stion","-LF*":"fl","-RP":"rp","-LRPKFT*":"ncky","-LPF":"ln","-LRPKFS":"ng","-RPKS":"rc","-LRPF":"nn","-RPT":"rpt","-LPFT":"ly","-LPST*":"LPST*","-LRPKT*":"'d","-RPS":"rm","-*":"*","-RPK":"rb","-LRKST*":"nj","-LPKT*":"'ll","-LRKS":"nx","-RF":"rf","-PF*":"w","-LRPKS":"nc","-LPKST*":"lkt","-LRPFT*":"nny","-F":"f","-LST":"lst","-PKFST":"cy","-LRFST*":"ndth","-RPKFS*":"dg","-RS*":"RS*","-RK*":"rck","-PKFS":"g","-RPKS*":"rsc","-":"","-LRT":"nt","-RFST":"rth","-KFST":"ty","-LRK":"nk","-LKS":"lx","-LRKFT*":"nction","-RKFT*":"stian","-LRPKST":"nct","-LPKT":"lph","-PKFT*":"cky","-LRK*":"nck","-LKT*":"LKT*","-LK*":"lck","-RPKFS":"rg","-RKF":"rch","-LPKS*":"lsc","-LPT*":"LPT*","-RKT*":"RKT*","-LKF":"lch","-PFT":"y","-RKFST*":"RKFST*","-KS":"x","-LRPT":"mpt","-LRFS*":"LRFS*","-LRKF*":"nsion","-RPFS":"rz","-LPKFT*":"lcky","-LRPKST*":"nkt","-LKFST*":"y'd","-LPKFST*":"LGT*","-LPK*":"bl","-S":"s","-RPKT*":"'re","-P":"p","-LRPK":"mb","-LRPFS*":"LRPFS*","-RKFS*":"RKFS*","-LKST*":"lj","-LPS*":"'m","-PFST":"PFST","-LRPKFT":"nky","-RK":"rk","-LRKFST*":"NSHT*","-LPFST":"LPFST","-LRFT*":"ntion","-LRST*":"LRST*","-RP*":"RP*","-RF*":"RF*","-LKFT*":"sion","-PST*":"PST*","-LRST":"nst","-PFS*":"zz","-LKFS":"lsh","-RPF":"rn","-PS*":"sp","-RKST":"rxt","-LRKFT":"ntch","-LPKF*":"ndl","-LF":"lf","-K*":"ck","-ST*":"ts","-RPFT*":"rry","-LRPFT":"ny","-PKT*":"hp","-LRKT*":"LRKT*","-LPKF":"ld","-RKF*":"RKF*","-RKFS":"rsh","-RKST*":"rj","-F*":"ff","-LKF*":"LKF*","-KT":"h","-PK*":"PK*","-FST":"th","-LRPF*":"wn","-LRPFS":"nz","-LRF":"nf","-RFS*":"RFS*","-L*":"ll","-RST":"rst","-PT":"pt","-LPKFST":"lcy","-LRPKS*":"nsc","-S*":"ss","-T":"t","-PS":"m","-PFST*":"PFST*","-KFT":"tch","-LS":"ls","-LR*":"rly","-LPKS":"lc","-LRKFST":"nty","-LRKS*":"nsk","-LRS*":"LRS*","-RPKF":"rd","-PKFT":"ky","-LPF*":"wl","-FST*":"fth","-LST*":"t's","-PKST*":"kt","-LRKT":"hn","-LRFT":"nft","-LRPT*":"LRPT*","-RKT":"hr","-LRFST":"nth","-RPF*":"rw","-LPKFS":"lg","-RPST":"RPST","-LKT":"hl","-LRFS":"nv","-RPFST*":"RPFST*","-RPKST":"rct","-RPKFT":"rky","-LRPFST*":"NPFST*","-PST":"PST","-RPFS*":"RPFS*","-LFST*":"lfth","-LP":"lp","-LRKF":"nch","-LRP":"mp","-RPFST":"RPFST","-LFST":"lth","-LRPKFST":"ncy","-LRPFST":"LRPFST","-T*":"tt","-RPT*":"RPT*","-LKFT":"ltch","-LT":"lt","-LRS":"ns","-RFS":"rv","-ST":"st","-LRP*":"mpl","-LRPST":"LRPST","-KFST*":"ght","-LP*":"pl","-R":"r","-RPKF*":"rld","-LRPST*":"LRPST*","-LPKFT":"lky","-RKS":"rx","-PKFST*":"sy","-RPST*":"RPST*","-FT*":"tion","-RKFT":"rtch","-PT*":"PT*","-LRPS":"mn","-LRPK*":"bbl","-LRKFS":"nsh","-RPKFST*":"RGT*","-LFS*":"'ve","-LKFS*":"LKFS*","-LPT":"lpt","-FS*":"vv","-RFST*":"rmth","-LRKFS*":"LRKFS*","-LPFST*":"LPFST*","-KST":"xt","-KT*":"hh","-FS":"v","-LFS":"lv","-RPK*":"RPK*","-RKFST":"rty","-LPKST":"lct","-PFT*":"ption","-PKS*":"sc","-RPS*":"RPS*","-KF":"ch","-KFT*":"ction","-KST*":"j","-LPK":"lb","-LS*":"'s","-LRPS*":"gm","-LRPKF*":"ddl","-PKS":"c","-RS":"rs","-PK":"b","-LPFS":"lz","-RFT":"rft","-LR":"rl","-KS*":"sk","-L":"l","-RT":"rt","-PKFS*":"gg","-RST*":"RST*","-KF*":"q","-LKFST":"lty"},"prefixes":{"#":"{-|}","+":"{^}"},"suffixes":{"-e":"{^}e","-s":"{^}s","-es":"{^}es"}}\ No newline at end of filepinchord-javelin-dictionary-v30.2.yaml view file
@@ -1,427 +0,0 @@-name: Pinchord Base v30.2-maximumOutlineLength: 1-starters:-- {stroke: '#+', definition: '{^}{-|}', mask: '#+'}-- {stroke: '', definition: '{}', mask: ''}-letters:-- {stroke: -LRPKFST*, data: ngth, order: 4, avoidMask: '-'}-- {stroke: -LRPKFST, data: ncy, order: 4, avoidMask: -*}-- {stroke: -LRPKFT*, data: ncky, order: 4, avoidMask: -S}-- {stroke: -LRKFST*, data: NSHT*, order: 4, avoidMask: -P}-- {stroke: -RPKFST*, data: RGT*, order: 4, avoidMask: -L}-- {stroke: -LRPFST*, data: NPFST*, order: 4, avoidMask: -K}-- {stroke: -LRPKFS*, data: gn, order: 4, avoidMask: -T}-- {stroke: -LPKFST*, data: LGT*, order: 4, avoidMask: -R}-- {stroke: -LRPKST*, data: nkt, order: 4, avoidMask: -F}-- {stroke: -RPKFST, data: rcy, order: 4, avoidMask: -L*}-- {stroke: -LPKFS*, data: gl, order: 4, avoidMask: -RT}-- {stroke: -LRPFT*, data: nny, order: 4, avoidMask: -KS}-- {stroke: -RPKFS*, data: dg, order: 4, avoidMask: -LT}-- {stroke: -LRPFS*, data: LRPFS*, order: 4, avoidMask: -KT}-- {stroke: -RPKST*, data: rkt, order: 4, avoidMask: -LF}-- {stroke: -LPKFST, data: lcy, order: 4, avoidMask: -R*}-- {stroke: -LRPKF*, data: ddl, order: 4, avoidMask: -ST}-- {stroke: -LRKFST, data: nty, order: 4, avoidMask: -P*}-- {stroke: -LKFST*, data: y'd, order: 4, avoidMask: -RP}-- {stroke: -LRPKT*, data: '''d', order: 4, avoidMask: -FS}-- {stroke: -RPFST*, data: RPFST*, order: 4, avoidMask: -LK}-- {stroke: -LRPKFT, data: nky, order: 4, avoidMask: -S*}-- {stroke: -LRKFT*, data: nction, order: 4, avoidMask: -PS}-- {stroke: -LRFST*, data: ndth, order: 4, avoidMask: -PK}-- {stroke: -LRPST*, data: LRPST*, order: 4, avoidMask: -KF}-- {stroke: TSPWHR&, data: GHR&, order: 2, avoidMask: ''}-- {stroke: -LRPFST, data: LRPFST, order: 4, avoidMask: -K*}-- {stroke: -LRPKFS, data: ng, order: 4, avoidMask: -T*}-- {stroke: -RKFST*, data: RKFST*, order: 4, avoidMask: -LP}-- {stroke: -LRKFS*, data: LRKFS*, order: 4, avoidMask: -PT}-- {stroke: -LRKST*, data: nj, order: 4, avoidMask: -PF}-- {stroke: -LPKST*, data: lkt, order: 4, avoidMask: -RF}-- {stroke: -LPFST*, data: LPFST*, order: 4, avoidMask: -RK}-- {stroke: -LRPKST, data: nct, order: 4, avoidMask: -F*}-- {stroke: -LPKFT*, data: lcky, order: 4, avoidMask: -RS}-- {stroke: -PKFST*, data: sy, order: 4, avoidMask: -LR}-- {stroke: -RPKFT*, data: rcky, order: 4, avoidMask: -LS}-- {stroke: -LRPKS*, data: nsc, order: 4, avoidMask: -FT}-- {stroke: -LPST*, data: LPST*, order: 4, avoidMask: -RKF}-- {stroke: TSPHR&, data: TSPHR&, order: 2, avoidMask: W}-- {stroke: -LRPK*, data: bbl, order: 4, avoidMask: -FST}-- {stroke: TPWHR&, data: TPWHR&, order: 2, avoidMask: S}-- {stroke: -LRKST, data: nxt, order: 4, avoidMask: -PF*}-- {stroke: -LRKT*, data: LRKT*, order: 4, avoidMask: -PFS}-- {stroke: -RFST*, data: rmth, order: 4, avoidMask: -LPK}-- {stroke: -RPKS*, data: rsc, order: 4, avoidMask: -LFT}-- {stroke: -LFST*, data: lfth, order: 4, avoidMask: -RPK}-- {stroke: -LPKF*, data: ndl, order: 4, avoidMask: -RST}-- {stroke: -LPFT*, data: lly, order: 4, avoidMask: -RKS}-- {stroke: -RPKF*, data: rld, order: 4, avoidMask: -LST}-- {stroke: -RPFST, data: RPFST, order: 4, avoidMask: -LK*}-- {stroke: -RKST*, data: rj, order: 4, avoidMask: -LPF}-- {stroke: -PFST*, data: PFST*, order: 4, avoidMask: -LRK}-- {stroke: -RPKFT, data: rky, order: 4, avoidMask: -LS*}-- {stroke: -LRPT*, data: LRPT*, order: 4, avoidMask: -KFS}-- {stroke: -LRKF*, data: nsion, order: 4, avoidMask: -PST}-- {stroke: -LRPS*, data: gm, order: 4, avoidMask: -KFT}-- {stroke: -LRPKS, data: nc, order: 4, avoidMask: -FT*}-- {stroke: -PKFS*, data: gg, order: 4, avoidMask: -LRT}-- {stroke: -LKFS*, data: LKFS*, order: 4, avoidMask: -RPT}-- {stroke: -LRPFS, data: nz, order: 4, avoidMask: -KT*}-- {stroke: -LPKST, data: lct, order: 4, avoidMask: -RF*}-- {stroke: -RPKFS, data: rg, order: 4, avoidMask: -LT*}-- {stroke: -RPFT*, data: rry, order: 4, avoidMask: -LKS}-- {stroke: -LRPFT, data: ny, order: 4, avoidMask: -KS*}-- {stroke: -LPFS*, data: LPFS*, order: 4, avoidMask: -RKT}-- {stroke: -PKFT*, data: cky, order: 4, avoidMask: -LRS}-- {stroke: -LPFST, data: LPFST, order: 4, avoidMask: -RK*}-- {stroke: TSWHR&, data: TSWHR&, order: 2, avoidMask: P}-- {stroke: -PKFST, data: cy, order: 4, avoidMask: -LR*}-- {stroke: TSPWR&, data: TSPWR&, order: 2, avoidMask: H}-- {stroke: -RKFST, data: rty, order: 4, avoidMask: -LP*}-- {stroke: -LRST*, data: LRST*, order: 4, avoidMask: -PKF}-- {stroke: TSPWH&, data: TSPWH&, order: 2, avoidMask: R}-- {stroke: -LPKT*, data: '''ll', order: 4, avoidMask: -RFS}-- {stroke: -KFST*, data: ght, order: 4, avoidMask: -LRP}-- {stroke: -LRKFS, data: nsh, order: 4, avoidMask: -PT*}-- {stroke: -LRPKT, data: mph, order: 4, avoidMask: -FS*}-- {stroke: -RPKT*, data: '''re', order: 4, avoidMask: -LFS}-- {stroke: -LPKS*, data: lsc, order: 4, avoidMask: -RFT}-- {stroke: -RPFS*, data: RPFS*, order: 4, avoidMask: -LKT}-- {stroke: -LRFST, data: nth, order: 4, avoidMask: -PK*}-- {stroke: -LPKFT, data: lky, order: 4, avoidMask: -RS*}-- {stroke: -LRKFT, data: ntch, order: 4, avoidMask: -PS*}-- {stroke: -RPKST, data: rct, order: 4, avoidMask: -LF*}-- {stroke: -LKFST, data: lty, order: 4, avoidMask: -RP*}-- {stroke: -LPKFS, data: lg, order: 4, avoidMask: -RT*}-- {stroke: -LRFS*, data: LRFS*, order: 4, avoidMask: -PKT}-- {stroke: -PKST*, data: kt, order: 4, avoidMask: -LRF}-- {stroke: -LRKS*, data: nsk, order: 4, avoidMask: -PFT}-- {stroke: SPWHR&, data: chl, order: 2, avoidMask: T}-- {stroke: -RKFT*, data: stian, order: 4, avoidMask: -LPS}-- {stroke: -RKFS*, data: RKFS*, order: 4, avoidMask: -LPT}pinchord-javelin-system-v30.2.yaml view file
@@ -1,320 +0,0 @@-name: "Pinchord"-## Eventually I think I could make this work with the normal extended stenotype layout?-## Requiring only the # S thing and to make ^+ maybe?-keys:- - name: "#"- mask: 0x02- - name: "+"- mask: 0x04- - name: "T"- mask: 0x08- - name: "S"- mask: 0x10- - name: "P"- mask: 0x20- - name: "W"- mask: 0x40- - name: "H"- mask: 0x80- - name: "R"- mask: 0x100- - name: "&"- mask: 0x200-- - name: "A"- mask: 0x400- - name: "O"- mask: 0x800- - name: "-"- mask: 0- absentMask: 31744 ## match AOIU^- # presentMask: 16744448 ## Every key after AOIU^- presentMask: 8384512- - name: "I"- mask: 0x1000- - name: "U"- mask: 0x2000- - name: "^"- mask: 0x4000-- - name: "L"- mask: 0x8000- - name: "R"- mask: 0x10000- - name: "P"- mask: 0x20000- - name: "K"- mask: 0x40000- - name: "F"- mask: 0x80000- - name: "S"- mask: 0x100000- - name: "T"- mask: 0x200000- - name: "*"- mask: 0x400000- - name: "e"- mask: 0x800000- - name: "s"- mask: 0x01--undo: "-LR"--layout:- - mask: 1- name: "#"- center: { "x": 0.5, "y": 0.06 }- path: [- { "c": "m", "p": [0.00454, 0] },- { "c": "l", "p": [0.99545, 0] },- { "c": "l", "p": [0.99545, 0.12] },- { "c": "l", "p": [0.00454, 0.12] },- { "c": "c" }- ]- - mask: 0x800000- name: "^"- center: { "x": 0.04545, "y": 0.275 }- path: [- { "c": "m", "p": [0.00454, 0.15] },- { "c": "rl", "p": [0.08181, 0] },- { "c": "rl", "p": [0, 0.25] },- { "c": "rl", "p": [-0.08181, 0] },- { "c": "c" }- ]- - mask: 0x1000000- name: "+"- center: { "x": 0.04545, "y": 0.53 }- path: [- { "c": "m", "p": [0.00454, 0.41] },- { "c": "rl", "p": [0.08181, 0] },- { "c": "rl", "p": [0, 0.17] },- { "c": "rq", "p": [0, 0.12, -0.08181, 0.12, -0.08181, 0] },- { "c": "c" }- ]- - mask: 2- name: "S"- center: { "x": 0.13636, "y": 0.4 }- path: [- { "c": "m", "p": [0.09545, 0.15] },- { "c": "rl", "p": [0.08181, 0] },pinchord-starboard-layout-v30.2.javelin-layout view file
@@ -1,591 +0,0 @@-{- "layers": [- {- "id": 0,- "name": "Default",- "keys": [- [- {- "t": "p",- "d": {- "a": {- "t": "p",- "c": "stenoNum1"- }- }- },- {- "t": "r",- "d": {- "a": {- "t": "r",- "c": "stenoNum1"- }- }- }- ],- [- {- "t": "p",- "d": {- "a": {- "t": "p",- "c": "stenoS2"- }- }- },- {- "t": "r",- "d": {- "a": {- "t": "r",- "c": "stenoS2"- }- }- }- ],- [- {- "t": "p",- "d": {- "a": {- "t": "p",- "c": "stenoKL"- }- }- },- {- "t": "r",- "d": {- "a": {- "t": "r",- "c": "stenoKL"- }- }- }- ],- [- {- "t": "p",- "d": {- "a": {- "t": "p",- "c": "stenoWL"- }- }- },- {- "t": "r",- "d": {- "a": {- "t": "r",- "c": "stenoWL"- }- }- }- ],- [- {- "t": "p",- "d": {- "a": {- "t": "p",- "c": "stenoRL"- }- }- },- {- "t": "r",- "d": {plover_pinchord/dictionaries/pinchord-v30.2.py view file
@@ -1,14 +1,12 @@ ## Pinchord Plover python dictionary-## Copyright Grahp under https://grahp.dev/pinchord.git/LICENSE+## Copyright Grahp under Pinchord's License (GNU GPL v2) https://grahp.dev/pinchord.git/LICENSE import re ## Longest valid outline, Pinchord only needs one stroke outlines :) LONGEST_KEY = 1 -## TODO move this into the dict, or just wait until chords.edn is the dictionary format? BANKS = ["prefixes", "initials", "vowels", "finals", "suffixes"] -## Specified by and generated from 'chords.edn' (https://grahp.dev/pinchord.git/chords.edn) ## Unlike Shrimple, Pinchord enumerates all bank chords! DICT = {"initials": {"WH&": "hw", "T": "t",@@ -344,8 +342,7 @@ def banks(stroke): match = re.match(BANK_SPLITTING_REGEX, stroke) if match:- ## Due to javelin limitations I think making these banks extensible would be tricky, actually- ## The regex definitely should be though.+ ## These should really be extensible! prefix, initials, vowels, finals, suffixes = match.groups() return {"prefixes": prefix, "initials": initials, "vowels": vowels, "finals": finals, "suffixes": suffixes} else:pythonify.clj view file
@@ -1,34 +0,0 @@-(defn stringifyify [x]- (str \" (name x) \"))--(defn pythonify [x]- (cond- (map? x) (str "{"- (str/join ",\n"- (map (fn [[k v]]- (str (stringifyify k) ": " (pythonify v)))- x))- "}")- (string? x) (stringifyify x)- :else (str x)))-- ; "prefixes": {- ; "+": "{^}",- ; "#": "{-|}",- ; "#+": "{^}{-|}",- ; "": "{}",- ; },--(def plover-prefixes {"+" "{^}"- "#" "{-|}"- "#+" "{^}{-|}"- "" "{}"})--(defn slurpandshit []- (update (assoc (select-keys (edn/read-string (slurp "chords.edn"))- [:initials :vowels :finals :suffixes])- :prefixes plover-prefixes)- :initials dissoc ""))--(comment- (spit "pythontest.py" (pythonify (slurpandshit))))