Alcor6L/eLua/term

This module contains functions for accessing ANSI-compatible terminals (and terminal emulators) from Lua.

FunctionsEdit

term.clrscrEdit

Clear the screen

term.clrscr()

term.clreolEdit

Clear from the current cursor position to the end of the line

term.clreol()

term.movetoEdit

Move the cursor to the specified coordinates

term.moveto( x, y )
  • x - the column (starting with 1)
  • y - the line (starting with 1)

term.moveupEdit

Move the cursor up

term.moveup( delta )
  • delta - number of lines to move the cursor up.

term.movedownEdit

Move the cursor down

term.movedown( delta )
  • delta - number of lines to move the cursor down

term.moveleftEdit

Move the cursor left

term.moveleft( delta )
  • delta - number of columns to move the cursor left

term.moverightEdit

Move the cursor right

term.moveright( delta )
  • delta - number of columns to move the cursor right

term.getlinesEdit

Get the number of lines in the terminal

numlines = term.getlines()

Returns:

  • numlines - The number of lines in the terminal

term.getcolsEdit

Get the number of columns in the terminal

numcols = term.getcols()

Returns:

  • numcols - The number of columns in the terminal

term.printEdit

Write one or more strings in the terminal

term.print( [ x, y ], str1, [ str2, ..., strn ] )
  • x (optional) - write the string at this column. If x is specified, y must also be specified
  • y (optional) - write the string at this line. If y is specified, x must also be specified
  • str1 - the first string to write
  • str2 (optional) - the second string to write
  • strn (optional) - the nth string to write

getcxEdit

Get the current column of the cursor

cx = term.getcx()

Returns:

  • cx - The column of the cursor

term.getcyEdit

Get the current line of the cursor

cy = term.getcy()

Returns:

  • cy - The line of the cursor

term.getcharEdit

Read a char (a key press) from the terminal

ch = term.getchar( [ mode ] )
  • mode (optional) - terminal input mode. It can be either:
    • term.WAIT - wait for a key to be pressed, then return it. This is the default behaviour if mode is not specified.
    • term.NOWAIT - if a key was pressed on the terminal return it, otherwise return -1.

Returns:

  • ch - The char read from a terminal or -1 if no char is available. The 'char' can be an actual ASCII char, or a 'pseudo-char' which encodes special keys on the keyboard. The list of the special chars and their meaning is given in the table below:
Key code Meaning
KC_UP the UP key on the terminal
KC_DOWN the DOWN key on the terminal
KC_LEFT the LEFT key on the terminal
KC_RIGHT the RIGHT key on the terminal
KC_HOME the HOME key on the terminal
KC_END the END key on the terminal
KC_PAGEUP the PAGE UP key on the terminal
KC_PAGEDOWN the PAGE DOWN key on the terminal
KC_ENTER the ENTER (CR) key on the terminal
KC_TAB the TAB key on the terminal
KC_BACKSPACE the BACKSPACE key on the terminal
KC_ESC the ESC (escape) key on the terminal