Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!cs.utexas.edu!uwm.edu!zaphod.mps.ohio-state.edu!think!snorkelwacker!bloom-beacon!EXPO.LCS.MIT.EDU!rws From: rws@EXPO.LCS.MIT.EDU (Bob Scheifler) Newsgroups: comp.windows.x Subject: Re: R4 xterm modmap strangeness Message-ID: <9001122146.AA08136@expire.lcs.mit.edu> Date: 12 Jan 90 21:46:51 GMT References: <9001121719.AA17696@prometheus.think.com> Sender: root@athena.mit.edu (Wizard A. Root) Organization: The Internet Lines: 37 I started out expecting that any keycode appearing in the mod1 modmap would be a meta key, independent of its keysym. Even though Mod1 is called Mod1, not Meta? Hmm, perhaps you're a carryover from R2 (R1?) days, when it was hardwired this way. I'd expect ditto for super, hyper, alt on mod2, mod3, mod4 (or whatever; the Xt doc is unclear on how they map). They map the same way as Meta; they don't map to a specific modifier bit, it's a dynamic assignment. But it appears that in fact to be a meta key (i.e. to set the mod1 state bit in successive key events), a keycode must have either Meta_L or Meta_R in its keysym list, *and* it must set a modifier bit (any mod bit). Close. You really mean "set a modifier state bit" and "set that modifier bit". Why are control & shift different? Because (as I said before) they are viewed as universal, they should always exist on the keyboard. The others are dynamic because the set of modifiers you want for a given set of applications may vary (there can be other modifiers besides the standard ones). It makes is more difficult to have several meta (or control, or whatever) keys, and it seems to me less conceptually clear. Except for bogosity in xmodmap, I don't think it's any harder to have multiple keys. Conceptually, you think of putting labels on all of their keycaps (that's the keysyms). To simplify programmatic keyboard state management wrt focus issues, these keys are tied to modifier bits. xmodmap probably ought to have a better interface for describing this (e.g. "make this set of keys the Meta modifier", which picks a modifier bit for you).