Path: utzoo!attcan!uunet!lll-winken!ames!mailrus!tut.cis.ohio-state.edu!bloom-beacon!LUCID.COM!devin From: devin@LUCID.COM (Matthieu Devin) Newsgroups: comp.windows.x Subject: translations maze (more fun!) Message-ID: <8903301643.AA03481@rainbow-warrior> Date: 30 Mar 89 16:43:56 GMT References: <8903301631.AA05563@expo.lcs.mit.edu> Sender: daemon@bloom-beacon.MIT.EDU Organization: The Internet Lines: 55 >> I put the following translations inside my .Xdefaults file: >> >> xedit*Text.translations:\ >> :Ctrld: delete-next-character() \n\ >> :Metad: kill-word() \n\ >> :Escape,:d: delete-next-word() \n\ >> :: insert-char() >> >I think you need to say which key on the last one. > :d:insert-char() In fact it is even easier to break. I think (hoping I'm wrong) that the event-sequence mechanism is somewhat buggy. If I put the following translaytions in my .Xdefaults, I will loose the d key when not preceded by the a key: xedit*Text.translations:\ a,d: insert-char() \n\ : insert-char() \n\ If I add a specific translation for d everything works (this could be considered a turn around): xedit*Text.translations:\ a,d: insert-char() \n\ d: insert-char() \n\ : insert-char() But I don't want to add a translation for every possible key I want to use preceded by an other one. Consider the following case (which leaded me to this bug): xedit*Text.translations:\ Escape,a: do-a-command() \n\ Escape,b: do-another-command() \n\ ...etc... Escape,: ring-the-bell() \n\ : insert-char() I understood that this would bind some escape-sequences to some commands and that other escape sequences would ring a bell. But with the preceding bug (?) the translation: Escape,: ring-the-bell() \n\ Catches all the keys, not only the one preceded by an Escape. So I loose everything there. The turn around would be to add translations for every possible key... how sad... Matth -- Matthieu Devin Lucid Inc, 707 Laurel Street, Menlo Park, CA 94025 devin@lucid.com (415)329-8400 x 5574