Annotation of coherent/a/usr/man/COHERENT/nkb, revision 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.