Annotation of coherent/a/usr/man/COHERENT/nkb, revision 1.1.1.1

1.1       root        1: 
                      2: 
                      3: nkb                       Device Driver                       nkb
                      4: 
                      5: 
                      6: 
                      7: 
                      8: Device driver for console keyboard
                      9: 
                     10: 
                     11: The  COHERENT device-driver  nnkkbb supports  industry-standard 83-,
                     12: 101-, and 102-key  AT-protocol keyboards attached as the computer
                     13: console.
                     14: 
                     15: nnkkbb  lets you  define both  the  layout of  the keyboard  and the
                     16: values  returned by  function keys.   You  can change  layout and
                     17: function-key  bindings  by  using  the special  keyboard  mapping
                     18: programs kept in directory /ccoonnff/kkbbdd. This directory contains the
                     19: C source code for the mapping  tables, as well as a MMaakkeeffiillee that
                     20: helps you rebuild  the mapping programs.  See the Lexicon article
                     21: kkeeyybbooaarrdd ttaabblleess for details.
                     22: 
                     23: nnkkbb understands the following ``shift'' and ``lock'' keys:
                     24: 
                     25: 
                     26:           ssccrroollll  Scroll lock
                     27:           nnuumm     Keypad NUM lock
                     28:           ccaappss    Shift or CAPS lock
                     29:           llaalltt    Left ALT key
                     30:           rraalltt    Right ALT key
                     31:           llsshhiifftt  Left SHIFT key
                     32:           rrsshhiifftt  Right SHIFT key
                     33:           llccttrrll   Left CTRL key
                     34:           rrccttrrll   Right CTRL key
                     35:           aallttggrr   ALT Graphic key (non-US keyboards)
                     36: 
                     37: 
                     38: nnkkbb records  an internal shift  state, as defined  by the current
                     39: positions  of the  shift and  lock  keys.  The  shift state  is a
                     40: logical  combination of  internal  states SSHHIIFFTT,  CCTTRRLL, AALLTT,  and
                     41: AALLTT_GGRR. The  llsshhiifftt and rrsshhiifftt  keys combine to  form the current
                     42: SSHHIIFFTT state  for non-alphabetic keys.   Alphabetic keys generally
                     43: use the current state of the  ccaappss lock key in addition to llsshhiifftt
                     44: and rrsshhiifftt.  Numeric keys found  on the keypad  generally use the
                     45: state of  the nnuumm lock  key combined with llsshhiifftt  and rrsshhiifftt. The
                     46: two  ``control'' keys,  llccttrrll and rrccttrrll,  form the  internal CCTTRRLL
                     47: state.  In a similar manner, the two ``alt'' keys, llaalltt and rraalltt,
                     48: form  the  internal  AALLTT  state.   Note  that  102-key  keyboards
                     49: generally  replace the  rraalltt  key with  the aallttggrr  key, to  allow
                     50: access  to  the  alternate  graphics  characters  found  on  some
                     51: keyboards.
                     52: 
                     53: nnkkbb lets  you configure or  read the internal  mapping tables via
                     54: the  following  iiooccttll()  requests,  as  defined  in  header  file
                     55: <ssggttttyy.hh>:
                     56: 
                     57: 
                     58: 
                     59: 
                     60: 
                     61: 
                     62: 
                     63: 
                     64: COHERENT Lexicon                                           Page 1
                     65: 
                     66: 
                     67: 
                     68: 
                     69: nkb                       Device Driver                       nkb
                     70: 
                     71: 
                     72: 
                     73:           TTIIOOCCGGEETTFF  Get function key bindings
                     74:           TTIIOOCCSSEETTFF  Set function key bindings
                     75:           TTIIOOCCGGEETTKKBBTTGet keyboard table bindings
                     76:           TTIIOOCCSSEETTKKBBTTSet keyboard table bindings
                     77: 
                     78: 
                     79: Requests TTIIOOCCGGEETTFF and TTIIOOCCSSEETTFF reference a data structure of type
                     80: FFNNKKEEYY,  which is  a ttyyppeeddeeff  defined  in header  file <ssyyss/kkbb.hh>.
                     81: Structure  member kk_ffnnvvaall  is a character  array that  contains a
                     82: series of contiguous  function key/value bindings; the end of the
                     83: bindings is  marked by manifest  constant DDEELLIIMM. You  can use any
                     84: value  other  than  DDEELLIIMM  as  part  of a  function-key  binding.
                     85: Structure member  kk_nnffkkeeyyss indicates how many  function keys have
                     86: associated entries  in kk_ffnnvvaall.  Function keys are  numbered from
                     87: zero through kk_nnffkkeeyyss-1.
                     88: 
                     89: By convention, function-key  0, when enabled, causes the computer
                     90: system to reboot.  This function  key is usually bound to the key
                     91: sequence <ccttrrll><aalltt><ddeell>, but  you can disable it by setting the
                     92: value of driver-variable KKBBBBOOOOTT_ to zero.
                     93: 
                     94: Requests  TTIIOOCCGGEETTKKBBTT  and  TTIIOOCCSSEETTKKBBTT  reference  an  array  that
                     95: contains MMAAXX_KKEEYYSS occurrences of data structure KKBBTTBBLL, which is a
                     96: ttyyppeeddeeff
                     97:  defined  in  header  file  <ssyyss/kkbb.hh>.  Structure  member  kk_kkeeyy
                     98: contains the _s_c_a_n _c_o_d_e _s_e_t  _t_h_r_e_e code value for the desired key.
                     99: Header file <ssyyss/kkbbssccaann.hh> contains manifest (symbolic) constants
                    100: of the form KK__n_n_n, which  map AT keyboard _p_h_y_s_i_c_a_l key number _n_n_n
                    101: to the  corresponding scan-code set-three value  generated by the
                    102: keyboard.   Note  that  the  nnkkbb  driver disables  the  scan-code
                    103: translation  that the keyboard  controller normally  performs, as
                    104: well as setting the keyboard to scan code set three.
                    105: 
                    106: Structure member kk_vvaall  is a nine-element array that contains the
                    107: key mappings  that correspond to  the following index  values and
                    108: shift states:
                    109: 
                    110: 
                    111:           00         BBAASSEE
                    112:           11         SSHHIIFFTT
                    113:           22         CCTTRRLL
                    114:           33         CCTTRRLL_SSHHIIFFTT
                    115:           44         AALLTT
                    116:           55         AALLTT_SSHHIIFFTT
                    117:           66         AALLTT_CCTTRRLL
                    118:           77         AALLTT_CCTTRRLL_SSHHIIFFTT
                    119:           88         AALLTT_GGRR
                    120: 
                    121: 
                    122: Structure member kk_ffllaaggss  contains mode information for the given
                    123: key.  One field in kk_ffllaaggss indicates the _c_l_a_s_s of key.  This sub-
                    124: field  lets you  specify whether  a  key is  a ``shift''  key (as
                    125: defined above), a  special or programmable ``function'' key, or a
                    126: ``regular''  key.  The following  symbolic constants  specify the
                    127: _c_l_a_s_s of key:
                    128: 
                    129: 
                    130: COHERENT Lexicon                                           Page 2
                    131: 
                    132: 
                    133: 
                    134: 
                    135: nkb                       Device Driver                       nkb
                    136: 
                    137: 
                    138: 
                    139: 
                    140: SS    The specified key is a ``shift'' or ``lock'' key.  Note that
                    141:      all entries in array kk_vvaall must be identical for a ``shift''
                    142:      or ``lock'' key to work correctly.
                    143: 
                    144: FF    The  specified key  is a ``function''  or special  key.  The
                    145:      value of all elements of array kk_vvaall must specify a function
                    146:      key number.  See header file <kkbb.hh> for a list of predefined
                    147:      function keys.
                    148: 
                    149: OO    The  specified key  is ``regular''  and requires  no special
                    150:      processing.
                    151: 
                    152: The  next sub-field  of  kk_ffllaaggss specifies  the _t_y_p_e  of key,  as
                    153: specified in the  AT keyboard technical reference.  The _t_y_p_e sub-
                    154: field specifies  under what conditions a  given key will generate
                    155: an interrupt.  The possible choices are:
                    156: 
                    157: MM    Make: generate  an interrupt  only upon key  ``make'' (i.e.,
                    158:      when the  key is depressed).   This mode is  useful for keys
                    159:      which  do  not  repeat.   Note  that  using this  mode  with
                    160:      ``shift'' keys stops you from unshifting upon release of the
                    161:      key!
                    162: 
                    163: TT    Typematic: generate an  interrupt when the key is depressed,
                    164:      and generate subsequent  key-depression interrupts while the
                    165:      key  is  depressed.    The  rate  at  which  interrupts  are
                    166:      generated  is  specified   by  the  typematic  rate  of  the
                    167:      keyboard.    This  type   is  usually   associated   with  a
                    168:      ``regular'' key.
                    169: 
                    170: MMBB   Make/Break: generate an interrupt when the key is depressed,
                    171:      and  when  it is  released.   No  additional interrupts  are
                    172:      generated  no matter  how long the  key is  depressed.  This
                    173:      mode is used for ``shift'' keys.
                    174: 
                    175: TTMMBB  Typematic/Make/Break: generate an  interrupt when the key is
                    176:      first   depressed;   generate   subsequent  key   depression
                    177:      interrupts while the  key remains depressed; and generate an
                    178:      interrupt when the key is released.
                    179: 
                    180: The last  sub-field of kk_ffllaaggss  specifies the _l_o_c_k  keys, if any,
                    181: that affect the specified key:
                    182: 
                    183: CC    The ccaappss  lock key that affects this  key.  If the specified
                    184:      key is depressed while ccaappss lock is active, it is equivalent
                    185:      to having used either of the SHIFT keys with this key.  When
                    186:      ccaappss  lock is  in effect,  use of either  of the  SHIFT keys
                    187:      temporarily toggles the state of the ccaappss lock.
                    188: 
                    189: NN    The nnuumm lock key affects  this key.  If the specified key is
                    190:      depressed  while nnuumm  lock is  active,  it is  equivalent to
                    191:      having used either of the SHIFT keys in conjunction with the
                    192:      specified key.  When nnuumm lock is in effect, use of either of
                    193:      the  SHIFT keys  temporarily toggles  the  state of  the nnuumm
                    194: 
                    195: 
                    196: COHERENT Lexicon                                           Page 3
                    197: 
                    198: 
                    199: 
                    200: 
                    201: nkb                       Device Driver                       nkb
                    202: 
                    203: 
                    204: 
                    205:      lock.
                    206: 
                    207: ***** References  ***** _T_e_c_h_n_i_c_a_l _R_e_f_e_r_e_n_c_e _f_o_r  _t_h_e _I_B_M _P_e_r_s_o_n_a_l
                    208: _C_o_m_p_u_t_e_r _A_T, IBM Corporation, 1984.
                    209: 
                    210: _M_u_l_t_i-_F_u_n_c_t_i_o_n  _K_e_y_b_o_a_r_d_s:  _L_a_y_o_u_t_s,  Cherry Electrical  Products
                    211: Corp.
                    212: 
                    213: ***** See Also *****
                    214: 
                    215: ddeevviiccee ddrriivveerrss, ffnnkkeeyy, kkeeyybbooaarrdd ttaabblleess
                    216: 
                    217: 
                    218: 
                    219: 
                    220: 
                    221: 
                    222: 
                    223: 
                    224: 
                    225: 
                    226: 
                    227: 
                    228: 
                    229: 
                    230: 
                    231: 
                    232: 
                    233: 
                    234: 
                    235: 
                    236: 
                    237: 
                    238: 
                    239: 
                    240: 
                    241: 
                    242: 
                    243: 
                    244: 
                    245: 
                    246: 
                    247: 
                    248: 
                    249: 
                    250: 
                    251: 
                    252: 
                    253: 
                    254: 
                    255: 
                    256: 
                    257: 
                    258: 
                    259: 
                    260: 
                    261: 
                    262: COHERENT Lexicon                                           Page 4
                    263: 
                    264: 

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.