Changes
Created page with '== 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_CHA…'
== 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)
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)