Most terminals send information to the operating system only in the form of keytop values, which are the characters that appear on the faces of the keys. However, a few terminals can also send PC scancodes, which are unique values associated with the depression and the release of each key. Several applications and environments now use PC scancodes and more are under development.
A scancode application running on a terminal that is in
PC-scancode mode can access more distinct
keystrokes than character mode would provide. For example,
if you set your terminal to character mode and press the
key labeled ``A'', your terminal sends a single value (the
ASCII value of ``a'') to your application.
However, if you set your terminal to scancode mode and
press the key labeled ``A'', your terminal sends one value
when you depress the key and a second value when you
release the key. A scancode application translates these
scancode values according to a predetermined map.