home *** CD-ROM | disk | FTP | other *** search
/ AMIGA PD 1 / AMIGA-PD-1.iso / Programme_zum_Heft / Programmieren / Kurztests / PascalPCQ / Include / Devices / Keymap.i < prev    next >
Text File  |  1990-08-28  |  1KB  |  75 lines

  1. {
  2.     Keymap.i for PCQ Pascal
  3.  
  4.     keymap.resource definitions and console.device key map definitions
  5. }
  6.  
  7. {$I "Include:Exec/Nodes.i"}
  8. {$I "Include:Exec/Lists.i"}
  9.  
  10. Type
  11.  
  12.     KeyMap = record
  13.     km_LoKeyMapTypes    : Address;
  14.     km_LoKeyMap        : Address;
  15.     km_LoCapsable        : Address;
  16.     km_LoRepeatable        : Address;
  17.     km_HiKeyMapTypes    : Address;
  18.     km_HiKeyMap        : Address;
  19.     km_HiCapsable        : Address;
  20.     km_HiRepeatable        : Address;
  21.     end;
  22.     KeyMapPtr = ^KeyMap;
  23.  
  24.  
  25.     KeyMapNode = record
  26.     kn_Node        : Node;        { including name of keymap }
  27.     kn_KeyMap    : KeyMap;
  28.     end;
  29.     KeyMapNodePtr = ^KeyMapNode;
  30.  
  31. { the structure of keymap.resource }
  32.  
  33.     KeyMapResource = record
  34.     kr_Node        : Node;
  35.     kr_List        : List;        { a list of KeyMapNodes }
  36.     end;
  37.     KeyMapResourcePtr = ^KeyMapResource;
  38.  
  39.  
  40. Const
  41.  
  42. { Key Map Types }
  43.  
  44.     KC_NOQUAL        = 0;
  45.     KC_VANILLA        = 7;    { note that SHIFT+ALT+CTRL is VANILLA }
  46.     KCB_SHIFT        = 0;
  47.     KCF_SHIFT        = $01;
  48.     KCB_ALT        = 1;
  49.     KCF_ALT        = $02;
  50.     KCB_CONTROL        = 2;
  51.     KCF_CONTROL        = $04;
  52.     KCB_DOWNUP        = 3;
  53.     KCF_DOWNUP        = $08;
  54.  
  55.     KCB_DEAD        = 5;    { may be dead or modified by dead key:    }
  56.     KCF_DEAD        = $20;    {   use dead prefix bytes        }
  57.  
  58.     KCB_STRING        = 6;
  59.     KCF_STRING        = $40;
  60.  
  61.     KCB_NOP        = 7;
  62.     KCF_NOP        = $80;
  63.  
  64.  
  65. { Dead Prefix Bytes }
  66.  
  67.     DPB_MOD        = 0;
  68.     DPF_MOD        = $01;
  69.     DPB_DEAD        = 3;
  70.     DPF_DEAD        = $08;
  71.  
  72.     DP_2DINDEXMASK    = $0f;    { mask for index for 1st of two dead keys }
  73.     DP_2DFACSHIFT    = 4;    { shift for factor for 1st of two dead keys }
  74.  
  75.