home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / Programming / Misc / TRSICAT.LZX / CATS_CD2_TRSI / Inc&AD1.3 / Includes / devices / keymap.h < prev    next >
Encoding:
C/C++ Source or Header  |  1992-09-12  |  1.7 KB  |  74 lines

  1. #ifndef DEVICES_KEYMAP_H
  2. #define DEVICES_KEYMAP_H
  3. /*
  4. **    $Filename: devices/keymap.h $
  5. **    $Release: 1.3 $
  6. **
  7. **    keymap.resource definitions and console.device key map definitions 
  8. **
  9. **    (C) Copyright 1985,1986,1987,1988 Commodore-Amiga, Inc.
  10. **        All Rights Reserved
  11. */
  12.  
  13. #ifndef EXEC_NODES_H
  14. #include    "exec/nodes.h"
  15. #endif
  16. #ifndef EXEC_LISTS_H
  17. #include    "exec/lists.h"
  18. #endif
  19.  
  20. struct     KeyMap {
  21.     UBYTE   *km_LoKeyMapTypes;
  22.     ULONG   *km_LoKeyMap;
  23.     UBYTE   *km_LoCapsable;
  24.     UBYTE   *km_LoRepeatable;
  25.     UBYTE   *km_HiKeyMapTypes;
  26.     ULONG   *km_HiKeyMap;
  27.     UBYTE   *km_HiCapsable;
  28.     UBYTE   *km_HiRepeatable;
  29. };
  30.  
  31. struct    KeyMapNode {
  32.     struct Node kn_Node;    /* including name of keymap */
  33.     struct KeyMap kn_KeyMap;
  34. };
  35.  
  36. /* the structure of keymap.resource */
  37. struct    KeyMapResource {
  38.     struct Node kr_Node;
  39.     struct List kr_List;    /* a list of KeyMapNodes */
  40. };
  41.  
  42. /* Key Map Types */
  43. #define     KC_NOQUAL   0
  44. #define     KC_VANILLA  7        /* note that SHIFT+ALT+CTRL is VANILLA */
  45. #define     KCB_SHIFT   0
  46. #define     KCF_SHIFT   0x01
  47. #define     KCB_ALT     1
  48. #define     KCF_ALT     0x02
  49. #define     KCB_CONTROL 2
  50. #define     KCF_CONTROL 0x04
  51. #define     KCB_DOWNUP  3
  52. #define     KCF_DOWNUP  0x08
  53.  
  54. #define     KCB_DEAD    5        /* may be dead or modified by dead key: */
  55. #define     KCF_DEAD    0x20    /*   use dead prefix bytes        */
  56.  
  57. #define     KCB_STRING  6
  58. #define     KCF_STRING  0x40
  59.  
  60. #define     KCB_NOP     7
  61. #define     KCF_NOP     0x80
  62.  
  63.  
  64. /* Dead Prefix Bytes */
  65. #define DPB_MOD        0
  66. #define DPF_MOD        0x01
  67. #define DPB_DEAD    3
  68. #define DPF_DEAD    0x08
  69.  
  70. #define DP_2DINDEXMASK    0x0f    /* mask for index for 1st of two dead keys */
  71. #define DP_2DFACSHIFT    4    /* shift for factor for 1st of two dead keys */
  72.  
  73. #endif    /* DEVICES_KEYMAP_H */
  74.