SHOW:
|
|
- or go back to the newest paste.
1 | local args = {...} | |
2 | local fileHeader = | |
3 | [[ | |
4 | ----------------------------------------- | |
5 | -- Custom Key Layout -- | |
6 | ----------------------------------------- | |
7 | ||
8 | ----------------Remapper------------------ | |
9 | local map = {} | |
10 | ||
11 | local function addRemap(expected, modifier) | |
12 | map[expected] = modifier | |
13 | end | |
14 | ||
15 | function os.pullEvent(filter) | |
16 | local evt = {os.pullEventRaw(filter or nil)} | |
17 | if(evt[1] == "char") then | |
18 | for k,v in pairs(map) do | |
19 | if(k[2] == evt[2]) then | |
20 | e = v(evt) | |
21 | return unpack(e) | |
22 | end | |
23 | end | |
24 | end | |
25 | return unpack(evt) | |
26 | end | |
27 | ------------------------------------------ | |
28 | ||
29 | ]] | |
30 | ||
31 | local function split(str) | |
32 | local t = {} | |
33 | for m in str:gmatch(".") do table.insert(t,m) end | |
34 | return t | |
35 | end | |
36 | ||
37 | local data = {} | |
38 | local layout = {} | |
39 | local priority = "gfhdjskalrueiwoqpvbcnxmy" | |
40 | priority = priority..priority:upper() | |
41 | priority = priority.."1234567890" | |
42 | ||
43 | local handle,content = fs.open(args[1],"r"),false | |
44 | content = handle.readAll() | |
45 | handle.close() | |
46 | data = textutils.unserialize(content) | |
47 | ||
48 | local datakeys = {} | |
49 | for k,v in pairs(data) do | |
50 | table.insert(datakeys,k) | |
51 | end | |
52 | table.sort(datakeys,function(i,j) return i>j end) | |
53 | ||
54 | local processed = {} | |
55 | for _,i in pairs(datakeys) do | |
56 | if(#priority==0) then break end | |
57 | for k,v in pairs(data[i]) do | |
58 | if(#priority==0) then break end | |
59 | local c = priority:sub(1,1) | |
60 | priority = priority:sub(2) | |
61 | processed[c] = v | |
62 | end | |
63 | end | |
64 | ||
65 | local map = {} | |
66 | for k,v in pairs(processed) do | |
67 | local val = v | |
68 | - | if(v == "\n") then val = "" end |
68 | + | |
69 | if(v == "\n") then val = "\\n" end | |
70 | fileHeader = fileHeader.."addRemap({'char',\""..k.."\"},function(evt) return {'char',\""..val.."\"} end)".."\n" | |
71 | end | |
72 | ||
73 | local handle = fs.open("mapped","w") | |
74 | handle.write(fileHeader) | |
75 | handle.close() |