diff --git a/src/lib/assets/CC1_Default_Chord_Library.csv b/src/lib/assets/CC1_Default_Chord_Library.csv deleted file mode 100644 index 2795371d..00000000 --- a/src/lib/assets/CC1_Default_Chord_Library.csv +++ /dev/null @@ -1,497 +0,0 @@ -s + Dup,say -y + b,by -y + Dup,why -n + Dup,no -n + f,find -l + f,life -l + p,people -l + s + p,spell -l + n,line -l + n + p,plant -t + h,that -t + n + h,than -t + n + p,plant -t + l + f,left -a + f,after -a + d,add -a + d + f,had -a + h,has -a + s,as -a + s + h,has -a + y + d,day -a + y + s,say -a + n,an -a + n + d,and -a + n + d + f,hand -a + n + h,hand -a + n + y,any -a + l,all -a + l + d,land -a + l + p,plant -a + l + s,last -a + l + y + p,play -a + l + n + d,land -a + t,at -a + t + h,that -a + t + n + h,than -a + t + l + s,last -a + t + l + n + p,plant -- + ?,question -w + h,who -w + s,saw -w + y + h,why -w + t,without -w + t + h,watch -w + t + n,went -w + a,was -w + a + h,what -w + a + s,saw -w + a + y,way -w + a + y + Dup,away -w + a + n,want -w + a + l + f,walk -w + a + l + y,always -w + a + l + y + s,always -w + a + t,watch -w + a + t + h,watch -w + a + t + n,want -g + b,begin -g + Dup,question -g + h,here -g + p,page -g + l + n,long -g + t,get -k + q,quick -k + f,and -k + l + y + q,quickly -k + t + l,talk -k + a + b,back -k + a + s,ask -k + a + t + l,talk -k + w + a + l,walk -m + f,form -m + y,my -m + t + Dup,mountain -m + a + f,family -m + a + s,small -m + a + y,may -m + a + n,man -m + a + n + y,many -m + a + l,almost -m + a + l + s,small -m + a + l + s + Dup,small -c + b,because -c + Dup,sea -c + h,head -c + a + n,can -c + a + n + h,change -c + a + l,call -c + a + l + p,place -c + k + a + b,back -u + p,us -u + y,you -u + j,just -u + j + s,just -u + t + b,but -u + t + p,put -u + t + s + d,study -u + t + n,until -u + t + j + s,just -u + a + l,last -u + k + q,quick -u + k + l + y + q,quickly -u + m + h,much -u + m + n,number -u + m + t + s,must -u + m + c + h,much -u + c + s + h,such -u + c + t,cut -u + c + t + n,country -' + a + s,say -' + a + n,any -' + m + a + n,many -o + Dup,off -o + f,of -o + f + f,food -o + d,do -o + s,so -o + y + b,boy -o + n,on -o + n + s + Dup,soon -o + l,line -o + l + Dup,oil -o + l + d,old -o + l + y,only -o + l + n + y,only -o + t,to -o + t + b,both -o + t + Dup,too -o + t + s,stop -o + t + s + p,stop -o + t + n,not -o + t + n + f,often -o + t + n + d,don't -o + t + n + p,point -o + a + n + h,another -o + a + l,also -o + a + l + s,also -o + w,own -o + w + h,how -o + w + s + h,show -o + w + n,now -o + w + n + d,down -o + w + l + f,follow -o + w + t,two -o + g,go -o + g + Dup,good -o + g + n + s,song -o + g + l + n,long -o + g + t,got -o + g + a + l,along -o + g + a + l + n,along -o + k + b,book -o + k + n,know -o + k + l,look -o + k + t,took -o + k + t + Dup,took -o + k + w + n,know -o + v + a + b,above -o + v + k,move -o + m + s,some -o + m + t + s,most -o + m + a + l,almost -o + m + a + l + s,almost -o + m + a + t + l + s,almost -o + c + f,food -o + c + l + s + h,school -o + u,our -o + u + f,four -o + u + s + h,should -o + u + y,you -o + u + n + f,found -o + u + n + f + f,found -o + u + n + s,sound -o + u + n + s + d,sound -o + u + l + s + d + f,should -o + u + l + s + h,should -o + u + t,out -o + u + a + b,about -o + u + a + t + b,about -o + u + w + l + d,would -o + u + g + n + y,young -o + u + g + t + h,thought -o + u + m + t + n,mountain -o + u + m + t + n + Dup,mountain -o + u + c + l + d,could -o + ' + t + n + d,don't -o + o + l,oil -o + o + t + n,into -o + o + t + n + p,point -o + o + u + w + t + h,without -o + o + u + m + a + t + n,mountain -i + f,if -i + f + f,different -i + d,did -i + RH_Thumb_1_Center,different -i + s,is -i + s + d,side -i + s + h,his -i + n,in -i + n + f + f,find -i + l,list -i + l + n,line -i + t,it -i + t + s + Dup,still -i + t + s + h,this -i + t + n,into -i + t + l + s,list -i + t + l + s + Dup,still -i + a + s,said -i + a + s + d,said -i + a + n,animal -i + w + h,which -i + w + h + Dup,which -i + w + l,will -i + w + l + Dup,will -i + w + l + h,while -i + w + t + h,with -i + g,give -i + g + b,big -i + g + h,high -i + g + n + h,night -i + g + l + h,light -i + g + t + n + h,thing -i + g + t + l + h,light -i + g + a + n,again -i + g + a + n + Dup,again -i + k + n + d,kind -i + k + l,like -i + k + t + n + h,think -i + v + l,live -i + m + h,him -i + m + p,important -i + m + s,miss -i + m + s + Dup,miss -i + m + l,mile -i + m + t,time -i + m + t + h,might -i + m + a + n,animal -i + m + a + n + Dup,animal -i + m + a + l + n,another -i + m + g + t + h,might -i + c + p,picture -i + c + t + y,city -i + u + t + l + n,until -i + u + w + t + h,without -i + u + k + q,quick -i + u + k + l + y + q,quickly -i + u + c + k + q,quick -i + u + c + k + l + y + q,quickly -i + ' + t,it's -i + ' + t + s,it's -e + b,be -e + Dup,earth -e + x,example -e + f + b,before -e + h,he -e + h + Dup,here -e + s,state -e + s + Dup,see -e + s + h,she -e + y + Dup,eye -e + n,name -e + n + b,been -e + n + Dup,need -e + n + d,end -e + l + h,help -e + l + h + f,help -e + l + s + p,spell -e + t,the -e + t + Dup,eat -e + t + f,feet -e + t + h,there -e + t + s,set -e + t + s + h,these -e + t + y + h,they -e + t + n + x,next -e + t + n + h,then -e + t + l,let -e + t + l + Dup,tell -e + t + l + f,left -e + a,at -e + a + f,father -e + a + d + f,head -e + a + h,hear -e + a + p,paper -e + a + s,sea -e + a + y,year -e + a + n,name -e + a + t,eat -e + a + t + s + Dup,state -e + w,we -e + w + f,few -e + w + n,new -e + w + n + h,when -e + w + l,well -e + w + l + Dup,well -e + w + t + b,between -e + w + t + n,went -e + w + t + n + b,between -e + g + h,here -e + g + t,get -e + g + a + p,page -e + g + a + n + b,began -e + k,keep -e + k + p,keep -e + k + t,take -e + k + a + t,take -e + v + y,every -e + v + n,even -e + v + a + h,have -e + v + a + l,leave -e + v + a + l + Dup,leave -e + m,me -e + m + s,seem -e + m + s + Dup,seem -e + m + n,men -e + m + t + h,them -e + m + a,make -e + m + a + d,made -e + m + a + s,same -e + m + a + n,mean -e + m + a + l + p + x,example -e + m + c + a,came -e + c + s,second -e + c + t + n + s,sentence -e + c + a,came -e + c + a + f,face -e + c + a + h,each -e + c + a + l + p,place -e + LH_Thumb_1_Center + a,make -e + u + s,use -e + u + s + q,question -e + u + n + d,under -e + u + t + q,quite -e + u + c + a + s + b,because -e + o + p,open -e + o + s + d,does -e + o + n,one -e + o + n + p,open -e + o + l + b,below -e + o + l + h,hello -e + o + l + h + Dup,hello -e + o + l + p,people -e + o + t + f,often -e + o + t + h,other -e + o + t + s + h,those -e + o + t + n + f,often -e + o + w + l + b,below -e + o + g + t + h,together -e + o + v,over -e + o + v + a + b,above -e + o + v + k,move -e + o + m,move -e + o + m + h,home -e + o + m + s,some -e + o + m + t + s,sometime -e + o + m + t + s + h,something -e + o + m + g + t + n + s + h,something -e + o + m + c,come -e + o + c,come -e + o + c + n,once -e + o + c + n + s + d,second -e + o + c + l + s,close -e + o + u + s + h,house -e + o + u + n,enough -e + o + u + g + n + h,enough -e + i + s + d,side -e + i + l + f,life -e + i + l + n,line -e + i + t + q,quite -e + i + t + l,little -e + i + t + l + Dup,little -e + i + a + d,idea -e + i + w + l + h,while -e + i + w + t + h,white -e + i + g,give -e + i + g + p,give -e + i + g + n + b,begin -e + i + k + l,like -e + i + v + l,live -e + i + m + l,mile -e + i + m + t,time -e + i + u + t + q,quite -e + i + u + u + t + n + s + q,question -r + e + h,her -r + e + t + Dup,tree -r + e + t + h,there -r + e + t + h + Dup,three -r + e + t + l,letter -r + e + a,are -r + e + a + d,read -r + e + a + h,hear -r + e + a + p,paper -r + e + a + n,near -r + e + a + l + y,really -r + e + a + l + y + Dup,really -r + e + a + t + f,after -r + e + a + t + h,earth -r + e + a + t + RH_Thumb_1_Center,father -r + e + a + t + l,learn -r + e + w,were -r + e + w + Dup,were -r + e + w + h,where -r + e + w + a + n + s,answer -r + e + w + a + t,water -r + e + g + h,here -r + e + g + a + l,large -r + e + g + a + t,great -r + e + v + y,very -r + e + v + y + Dup,every -r + e + v + n,never -r + e + u + n + d,under -r + e + u + m + n + b,number -r + e + o + f + b,before -r + e + o + t + h,other -r + e + o + g + t + h,together -r + e + o + v,over -r + e + o + m,more -r + e + o + m + t + h,mother -r + e + i + t + h,their -r + e + i + t + n + f + f,different -r + e + i + v,river -r + e + i + c + l + d + f,children -r + e + i + u + c + t + p,picture -r + f,for -r + h,her -r + y,your -r + n,near -r + l,learn -r + t + Dup,tree -r + t + f,father -r + t + s + Dup,start -r + t + y,try -r + t + l,letter -r + t + l + Dup,letter -r + a,are -r + a + f,far -r + a + d,read -r + a + d + f,hard -r + a + h,hard -r + a + p,part -r + a + l + y,really -r + a + l + y + Dup,really -r + a + t + p,part -r + a + t + s + Dup,start -r + w,were -r + w + h,where -r + w + t,water -r + w + a + n + s,answer -r + g + t,great -r + g + a + l,large -r + v + y,very -r + v + n,never -r + v + l,later -r + m + f,form -r + c + a,car -r + c + a + y,carry -r + c + a + y + Dup,carry -r + u + n,run -r + u + t + h,through -r + u + t + n,turn -r + ' + t + s,story -r + o,or -r + o + f,for -r + o + t + y + s,story -r + o + a + n + h,another -r + o + w,work -r + o + w + d,word -r + o + w + l + d,world -r + o + g,grow -r + o + LeftDoubleClick,grow -r + o + k + w,work -r + o + m,more -r + o + m + f,from -r + o + m + t + h,mother -r + o + u,our -r + o + u + f,four -r + o + u + y,your -r + o + u + a,around -r + o + u + a + n,around -r + o + u + a + n + d,around -r + o + u + g,group -r + o + u + g + p,group -r + o + u + g + t + h,through -r + o + u + c + t + n,country -r + o + u + c + t + n + y,country -r + i + t + h,their -r + i + t + s + f,first -r + i + a,air -r + i + w + t,write -r + i + g + h,right -r + i + g + l,girl -r + i + g + t + h,right -r + i + v,river -r + i + v + Dup,river -r + i + m + t + n + p,important -r + i + c + l + h,children \ No newline at end of file diff --git a/src/lib/components/Action.svelte b/src/lib/components/Action.svelte index 1ff83707..ceaa0cce 100644 --- a/src/lib/components/Action.svelte +++ b/src/lib/components/Action.svelte @@ -11,7 +11,7 @@ let info = $derived( typeof action === "number" - ? (KEYMAP_CODES.get(action) ?? { code: action }) + ? ($KEYMAP_CODES.get(action) ?? { code: action }) : action, ); let dynamicMapping = $derived(info.keyCode && $osLayout.get(info.keyCode)); diff --git a/src/lib/components/ActionListItem.svelte b/src/lib/components/ActionListItem.svelte index e3ccd1ab..2f60d6a1 100644 --- a/src/lib/components/ActionListItem.svelte +++ b/src/lib/components/ActionListItem.svelte @@ -12,7 +12,7 @@ $props(); let key = $derived( - (typeof id === "number" ? KEYMAP_CODES.get(id) ?? id : id) as + (typeof id === "number" ? ($KEYMAP_CODES.get(id) ?? id) : id) as | number | KeyInfo, ); diff --git a/src/lib/components/layout/ActionSelector.svelte b/src/lib/components/layout/ActionSelector.svelte index f3693840..f1208ba8 100644 --- a/src/lib/components/layout/ActionSelector.svelte +++ b/src/lib/components/layout/ActionSelector.svelte @@ -3,12 +3,14 @@ KEYMAP_CATEGORIES, KEYMAP_CODES, KEYMAP_IDS, + type KeyInfo, } from "$lib/serial/keymap-codes"; import FlexSearch from "flexsearch"; import { onMount } from "svelte"; import ActionListItem from "$lib/components/ActionListItem.svelte"; import LL from "$i18n/i18n-svelte"; import { action } from "$lib/title"; + import { get } from "svelte/store"; let { currentAction = undefined, @@ -27,10 +29,13 @@ }); const index = new FlexSearch.Index({ tokenize: "full" }); - createIndex(); - async function createIndex() { - for (const [, action] of KEYMAP_CODES) { + $effect(() => { + createIndex($KEYMAP_CODES); + }); + + async function createIndex(codes: Map) { + for (const [, action] of codes) { await index?.addAsync( action.code, `${action.title || ""} ${action.variant || ""} ${action.category} ${action.id || ""} ${ @@ -42,7 +47,7 @@ async function search() { results = (await index!.searchAsync(searchBox.value)) as number[]; - exact = KEYMAP_IDS.get(searchBox.value)?.code; + exact = get(KEYMAP_IDS).get(searchBox.value)?.code; code = Number(searchBox.value); } @@ -127,7 +132,7 @@ bind:group={filter} /> - {#each KEYMAP_CATEGORIES as category} + {#each $KEYMAP_CATEGORIES as category}