Date: Mon, 31 Jan 1994 08:57:31 +0100 From: terra AT diku DOT dk To: ulrich AT lab1 DOT psy DOT univie DOT ac DOT at Cc: djgpp AT sun DOT soe DOT clarkson DOT edu Subject: Xlib emulation Hi! I'm quite impressed with your X emulation, but I have a couple of things you should take a look at. 1. The function `XSetWMProtocols' should be in the library. It is used by Emacs 19.22 2. The keyboard driver does not know the difference between the `left' key and `kp-4': if I press `S-left', it is read as `S-kp-4'. 3. The keyboard driver does not recognize `F11' and `F12'. The remapping in "events.c" seems wrong -- it maps them to keys 133 and 134, not to 95 and 96 as in the xmodmaps. 4. On my DK keyboard, I have a key (between L-Ctrl and L-Alt) labeled > <\ (upper half=shift, right half=altgr). This key is read as `F3'. The keys `kp-divide' and `kp-enter' are not recognized. 5. The `BackSpace' key is read as `delete'. Perhaps this is a general X-problem. 6. If it is at all possible, you should include libX11.a in the distribution; it takes quite a while to gather all the sources and to compile it. 7. The instructions for generating "xfonts.dir" in the "readme" file are obviously wrong; the file name for grep is missing. Also one should be warned that a unix-style grep is needed, or specifically that Borland's grep should not be used. 8. The instructions for calling fntool are obsolete. It should be "fntool -itype fnt -otype dir *.fnt" 9. I see no reasonable way to specify that key number 34 generates the character 134 (lower case `a' with circle) and other pc characters. It seems logical and simple to do this by allowing number specifications (hex and/or decimal) in the xmodmaps; this would be a change to the file "XStrKeysym.c" One cannot solve this by using funny keysyms as there are no keysyms in the range 0x80 to 0x9f inclusive. 10. Recognition of keys relies entirely on scancodes and not on keycodes. This is not the best solution for keys that have no X-like name, e.g., letters, digits, and a few other white keys. This would mean automatic adaption to different keyboards (thereby solving the above a-circle problem), and reduce the problem of having a Swahili-based default xmodmap. (Sorry, I just couldn't resist it :-) 11. The scancode remapping in "events.c" is incomplete. Notice the irregular steps in this table of additions: Key 0x72 is C-sysreq Key 0x82 is M-- Key 0x82 is M-= Key 0x8e is C-kp-minus Key 0x8f is C-kp-5 Key 0x90 is C-kp-plus Key 0x94 is C-tab Key 0x95 is C-kp-divide Key 0x96 is C-kp-multiply Key 0x97 is M-home Key 0x98 is M-up Key 0x99 is M-pgup Key 0x9b is M-left Key 0x9d is M-right Key 0x9f is M-end Key 0xa0 is M-down Key 0xa1 is M-pgdn Key 0xa2 is M-insert Key 0xa3 is M-delete Key 0xa4 is M-kp-divide Key 0xa5 is M-tab Key 0xa6 is M-enter Morten Welinder terra AT diku DOT dk