Files
Nasal-Interpreter/module/libkey.nas

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);
}
}
}();