Communications Manual Rev 3.10  Software Versions 3.xx 
003R-618-310
  Page 27 
7.  Remote Key Interface 
7.1.  Operation 
The indicator polls the REG_KEYBOARD register looking for new key presses to act 
upon.  No new key press is indicated by a value of KEY_NONE in this register.  After 
reading  the  value,  the  unit  sets  REG_KEYBOARD  to  its  default  value  (KEY_NONE).  
Remote control  of the  indicator  is  achieved by writing to this register with the new 
key-code.  Priority is given to the local keyboard and the external key-code is lost. 
7.2.  Key-Codes 
Key-codes  are  divided into physical, logical and  ASCII codes and are represented 
by an unsigned 16-bit value: 
Code Type  RangeMin  RangeMax  Notes 
ASCII  0000
 H
  007F
 H
  Normal ASCII characters including 
<NUL> 00
 H
 
Reserved  0080
 H
  6FFF
 H
  Reserved for future use. 
Logical  7000
 H
  7FFF
 H
   
Physical  8000
 H
  FFFF
 H
   
Physical  codes  represent  the  physical  keys  on  an  indicator.    Logical  codes 
represent  an  indicator  function.  ASCII  codes  are  used  to  enter  data using device 
independent  codes  (eg.  a  numeric  keypad  could  generate  ASCII  codes).    Logical 
characters can be considered to include the ASCII characters as a subset.  Refer to 
Key Codes page 41 for the list of codes. 
7.2.1.  Physical Codes 
Physical keys are numbered from 1 to 63. 
Physical codes are interpreted by the indicator in a device dependent manner. 
Physical keys consist of the KEY_PHYSICAL bit ORed with the numeric value of 
the key (1 to 63).   
eg. (KEY_PHYSICAL  +  1) = 1
st
 physical key, . (KEY_PHYSICAL +  5) = 5
th
 
physical key. 
A long press is indicated by the KEY_PHYSICAL_LONG bit being set.  If not set, 
it is a short press. 
To  handle  two  simultaneous  physical  keys  being  pressed  (to  increase  the 
number of keys available), one key number is ORed into the upper byte of the 
keycode and the other into the lower byte.  The lower numbered key is shifted 
into the MSByte. 
eg. Physical key 1 and Physical key 2:   (KEY_PHYSICAL  |  (1  <<  8)  | 
(2))