home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #19 / NN_1992_19.iso / spool / comp / windows / x / 16039 < prev    next >
Encoding:
Internet Message Format  |  1992-09-02  |  5.1 KB

  1. Path: sparky!uunet!mcsun!Germany.EU.net!pki-nbg!hitkw14!smr
  2. From: smr@hitkw14.pki-nbg.philips.de (S.Riehm)
  3. Newsgroups: comp.windows.x
  4. Subject: xterm key translations cause xterm death
  5. Message-ID: <smr.715426538@hitkw14>
  6. Date: 2 Sep 92 09:35:38 GMT
  7. Sender: news@pki-nbg.philips.de
  8. Lines: 120
  9.  
  10. I have a problem with xterm's key translations.. I am trying to make
  11. typing international characters somewhat easier by defining a compose
  12. sequence. My keyboard doesn't have a compose key, so I am using the
  13. End key instead ( hey I never use it for anything else ).
  14. The general concept is:
  15.     type compose key ( in this case End )
  16.     type a modifier: ie: " for umlauts, ' for accent, ^ for
  17.         circumflex etc
  18.     type a character to have the special modification.
  19.  
  20.     so <End " e> would produce an e with umlauts ( here is one k )
  21.     and <End ' e> would produce an e with an accent ( like this i )
  22.  
  23. The problems are:
  24.     1> sometimes after typing several international characters,
  25.         xterm crashes, and simply terminates. I guess this could
  26.         be due to having to constantly change the translation
  27.         table back and forth and eventually getting confused.
  28.     2> I want to be able to exit the compose sequence if a
  29.         non-mapped key is typed, however this doesn't work,
  30.         because as soon as I type shift, it thinks that shift is
  31.         not mapped and exits the compose sequence.
  32.         ( see the last entry in the composeKeymap table, it doesn't
  33.         work, so currently I have that line commented out, so I
  34.         can use the rest of my translations )
  35.  
  36. I am open to any other suggestions of interesting and useful ways to
  37. enter international characters.
  38.  
  39. Other than the faults above, this scheme works fine.
  40.  
  41. here are my translations ( direct from xrdb ):
  42. ( The fontsKeymap translations left in for general interest, but don't
  43. generally effect the character sets used. )
  44. --- cut here ---
  45. XTerm*VT100.Translations:    #override !<Key>End: keymap(compose)
  46. XTerm*VT100.apostropheKeymap.translations:\
  47.     !<Key>Home: string("#compose quote") \n\
  48.     !<Key>End: keymap(None) \n\
  49.     !Shift <Key>a: string(0xc1) keymap(None) \n\
  50.     !Shift <Key>e: string(0xc9) keymap(None) \n\
  51.     !Shift <Key>o: string(0xd3) keymap(None) \n\
  52.     !Shift <Key>u: string(0xda) keymap(None) \n\
  53.     !<Key>a: string(0xe1) keymap(None) \n\
  54.     !<Key>e: string(0xe9) keymap(None) \n\
  55.     !<Key>o: string(0xf3) keymap(None) \n\
  56.     !<Key>u: string(0xfa) keymap(None) \n\
  57.     <Key>: bell(50) keymap(None)
  58. XTerm*VT100.circumflexKeymap.translations:\
  59.     !<Key>Home: string("#compose circumflex") \n\
  60.     !<Key>End: keymap(None) \n\
  61.     !Shift <Key>a: string(0xc2) keymap(None) \n\
  62.     !Shift <Key>e: string(0xca) keymap(None) \n\
  63.     !Shift <Key>o: string(0xd4) keymap(None) \n\
  64.     !Shift <Key>u: string(0xdb) keymap(None) \n\
  65.     !<Key>a: string(0xe2) keymap(None) \n\
  66.     !<Key>e: string(0xea) keymap(None) \n\
  67.     !<Key>o: string(0xf4) keymap(None) \n\
  68.     !<Key>u: string(0xfb) keymap(None) \n\
  69.     <Key>: bell(50) keymap(None)
  70. XTerm*VT100.composeKeymap.translations:\
  71.     !<Key>End: keymap(None) \n\
  72.     !<Key>Home: string("#compose") \n\
  73.     !Shift <Key>apostrophe:    keymap(umlaut) \n\
  74.     !<Key>grave:    keymap(grave) \n\
  75.     !<Key>apostrophe:    keymap(apostrophe) \n\
  76.     !Shift <Key>6:    keymap(circumflex) \n\
  77.     !Shift <Key>grave:    keymap(tilda) \n\
  78.     !Shift <Key>c: string(0xc7) keymap(None) \n\
  79.     !<Key>f:    keymap(fonts) \n\
  80.     !<Key>c: string(0xe7) keymap(None) \n\
  81.     !<Key>slash: string(0xf7) keymap(None) \n\
  82.     !<Key>s: string(0xdf) keymap(None) \n\
  83.     <Key>: bell(50) keymap(None)
  84. XTerm*VT100.fontsKeymap.translations:\
  85.     !<Key>End: keymap(None) \n\
  86.     !<Key>Home: string("#fonts") \n\
  87.     !<Key>1: set-vt-font(1) keymap(None) \n\
  88.     !<Key>2: set-vt-font(2) keymap(None) \n\
  89.     !<Key>3: set-vt-font(3) keymap(None) \n\
  90.     !<Key>4: set-vt-font(4) keymap(None) \n\
  91.     !<Key>d: set-vt-font(d) keymap(None) \n\
  92.     <Key>: bell(50) keymap(None)
  93. XTerm*VT100.graveKeymap.translations:\
  94.     !<Key>Home: string("#compose grave") \n\
  95.     !<Key>End: keymap(None) \n\
  96.     !Shift <Key>a: string(0xc0) keymap(None) \n\
  97.     !Shift <Key>e: string(0xc8) keymap(None) \n\
  98.     !Shift <Key>o: string(0xd2) keymap(None) \n\
  99.     !Shift <Key>u: string(0xd9) keymap(None) \n\
  100.     !<Key>a: string(0xe0) keymap(None) \n\
  101.     !<Key>e: string(0xe8) keymap(None) \n\
  102.     !<Key>o: string(0xf2) keymap(None) \n\
  103.     !<Key>u: string(0xf9) keymap(None) \n\
  104.     <Key>: bell(50) keymap(None)
  105. XTerm*VT100.tildaKeymap.translations:\
  106.     !<Key>Home: string("#compose tilda") \n\
  107.     !<Key>End: keymap(None) \n\
  108.     !Shift <Key>a: string(0xc3) keymap(None) \n\
  109.     !Shift <Key>e: string(0xca) keymap(None) \n\
  110.     !Shift <Key>o: string(0xd5) keymap(None) \n\
  111.     !Shift <Key>u: string(0xdb) keymap(None) \n\
  112.     !<Key>a: string(0xe3) keymap(None) \n\
  113.     !<Key>e: string(0xea) keymap(None) \n\
  114.     !<Key>o: string(0xf5) keymap(None) \n\
  115.     !<Key>u: string(0xfb) keymap(None) \n\
  116.     <Key>: bell(50) keymap(None)
  117. XTerm*VT100.umlautKeymap.translations:\
  118.     !<Key>Home: string("#compose umlaut") \n\
  119.     !<Key>End: keymap(None) \n\
  120.     !Shift <Key>a: string(0xc4) keymap(None) \n\
  121.     !Shift <Key>e: string(0xcb) keymap(None) \n\
  122.     !Shift <Key>o: string(0xd6) keymap(None) \n\
  123.     !Shift <Key>u: string(0xdc) keymap(None) \n\
  124.     !<Key>a: string(0xe4) keymap(None) \n\
  125.     !<Key>e: string(0xeb) keymap(None) \n\
  126.     !<Key>o: string(0xf6) keymap(None) \n\
  127.     !<Key>u: string(0xfc) keymap(None) \n\
  128.     <Key>: bell(50) keymap(None)
  129. --- cut here ---
  130.