Getkey

From OpenEUO
Revision as of 11:16, 16 July 2012 by Ximan (Talk | contribs)

Jump to: navigation, search
local bpressed = getkey(str)

Returns a boolean based upon whether a key or key combination as specified by the string str is depressed or not. The key-specifier string str can contain A-Z, 0-9, F1-F12 and ESC, BACK, TAB, ENTER, CAPS, SPACE, PGDN, PGUP, END, HOME, LEFT, RIGHT, UP, DOWN, INS, DEL, NUM, CTRL, ALT, or SHIFT. Due to differences in operating system versions, keyboard drivers, and language settings, some keys may not be detectable on all systems or may be misidentified. Current list of known problem keys: PRNSCR, PAUSE, SCROLL. The following script can be used to test functionality on individual systems.

 local keys = {'ESC', 'BACK', 'TAB', 'ENTER', 'CAPS', 'SPACE', 'PGDN', 'PGUP', 'END', 'HOME',
   'LEFT', 'RIGHT', 'UP', 'DOWN', 'INS', 'DEL', 'NUM', 'SCROLL', 'PAUSE', 'PRNSCR', 'CTRL', 'ALT', 'SHIFT'}
 for i = 1,12,1 do
   table.insert(keys,'F'..tostring(i))
 end
 while true do
   for i = 1,#keys,1 do
     if getkey(keys[i]) then print(keys[i]) wait(10) end
   end
 end

Warning: this function will register a currently depressed key regardless of what application is in the foreground.

GetAsyncKeyState

Getmouse