There are the following primitive words for input and output:
KEY
KEY
EKEY
KEY?
KEY
EMIT
TYPE
To get the current cursor position, use AT-XY
AT-XY ( col row -- )
KEY? ( -- flag )
EKEY ( -- keycode )
EKEY>CHAR ( keycode -- keycode false | char true )
EKEY? ( -- flag )
EMIT? ( -- flag )
MS ( n -- )
TIME&DATE ( -- sec min hrs day month year )
AT-XY ( col row -- )
reference: p4_at_x_y in ../src/facility.c:0050, export CO AT-XY
KEY? ( -- flag )
KEY
reference: p4_key_question in ../src/facility.c:0060, export CO KEY?
EKEY ( -- keycode )
reference: p4_ekey in ../src/facility.c:0071, export CO EKEY
EKEY>CHAR ( keycode -- keycode false | char true )
reference: p4_ekey_to_char in ../src/facility.c:0078, export CO EKEY>CHAR
EKEY? ( -- flag )
KEY?
reference: p4_ekey_question in ../src/facility.c:0089, export CO EKEY?
EMIT? ( -- flag )
EMIT
reference: p4_emit_question in ../src/facility.c:0098, export CO EMIT?
MS ( n -- )
reference: p4_ms in ../src/facility.c:0106, export CO MS
TIME&DATE ( -- sec min hrs day month year )
reference: p4_time_and_date in ../src/facility.c:0114, export CO TIME&DATE