[Contents] [Index] [Help] [Retrace] [browse <] [Browse >]

        IFND    DEVICES_KEYMAP_I
DEVICES_KEYMAP_I        SET     1
**
**      $Filename: devices/keymap.i $
**      $Release: 2.04 Includes, V37.4 $
**      $Revision: 36.3 $
**      $Date: 90/04/13 $
**
**      key map definitions for keymap.resource, keymap.library, and
**      console.device
**
**      (C) Copyright 1985-1999 Amiga, Inc.
**          All Rights Reserved
**

       IFND     EXEC_NODES_I
       INCLUDE  "exec/nodes.i"
       ENDC
       IFND     EXEC_LISTS_I
       INCLUDE  "exec/lists.i"
       ENDC

 STRUCTURE  KeyMap,0
   APTR  km_LoKeyMapTypes
   APTR  km_LoKeyMap
   APTR  km_LoCapsable
   APTR  km_LoRepeatable
   APTR  km_HiKeyMapTypes
   APTR  km_HiKeyMap
   APTR  km_HiCapsable
   APTR  km_HiRepeatable
   LABEL km_SIZEOF

 STRUCTURE      KeyMapNode,0
    STRUCT  kn_Node,LN_SIZE     ; including name of keymap
    STRUCT  kn_KeyMap,km_SIZEOF
    LABEL   kn_SIZEOF

;------ the structure of keymap.resource
 STRUCTURE      KeyMapResource,0
    STRUCT  kr_Node,LN_SIZE
    STRUCT  kr_List,LH_SIZE     ; a list of KeyMapNodes
    LABEL   kr_SIZEOF


KCB_NOP     EQU   7
KCF_NOP     EQU   $80

KC_NOQUAL   EQU   0
KC_VANILLA  EQU   7           ; note that SHIFT+ALT+CTRL is VANILLA
KCB_SHIFT   EQU   0
KCF_SHIFT   EQU   $01
KCB_ALT     EQU   1
KCF_ALT     EQU   $02
KCB_CONTROL EQU   2
KCF_CONTROL EQU   $04
KCB_DOWNUP  EQU   3
KCF_DOWNUP  EQU   $08
KCB_DEAD    EQU   5             ; may be dead or modified by dead key:
KCF_DEAD    EQU   $20           ;   use dead prefix bytes

KCB_STRING  EQU   6
KCF_STRING  EQU   $40

;------ Dead Prefix Bytes
DPB_MOD EQU     0
DPF_MOD EQU     $01
DPB_DEAD        EQU     3
DPF_DEAD        EQU     $08

DP_2DINDEXMASK  EQU     $0F     ; mask for index for 1st of two dead keys
DP_2DFACSHIFT   EQU     4       ; shift for factor for 1st of two dead keys

        ENDC    ; DEVICES_KEYMAP_I