[BACK]Return to kbd.h CVS log [TXT][DIR] Up to [local] / src / usr.bin / mg

Diff for /src/usr.bin/mg/kbd.h between version 1.16 and 1.17

version 1.16, 2005/06/14 18:14:40 version 1.17, 2005/11/18 20:56:53
Line 6 
Line 6 
  * kbd.h: type definitions for symbol.c and kbd.c for mg experimental   * kbd.h: type definitions for symbol.c and kbd.c for mg experimental
  */   */
   
 typedef struct {  struct map_element {
         KCHAR    k_base;                /* first key in element          */          KCHAR            k_base;        /* first key in element          */
         KCHAR    k_num;                 /* last key in element           */          KCHAR            k_num;         /* last key in element           */
         PF      *k_funcp;               /* pointer to array of pointers  */          PF              *k_funcp;       /* pointer to array of pointers  */
                                         /* to functions                  */                                          /* to functions                  */
         struct keymap_s *k_prefmap;     /* keymap of ONLY prefix key in  */          struct keymap_s *k_prefmap;     /* keymap of ONLY prefix key in  */
                                         /* element                       */                                          /* element                       */
 } MAP_ELEMENT;  };
   
 /*  /*
  * Predefined keymaps are NOT type KEYMAP because final array needs   * Predefined keymaps are NOT type KEYMAP because final array needs
Line 22 
Line 22 
  */   */
   
 #define KEYMAPE(NUM)    {                                               \  #define KEYMAPE(NUM)    {                                               \
         short   map_num;                /* elements used */             \          short   map_num;                        /* elements used */     \
         short   map_max;                /* elements allocated */        \          short   map_max;                        /* elements allocated */\
         PF      map_default;            /* default function */          \          PF      map_default;                    /* default function */  \
         MAP_ELEMENT map_element[NUM];   /* really [e_max] */            \          struct map_element map_element[NUM];    /* really [e_max] */    \
 }  }
 typedef struct keymap_s KEYMAPE(1) KEYMAP;  typedef struct keymap_s KEYMAPE(1) KEYMAP;
   
Line 37 
Line 37 
 /* Max number of default bindings added to avoid creating new element */  /* Max number of default bindings added to avoid creating new element */
 #define MAPELEDEF 4  #define MAPELEDEF 4
   
 typedef struct MAPS_S {  struct maps_s {
         KEYMAP          *p_map;          KEYMAP          *p_map;
         const char      *p_name;          const char      *p_name;
         struct MAPS_S   *p_next;          struct maps_s   *p_next;
 } MAPS;  };
   
 extern MAPS     *maps;  extern struct maps_s    *maps;
 extern MAPS     fundamental_mode;  extern struct maps_s    fundamental_mode;
 #define         fundamental_map (fundamental_mode.p_map)  #define         fundamental_map (fundamental_mode.p_map)
   
 int      dobindkey(KEYMAP *, const char *, const char *);  int              dobindkey(KEYMAP *, const char *, const char *);
 KEYMAP  *name_map(const char *);  KEYMAP          *name_map(const char *);
 MAPS    *name_mode(const char *);  struct maps_s   *name_mode(const char *);
 PF       doscan(KEYMAP *, int, KEYMAP **);  PF               doscan(KEYMAP *, int, KEYMAP **);
 const    char *map_name(KEYMAP *);  const            char *map_name(KEYMAP *);
 void     maps_init(void);  void             maps_init(void);
 int      maps_add(KEYMAP *, const char *);  int              maps_add(KEYMAP *, const char *);
   
 extern MAP_ELEMENT      *ele;  extern struct map_element       *ele;
 extern MAPS             *defb_modes[];  extern struct maps_s            *defb_modes[];

Legend:
Removed from v.1.16  
changed lines
  Added in v.1.17