Keyboard Manager
BB00 KM_INITIALIZE BB03 KM_RESET
Keyboard Queue
BB06 KM_WAIT_CHAR out: A=char (waits until valid char) ;\function keys BB09 KM_READ_CHAR out: A=char, or cy=0=none ;/expanded BB0C KM_CHAR_RETURN in: A=char (writeback max one char to keybuf) BB18 KM_WAIT_KEY out: A=char (waits until key pressed) ;\function keys BB1B KM_READ_KEY out: A=char, or cy=0=none ;/not expanded BD3D KM_FLUSH_664 calls KM_READ_CHAR until cy=0 (664 and up only)
Keyboard Key States
BB1E KM_TEST_KEY in: A=keyno, out: nz=pressed, C=ctrl/shift flags BB24 KM_GET_JOYSTICK out: H=joystick 0, L=joystick 1 BB21 KM_GET_LOCKS out: H=caps lock (caps), L=shift lock (ctrl+caps) BD3A KM_SET_LOCKS_664 in: H=caps lock (caps), L=shift lock (664 and up only)
Keyboard Character Translation
BB27 KM_SET_TRANSLATE in: A=keyno, B=char (normal) BB2A KM_GET_TRANSLATE in: A=keyno, out: A=char (normal) BB2D KM_SET_SHIFT in: A=keyno, B=char (with shift) BB30 KM_GET_SHIFT in: A=keyno, out: A=char (with shift) BB33 KM_SET_CTRL in: A=keyno, B=char (with control) BB36 KM_GET_CTRL in: A=keyno, out: A=char (with control)
Keyboard Function Key Translation
BB0F KM_SET_EXPAND in: B=code, HL=ptr to new string, C=length BB12 KM_GET_EXPAND in: A=code (0-1F,80-9F), L=index, out:A=char, cy,zf BB15 KM_EXP_BUF_RESET in: de=begin, hl=length of buffer, out: cy: 1=okay
Keyboard Repeat Enable/Delay
BB39 KM_SET_REPEAT in: A=keyno, B=repeat flag (FFh=on) BB3C KM_GET_REPEAT in: A=keyno, out: nz=repeat BB3F KM_SET_DELAY in: H=1st delay, L=repeat delay ;HL=1E02h=default BB42 KM_GET_DELAY out: H=1st delay, L=repeat delay
Keyboard Break
BB45 KM_ARM_BREAK in: de=procedure, c=ROM config BB48 KM_DISARM_BREAK in: none BB4B KM_BREAK_EVENT BDEE HOOK_KM_TEST_BREAK BDF4 HOOK_KM_SCAN_KEYS_664 (664 and up only)