Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function pullEventCharKey()
- local reserved_key = {delete=true, backspace=true, enter=true, tab=true,
- left=true, right=true, up=true, down=true}
- local detected_value = {}
- local function pullEvent_key()
- local event, key_code = os.pullEvent("key")
- local key_name = keys.getName(key_code)
- if reserved_key[key_name] then
- detected_value["key"] = key_name
- end
- end
- local function pullEvent_char()
- local event, c = os.pullEvent("char")
- detected_value["char"] = c
- end
- repeat
- detected_value = {}
- parallel.waitForAny(pullEvent_char, pullEvent_key)
- until (detected_value["char"] or detected_value["key"])
- if detected_value["char"] then
- return "char", detected_value["char"]
- else
- return "key", detected_value["key"]
- end
- end
- write( shell.dir() .. "> " )
- function h2readLine(tCommandHistory)
- local posX, posY = term.getCursorPos()
- local initPosX = posX
- local sLine = ""
- repeat
- local e, name = pullEventCharKey()
- until name == "enter"
- return sLine
- end
- print(e,' ',name)
Advertisement
Add Comment
Please, Sign In to add comment