KeyV changes for input debounce

Introduction and Overview

Before key presses are inserted into the keyboard buffer by the Kernel a short delay (2 cs.) is enacted. This allows key debounce to be detected and ignored. However, certain input devices are not susceptible to such debounces and this additional delay can be ignored. Kernel versions from 10.23 can have this delay removed by passing a special value in R2 when the keyboard driver is declared present.

Software vectors

Vector KeyV 0KeyV_PresentVector &13
Keyboard present
R0=0 (reason code)
R1=Keyboard ID
R2=&4E6F4B64 to indicate that no delay should be applied; other values indicate that a delay should be applied
R0 - R2=Preserved
Interrupts are undefined
Fast interrupts are undefined
Processor is in undefined mode
Not defined

This reason code is issued by the keyboard driver once it has successfully initialised. The value in R2 will only be obeyed from Kernel 10.23 onward. See PRM 5a-238 for more details.