/[emacs]/emacs/src/xterm.c
ViewVC logotype

Diff of /emacs/src/xterm.c

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

revision 1.843 by kfstorm, Mon Oct 4 14:07:06 2004 UTC revision 1.844 by jhd, Tue Oct 5 10:52:53 2004 UTC
# Line 3383  x_find_modifier_meanings (dpyinfo) Line 3383  x_find_modifier_meanings (dpyinfo)
3383       Alt keysyms are on.  */       Alt keysyms are on.  */
3384    {    {
3385      int row, col;       /* The row and column in the modifier table.  */      int row, col;       /* The row and column in the modifier table.  */
3386        int found_alt_or_meta;
3387    
3388      for (row = 3; row < 8; row++)      for (row = 3; row < 8; row++)
3389        {
3390          found_alt_or_meta = 0;
3391        for (col = 0; col < mods->max_keypermod; col++)        for (col = 0; col < mods->max_keypermod; col++)
3392          {          {
3393            KeyCode code            KeyCode code = mods->modifiermap[(row * mods->max_keypermod) + col];
             = mods->modifiermap[(row * mods->max_keypermod) + col];  
3394    
3395            /* Zeroes are used for filler.  Skip them.  */            /* Zeroes are used for filler.  Skip them.  */
3396            if (code == 0)            if (code == 0)
# Line 3406  x_find_modifier_meanings (dpyinfo) Line 3408  x_find_modifier_meanings (dpyinfo)
3408                    {                    {
3409                    case XK_Meta_L:                    case XK_Meta_L:
3410                    case XK_Meta_R:                    case XK_Meta_R:
3411                        found_alt_or_meta = 1;
3412                      dpyinfo->meta_mod_mask |= (1 << row);                      dpyinfo->meta_mod_mask |= (1 << row);
3413                      break;                      break;
3414    
3415                    case XK_Alt_L:                    case XK_Alt_L:
3416                    case XK_Alt_R:                    case XK_Alt_R:
3417                        found_alt_or_meta = 1;
3418                      dpyinfo->alt_mod_mask |= (1 << row);                      dpyinfo->alt_mod_mask |= (1 << row);
3419                      break;                      break;
3420    
3421                    case XK_Hyper_L:                    case XK_Hyper_L:
3422                    case XK_Hyper_R:                    case XK_Hyper_R:
3423                      dpyinfo->hyper_mod_mask |= (1 << row);                      if (!found_alt_or_meta)
3424                          dpyinfo->hyper_mod_mask |= (1 << row);
3425                        code_col = syms_per_code;
3426                        col = mods->max_keypermod;
3427                      break;                      break;
3428    
3429                    case XK_Super_L:                    case XK_Super_L:
3430                    case XK_Super_R:                    case XK_Super_R:
3431                      dpyinfo->super_mod_mask |= (1 << row);                      if (!found_alt_or_meta)
3432                          dpyinfo->super_mod_mask |= (1 << row);
3433                        code_col = syms_per_code;
3434                        col = mods->max_keypermod;
3435                      break;                      break;
3436    
3437                    case XK_Shift_Lock:                    case XK_Shift_Lock:
3438                      /* Ignore this if it's not on the lock modifier.  */                      /* Ignore this if it's not on the lock modifier.  */
3439                      if ((1 << row) == LockMask)                      if (!found_alt_or_meta && ((1 << row) == LockMask))
3440                        dpyinfo->shift_lock_mask = LockMask;                        dpyinfo->shift_lock_mask = LockMask;
3441                        code_col = syms_per_code;
3442                        col = mods->max_keypermod;
3443                      break;                      break;
3444                    }                    }
3445                }                }
3446            }            }
3447          }          }
3448        }
3449    }    }
3450    
3451    /* If we couldn't find any meta keys, accept any alt keys as meta keys.  */    /* If we couldn't find any meta keys, accept any alt keys as meta keys.  */

Legend:
Removed from v.1.843  
changed lines
  Added in v.1.844

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26