/[rdesktop]/sourceforge.net/trunk/rdesktop/xkeymap.c
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Diff of /sourceforge.net/trunk/rdesktop/xkeymap.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 67 by jsorg71, Tue Jul 23 01:53:04 2002 UTC revision 70 by astrand, Sat Jul 27 23:09:32 2002 UTC
# Line 35  Line 35 
35  extern Display *display;  extern Display *display;
36  extern char keymapname[16];  extern char keymapname[16];
37  extern int keylayout;  extern int keylayout;
38    extern BOOL enable_compose;
39    
40  static key_translation keymap[KEYMAP_SIZE];  static key_translation keymap[KEYMAP_SIZE];
41  static unsigned int min_keycode;  static unsigned int min_keycode;
# Line 120  xkeymap_read(char *mapname) Line 121  xkeymap_read(char *mapname)
121                          continue;                          continue;
122                  }                  }
123    
124                    /* compose */
125                    if (strncmp(line, "enable_compose", 15) == 0)
126                    {
127                            DEBUG_KBD("Enabling compose handling\n");
128                            enable_compose = True;
129                            continue;
130                    }
131    
132                  /* Comment */                  /* Comment */
133                  if (line[0] == '#')                  if (line[0] == '#')
134                  {                  {
# Line 163  xkeymap_read(char *mapname) Line 172  xkeymap_read(char *mapname)
172                          MASK_ADD_BITS(modifiers, MapNumLockMask);                          MASK_ADD_BITS(modifiers, MapNumLockMask);
173                  }                  }
174    
175                    if (strstr(line_rest, "localstate"))
176                    {
177                            MASK_ADD_BITS(modifiers, MapLocalStateMask);
178                    }
179    
180                  add_to_keymap(keyname, scancode, modifiers, mapname);                  add_to_keymap(keyname, scancode, modifiers, mapname);
181    
182                  if (strstr(line_rest, "addupper"))                  if (strstr(line_rest, "addupper"))
# Line 211  xkeymap_init2(void) Line 225  xkeymap_init2(void)
225    
226    
227  key_translation  key_translation
228  xkeymap_translate_key(KeySym keysym, unsigned int keycode)  xkeymap_translate_key(KeySym keysym, unsigned int keycode, unsigned int state)
229  {  {
230          key_translation tr = { 0, 0 };          key_translation tr = { 0, 0 };
231    
232          tr = keymap[keysym & KEYMAP_MASK];          tr = keymap[keysym & KEYMAP_MASK];
233    
234            if (tr.modifiers & MapLocalStateMask)
235            {
236                    /* The modifiers to send for this key should be obtained
237                       from the local state. Currently, only shift is implemented. */
238                    if (state & ShiftMask)
239                    {
240                            tr.modifiers = MapLeftShiftMask;
241                    }
242            }
243    
244          if (tr.scancode != 0)          if (tr.scancode != 0)
245          {          {
246                  DEBUG_KBD                  DEBUG_KBD

Legend:
Removed from v.67  
changed lines
  Added in v.70

  ViewVC Help
Powered by ViewVC 1.1.26