mirror of
https://github.com/curioustorvald/Terrarum.git
synced 2026-03-07 12:21:52 +09:00
283 lines
4.7 KiB
Plaintext
283 lines
4.7 KiB
Plaintext
let states = {"keylayouts":[[""],[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
["0",")","\u0966",")"],
|
|
["1","\u090D","\u0967","!"],
|
|
["2","\u0945","\u0968","@"],
|
|
["3","\u094D\u0930","\u0969","#"],
|
|
["4","\u0930\u094D","\u096A","$"],
|
|
["5","\u091C\u094D\u091E","\u096B","%"],
|
|
["6","\u0924\u094D\u0930","\u096C","^"],
|
|
["7","\u0915\u094D\u0937","\u096D","&"],
|
|
["8","\u0936\u094D\u0930","\u096E","*"],
|
|
["9","(","\u096F","("],
|
|
["*"],
|
|
["#"],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
["\u094B","\u0913"],
|
|
["\u0935","\u0934"],
|
|
["\u092E","\u0923","\u0954","\u0923"],
|
|
["\u094D","\u0905"],
|
|
["\u093E","\u0906"],
|
|
["\u093F","\u0907","\u0962","\u090C"],
|
|
["\u0941","\u0909"],
|
|
["\u092A","\u092B","\u092A","\u095E"],
|
|
["\u0917","\u0918","\u095A","\u0918"],
|
|
["\u0930","\u0931"],
|
|
["\u0915","\u0916","\u0958","\u0959"],
|
|
["\u0924","\u0925"],
|
|
["\u0938","\u0936"],
|
|
["\u0932","\u0933"],
|
|
["\u0926","\u0927"],
|
|
["\u091C","\u091D","\u095B","\u091D"],
|
|
["\u094C","\u0914"],
|
|
["\u0940","\u0908","\u0963","\u0961"],
|
|
["\u0947","\u090F"],
|
|
["\u0942","\u090A"],
|
|
["\u0939","\u0919"],
|
|
["\u0928","\u0929"],
|
|
["\u0948","\u0910"],
|
|
["\u0902","\u0901","\u0902","\u0950"],
|
|
["\u092C","\u092D"],
|
|
["\u0946","\u090E","\u0953","\u090E"],
|
|
[",","\u0937","\u0970","\u0970"],
|
|
[".","\u0964","\u0965","\u093D"],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[" "],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
["\n"],
|
|
["\x08"],
|
|
["\u094A","\u0912"],
|
|
["-","\u0903"],
|
|
["\u0943","\u090B","\u0944","\u0960"],
|
|
["\u0921","\u0922","\u095C","\u095D"],
|
|
["\u093C","\u091E"],
|
|
["\u0949","\u0911"],
|
|
["\u091A","\u091B","\u0952","\u091B"],
|
|
["\u091F","\u0920","\u0951","\u0920"],
|
|
["\u092F","\u095F"],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
["0"],
|
|
["1"],
|
|
["2"],
|
|
["3"],
|
|
["4"],
|
|
["5"],
|
|
["6"],
|
|
["7"],
|
|
["8"],
|
|
["9"],
|
|
["/"],
|
|
["*"],
|
|
["-"],
|
|
["+"],
|
|
["."],
|
|
["."],
|
|
["\n"],
|
|
["="],
|
|
["("],
|
|
[")"],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined],
|
|
[undefined]
|
|
],
|
|
"code":""} // practically unused as long as there are no diacritics on the keyboard
|
|
let reset = () => {
|
|
states.code = 0
|
|
}
|
|
let inRange = (s,a,b) => (a <= s && s <= b)
|
|
return Object.freeze({"n":"इनस्क्रिप्ट","v":"none","c":"CuriousTo\uA75Bvald","m":"rewrite",
|
|
"t":states.keylayouts.slice(0,10).concat([["3","\uDBBF\uDE01\u094D\u0930","\u0969","#"], ["4","\u0930\u094D\uDBBF\uDE01","\u096A","$"]], states.keylayouts.slice(12)),
|
|
"l":"hiIN",
|
|
// return: [delete count, composed output]
|
|
"accept":(headkey,shiftin,altgrin)=>{
|
|
let layer = 1*shiftin + 2*altgrin
|
|
|
|
let s = (states.keylayouts[headkey][layer] || states.keylayouts[headkey][1*shiftin]) || states.keylayouts[headkey][0]
|
|
|
|
return ['0', s]
|
|
},
|
|
"backspace":()=>{
|
|
reset()
|
|
return ''
|
|
},
|
|
"end":()=>{
|
|
reset()
|
|
return ''
|
|
},
|
|
"reset":()=>{ reset() },
|
|
"composing":()=>(states.code!='')
|
|
}) |