Die einzelnen Tasten der Tastatur bzw. des angeschlossenen Eingabegeräts werden auf ein 256 Byte grosses Keyboard Array abgebildet. Die Engine Funktion llinput_Update aktuallisiert dieses Array. llinput_Update sollte bei jedem Ende von einem Frameloop aufgerufen werden. extern TxU8 llinput_Keys [256]; TxU8 ist ein unsigned char. Es ist wird beim jeden llinput_Update der Inhalt der Keys nach links geshiftet und das unterste Bit, je nach gedrückter Taste, gesetzt bzw. nicht gesetzt. Dadurch kann man durch ausmaskieren von Bit0 und Bit1 feststellen ob gerade gedrückt wurde: 01 oder losgelassen wurde: 10. Gedrückter Zustand bit 0 ist gesetzt, losgelassener Zustand bit 0 ist nicht gesetzt. Die Makros Justdown() und Justup maskieren und testen die beiden bits. Aufrufbeispiel: <§wx= if( Justdown ( llinput_Keys[
LLINPUT_KEY_SPACE ] ) ... §> <§wx=
LLINPUT_ESCAPE "Escape"
LLINPUT_FKEY1 "F1"
LLINPUT_FKEY2 "F2"
LLINPUT_FKEY3 "F3"
LLINPUT_FKEY4 "F4"
LLINPUT_FKEY5 "F5"
LLINPUT_FKEY6 "F6"
LLINPUT_FKEY7 "F7"
LLINPUT_FKEY8 "F8"
LLINPUT_FKEY9 "F9"
LLINPUT_FKEY10 "F10"
LLINPUT_FKEY11 "F11"
LLINPUT_FKEY12 "F12"
LLINPUT_CURSOR_UP "CursorUp"
LLINPUT_CURSOR_LEFT "CursorLeft"
LLINPUT_CURSOR_RIGHT "CursorRight"
LLINPUT_CURSOR_DOWN "CursorDown"
LLINPUT_PAGEUP "PageUp"
LLINPUT_PAGEDOWN "PageDown"
LLINPUT_CURSOR_INSERT "Insert"
LLINPUT_CURSOR_DELETE "Delete"
LLINPUT_CURSOR_HOME "Home"
LLINPUT_CURSOR_END "End"
LLINPUT_NUMPAD_ENTER "NumpadEnter" '\n'
LLINPUT_NUMPAD_ADD "Numpad+" '+'
LLINPUT_NUMPAD_SUBTRACT "Numpad-" '-'
LLINPUT_NUMPAD_DIVIDE "Numpad:" ':'
LLINPUT_NUMPAD_MULTIPLY "Numpad*" '*'
LLINPUT_NUMPAD_DECIMAL "Numpad." '.'
LLINPUT_NUMPAD_0 "Numpad0" '0'
LLINPUT_NUMPAD_1 "Numpad1" '1'
LLINPUT_NUMPAD_2 "Numpad2" '2'
LLINPUT_NUMPAD_3 "Numpad3" '3'
LLINPUT_NUMPAD_4 "Numpad4" '4'
LLINPUT_NUMPAD_5 "Numpad5" '5'
LLINPUT_NUMPAD_6 "Numpad6" '6'
LLINPUT_NUMPAD_7 "Numpad7" '7'
LLINPUT_NUMPAD_8 "Numpad8" '8'
LLINPUT_NUMPAD_9 "Numpad9" '9'
LLINPUT_LSHIFT "ShiftLeft"
LLINPUT_RSHIFT "ShiftRight"
LLINPUT_LCONTROL "ControlLeft"
LLINPUT_RCONTROL "ControlRight"
LLINPUT_SYSRQ "Sysrequest"
LLINPUT_CAPITAL "Capital"
LLINPUT_NUMLOCK "Numlock"
LLINPUT_SCROLL "ScrollLock"
LLINPUT_LMENU "AltLeft"
LLINPUT_RMENU "AltRight"
LLINPUT_LWIN "WinkeyLeft"
LLINPUT_RWIN "WinkeyRight"
LLINPUT_APPS "AppMenuKey"
LLINPUT_CHAR "Key c" 'c' c=[ A-Z a-z 0-9 isgraph() 0x9 0x8 ]
LLINPUT_KEY_1 "Key 1" '1'
LLINPUT_KEY_2 "Key 2" '2'
LLINPUT_KEY_3 "Key 3" '3'
LLINPUT_KEY_4 "Key 4" '4'
LLINPUT_KEY_5 "Key 5" '5'
LLINPUT_KEY_6 "Key 6" '6'
LLINPUT_KEY_7 "Key 7" '7'
LLINPUT_KEY_8 "Key 8" '8'
LLINPUT_KEY_9 "Key 9" '9'
LLINPUT_KEY_0 "Key 0" '0'
LLINPUT_KEY_A "Key A" 'A'
LLINPUT_KEY_B "Key B" 'B'
LLINPUT_KEY_C "Key C" 'C'
LLINPUT_KEY_D "Key D" 'D'
LLINPUT_KEY_E "Key E" 'E'
LLINPUT_KEY_F "Key F" 'F'
LLINPUT_KEY_G "Key G" 'G'
LLINPUT_KEY_H "Key H" 'H'
LLINPUT_KEY_I "Key I" 'I'
LLINPUT_KEY_J "Key J" 'J'
LLINPUT_KEY_K "Key K" 'K'
LLINPUT_KEY_L "Key L" 'L'
LLINPUT_KEY_M "Key M" 'M'
LLINPUT_KEY_N "Key N" 'N'
LLINPUT_KEY_O "Key O" 'O'
LLINPUT_KEY_P "Key P" 'P'
LLINPUT_KEY_Q "Key Q" 'Q'
LLINPUT_KEY_R "Key R" 'R'
LLINPUT_KEY_S "Key S" 'S'
LLINPUT_KEY_T "Key T" 'T'
LLINPUT_KEY_U "Key U" 'U'
LLINPUT_KEY_V "Key V" 'V'
LLINPUT_KEY_W "Key W" 'W'
LLINPUT_KEY_X "Key X" 'X'
LLINPUT_KEY_Y "Key Y" 'Y'
LLINPUT_KEY_Z "Key Z" 'Z'
LLINPUT_KEY_MINUS "Key -" '-' - on main keyboard
LLINPUT_KEY_EQUALS "Key =" '='
LLINPUT_KEY_BACK "" '\b' backspace
LLINPUT_KEY_TAB "" '\t' tabulator
LLINPUT_KEY_LBRACKET "Key [" '['
LLINPUT_KEY_RBRACKET "Key ]" ']'
LLINPUT_KEY_RETURN "" '\n Enter on main keyboard
LLINPUT_KEY_SEMICOLON "Key ;" ';'
LLINPUT_KEY_APOSTROPHE "Key '" '\''
LLINPUT_KEY_GRAVE "Key `" '`' accent grave
LLINPUT_KEY_BACKSLASH "Key \" '\\'
LLINPUT_KEY_COMMA "Key ," ','
LLINPUT_KEY_PERIOD "Key ." '.' . on main keyboard
LLINPUT_KEY_SLASH "Key /" '/' / on main keyboard
LLINPUT_KEY_SPACE "Key " ' ' space §>