home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #31 / NN_1992_31.iso / spool / fj / maillis / xwindow / 18814 < prev    next >
Encoding:
Internet Message Format  |  1992-12-22  |  5.2 KB

  1. Path: sparky!uunet!stanford.edu!sun-barr!sh.wide!wnoc-tyo-news!scslwide!wsgw!wsservra!onoe
  2. From: maf@dtek.chalmers.se (Martin Forssen)
  3. Newsgroups: fj.mail-lists.x-window
  4. Subject: New version of teh sunkbd patch available
  5. Message-ID: <1992Dec22.014219.27667@sm.sony.co.jp>
  6. Date: 22 Dec 92 01:42:19 GMT
  7. Sender: onoe@sm.sony.co.jp (Atsushi Onoe)
  8. Distribution: fj
  9. Organization: Chalmers University of Technology, Gothenburg Sweden
  10. Lines: 108
  11. Approved: michael@sm.sony.co.jp
  12.  
  13. Date: Mon, 21 Dec 92 16:48:15 -0500
  14. Message-Id: <9212212148.AA01758@expo.lcs.mit.edu>
  15.  
  16.  
  17.  There is a new version of the sunkbd patch for X11R5 available
  18.  on export.lcs.mit.edu (contrib/sunkbd.921216.tar.Z) (or by email from me).
  19.  Below follows a copy of the CHANGES.kbd file, and for those who don't
  20.  know what the sunkbd patch is a copy of the README.kbd file is
  21.  attached below that. For those of you who has the first version
  22.  installed there is a file (contrib/sunkbd0730-1216.tar.Z) which
  23.  patches your release.
  24.  
  25. *** CHANGES.kbd
  26.  
  27.  * Fixed bug with key 'S' in the Netherland type 5 keyboard.
  28.  
  29.  * Added Igrave, ecircumflex and ediaeresis to make complete ISO8859-1.
  30.  
  31.  * Reordered the compose combinations into ISO8859-1 order.
  32.  
  33.  * Minor rewwite of the keymap constructing code:
  34.     The keymap can't be to big anymore (to many compose combinations cased
  35.     core dump)
  36.     Removed the need for COMPACT_MAP (the holes are filled last).
  37.  
  38.  * Made the compose combinations work backwards to.
  39.  
  40.  * Added code to support autorepeat on/off for individual keys
  41.    (thanks goes to mikeg@ingres.com (Mike Glendinning) for the inspiration)
  42.  
  43.  * Added code and command line options to choose between generating F36
  44.    and F37 vs generating F11 and F12 for the function keys labelled 'F11'
  45.    and 'F12'. The default is to generate F11 and F12.
  46.  
  47.  * Created a human readable table of the compose combinations.
  48.  
  49.  
  50. *** README.kbd
  51.  
  52.  
  53.  Keyboard patch version 921216
  54.  
  55.  This patch enables the Xsun (and XsunMono) server to work with
  56.  other keyboards than type 4 US. It also fixes the Num_Lock and
  57.  Compose keys. It was programmed by maf@dtek.chalmers.se. If you
  58.  have any questions or comments about this piece of code feel free
  59.  to send me an email.
  60.  
  61.   Installation
  62.  
  63.  This patch is distributed as a compressed tar file. When you unpack
  64.  the archive you should get five files: README.kbd (this file),
  65.  sunKeyMap.c, CHANGES.kbd, Compose.list and sunkbd.patch. Readme.kbd,
  66.  CHANGES.kbd, Compose.list and sunKeyMap.c should be installed in
  67.  mit/server/ddx/sun (move the old sunKeyMap.c to some safe backup place).
  68.  You should the apply the patch (patch -p -s <sunkbd.patch) in the
  69.  mit/server/ddx/sun directory.  The patch will touch the following files:
  70.  ./README, ./sun.h, ./sunKbd.c, ./Xsun.man, ../../include/site.h
  71.  and ../../../include/Sunkeysym.h. Now look in sunKeyMap.c and remove any
  72.  unwanted keyboards (to save space) and then just rebuild the server.
  73.  
  74.  
  75.   Known problems
  76.  
  77.  The only problem I know of today is that FrameMaker 3.1X doesn't
  78.  recognize any compose combinations that ends with a shifted or
  79.  alted character. This seems to be a bug in FM and the only workaround
  80.  I have found is to define a macro file for these combinations (they
  81.  are recognized as triggers).
  82.  
  83.  
  84.   How it works
  85.  
  86.  When the server initializes it queries the keyboard for its type and
  87.  layout. If it is anything else than type 4 (note that type 5 keyboards
  88.  say they are type 4) it works as before. If it is a type4 keyboard
  89.  the server finds the correct keycode to keysym mappings. These are
  90.  contained in the file sunKeyMap.c. In this file you can find the
  91.  layout tables for 35 different type 4 layouts. Each of these tables
  92.  occupies about 2.5K in the server and since you probably won't need
  93.  more than one or two different entries you can remove the others through 
  94.  the comments at the top of the file (further instructions is in the
  95.  file). Now the keycodes that are reported when you press any numerical
  96.  key while NumLock is pressed or the final code of a compose combination
  97.  is appended to the table.
  98.  When the user presses a key the server first checks if NumLock is
  99.  active. If it is the server searches a table of the numerical keyboards
  100.  scancodes and if the current keycode is found in there it is transformed
  101.  into another scancode which points to the correct entry in the keycode
  102.  to keysym table. If the user has pressed the compose key the server
  103.  first converts the scancode to a keysym, then it checks if this key is
  104.  part of any legal compose combination if it is it is remembered else
  105.  the compose key is deactivated. In either case the event is swallowed
  106.  unless it was a modifier key. When the final key of the combination
  107.  is pressed the server changes the scancode to one that points to the
  108.  right location and passes the event on to the clients. Observe that
  109.  this entry in the scancode to keycode table has the same value for
  110.  all the combinations of modifier keys. This is since I can't know
  111.  which modifiers are active when the last key is pressed.
  112.  When the server checks for Num_Lock and Compose it actually decodes
  113.  the scancodes it gets to keysyms and the check these. This enables the
  114.  user to remap both Num_Lock and Compose (Multi_key).
  115.  
  116.     /MaF
  117.  
  118. --
  119. Martin Forssen: maf@dtek.chalmers.se or maf@math.chalmers.se
  120. System administrator at math and dtek at Chalmers univ. of technology 
  121.