mirror of
https://github.com/ValKmjolnir/Nasal-Interpreter.git
synced 2026-05-24 05:25:45 +08:00
37 lines
1.0 KiB
Plaintext
37 lines
1.0 KiB
Plaintext
import("lib.nas");
|
|
|
|
var libkey=func(){
|
|
var lib=dylib.dlopen("./module/libkey"~(os.platform()=="windows"?".dll":".so"));
|
|
var kb=dylib.dlsym(lib,"nas_kbhit");
|
|
var gt=dylib.dlsym(lib,"nas_getch");
|
|
var nb=dylib.dlsym(lib,"nas_noblock");
|
|
var init=dylib.dlsym(lib,"nas_init");
|
|
var cls=dylib.dlsym(lib,"nas_close");
|
|
var is_init=0;
|
|
return {
|
|
init:func(){
|
|
dylib.dlcall(init);
|
|
is_init=1;
|
|
},
|
|
kbhit:func(){
|
|
if(!is_init)
|
|
me.init();
|
|
return dylib.dlcall(kb);
|
|
},
|
|
getch:func(){
|
|
if(!is_init)
|
|
me.init();
|
|
return dylib.dlcall(gt);
|
|
},
|
|
nonblock:func(){
|
|
if(!is_init)
|
|
me.init();
|
|
return dylib.dlcall(nb);
|
|
},
|
|
close:func(){
|
|
# must call this function before exiting the program
|
|
dylib.dlcall(cls);
|
|
dylib.dlclose(lib);
|
|
}
|
|
}
|
|
}(); |