hopeful multisession support
This commit is contained in:
parent
080af72ca6
commit
95a5a16e0f
@ -1,5 +1,5 @@
|
|||||||
optimise no
|
optimise yes
|
||||||
listmods no
|
listmods yes
|
||||||
test no
|
test no
|
||||||
log no
|
log no
|
||||||
opath kernel.lua
|
opath kernel.lua
|
||||||
|
12
modules.cfg
12
modules.cfg
@ -1,18 +1,8 @@
|
|||||||
base/header.lua
|
base/header.lua
|
||||||
drivers/dterm.lua
|
|
||||||
library/print.lua
|
library/print.lua
|
||||||
drivers/keyboard.lua
|
|
||||||
library/net.lua
|
|
||||||
library/fs-min.lua
|
library/fs-min.lua
|
||||||
library/fs-std.lua
|
library/fs-std.lua
|
||||||
library/fs-ext.lua
|
|
||||||
library/fs-util.lua
|
library/fs-util.lua
|
||||||
library/base64.lua
|
|
||||||
util/fs-automount.lua
|
util/fs-automount.lua
|
||||||
net/ping.lua
|
util/sinit.lua
|
||||||
applications/shutil.lua
|
|
||||||
applications/evproxy-srv.lua
|
|
||||||
applications/evproxy-client.lua
|
|
||||||
applications/ircbridge.lua
|
|
||||||
applications/luash.lua
|
|
||||||
base/footer.lua
|
base/footer.lua
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
tT,p,C,T={},1,coroutine,table
|
tT,p,C,T={},1,coroutine,table
|
||||||
function s(n,f,e)
|
function E()
|
||||||
T.insert(tT,{n,C.create(f),(e or {})})
|
if tT[cT] ~= nil then return tT[cT][3] end
|
||||||
end
|
end
|
||||||
function l()
|
function l()
|
||||||
return eV
|
return eV
|
||||||
@ -8,3 +8,6 @@ end
|
|||||||
function h(...)
|
function h(...)
|
||||||
computer.pushSignal(...)
|
computer.pushSignal(...)
|
||||||
end
|
end
|
||||||
|
function s(n,f,e)
|
||||||
|
T.insert(tT,{n,C.create(f),(e or E() or {})})
|
||||||
|
end
|
||||||
|
10
modules/drivers/kbd.lua
Normal file
10
modules/drivers/kbd.lua
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
function kbd(kA,sI)
|
||||||
|
s("kbd: "..kA..","..tostring(si),function()
|
||||||
|
while true do
|
||||||
|
if ev[1] == "key_down" and ev[2] == kA then
|
||||||
|
h("key",sI,ev[3],ev[4])
|
||||||
|
end
|
||||||
|
C.yield()
|
||||||
|
end
|
||||||
|
end)
|
||||||
|
end
|
34
modules/drivers/tty.lua
Normal file
34
modules/drivers/tty.lua
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
function tty(gA,sA,sI,fg,bg)
|
||||||
|
local gP,cx,cy = component.proxy(gA),1,1
|
||||||
|
gP.bind(sA)
|
||||||
|
local sx, sy = gP.getResolution()
|
||||||
|
gP.setResolution(sx,sy)
|
||||||
|
gP.setForeground(bg or 0xFFFFFF)
|
||||||
|
gP.setBackground(bg or 0x000000)
|
||||||
|
gP.fill(1,1,sx,sy," ")
|
||||||
|
local function cv()
|
||||||
|
if cx > sx then cx,cy=1,cy+1 end
|
||||||
|
if cx < 1 then cx,cy=1,cy-1 end
|
||||||
|
if cy < 1 then cx,cy=1,1 end
|
||||||
|
if cy > sy then gP.copy(1,2,sx,sy-1,1,1) gP.fill(1,sx,sy,1," ") cx,cy=1,sy end
|
||||||
|
end
|
||||||
|
local function wl(str)
|
||||||
|
for c in str:gmatch(".") do
|
||||||
|
if c == "\n" then cx,cy=1,cy+1
|
||||||
|
elseif c == "\r" then cx=1
|
||||||
|
elseif c == "\f" then cx=1 cy=1 gP.fill(1, 1, sx, sy, " ")
|
||||||
|
elseif c == "\127" then cx=cx-1 gP.set(cx,cy," ")
|
||||||
|
else gP.set(cx,cy,c) cx=cx+1
|
||||||
|
end cv()
|
||||||
|
end
|
||||||
|
end
|
||||||
|
s("display: "..gA..","..sA,function()
|
||||||
|
while true do
|
||||||
|
eT = ev
|
||||||
|
if eT[1] == "display" and eT[3] == sI then
|
||||||
|
wl(tostring(eT[2]))
|
||||||
|
end
|
||||||
|
C.yield()
|
||||||
|
end
|
||||||
|
end)
|
||||||
|
end
|
@ -1,10 +1,10 @@
|
|||||||
function print(...)
|
|
||||||
for k,v in pairs({...}) do
|
|
||||||
h("display",tostring(v).."\n")
|
|
||||||
end
|
|
||||||
end
|
|
||||||
function write(...)
|
function write(...)
|
||||||
for k,v in pairs({...}) do
|
for k,v in pairs({...}) do
|
||||||
h("display",tostring(v))
|
h("display",tostring(v),E().sI)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
function print(...)
|
||||||
|
for k,v in pairs({...}) do
|
||||||
|
write(tostring(v).."\n")
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
19
modules/library/readline.lua
Normal file
19
modules/library/readline.lua
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
function readln()
|
||||||
|
local s=""
|
||||||
|
write("|")
|
||||||
|
while true do
|
||||||
|
if ev[1] == "key" and ev[2] == E().sI then
|
||||||
|
if ev[3] == 13 then
|
||||||
|
write("\127\n")
|
||||||
|
C.yield()
|
||||||
|
return s
|
||||||
|
elseif ev[3] == 8 then
|
||||||
|
if s:len()>0 then s=s:sub(1,-2) write("\127\127|") end
|
||||||
|
elseif ev[3] > 31 and ev[3] < 127 then
|
||||||
|
s=s..string.char(ev[3]) write("\127"..string.char(ev[3]).."|")
|
||||||
|
end
|
||||||
|
end
|
||||||
|
C.yield()
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
5
modules/util/autogpu.lua
Normal file
5
modules/util/autogpu.lua
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
print("","GPU: "..component.list("gpu")(),"Screen: "..component.list("screen")(),"Keyboard:"..component.list("keyboard")())
|
||||||
|
print("Starting tty")
|
||||||
|
tty(component.list("gpu")(),component.list("screen")(),1)
|
||||||
|
print("Starting kbd")
|
||||||
|
kbd(component.list("keyboard")(),1)
|
@ -17,4 +17,4 @@ s("init",function()
|
|||||||
if _OSVERSION and _BD then
|
if _OSVERSION and _BD then
|
||||||
print("Started ".._OSVERSION.." (built at ".._BD..")")
|
print("Started ".._OSVERSION.." (built at ".._BD..")")
|
||||||
end
|
end
|
||||||
end)
|
end,{["sI"]=1})
|
||||||
|
Loading…
Reference in New Issue
Block a user