Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!swrinde!elroy.jpl.nasa.gov!thyme!kaleb From: kaleb@thyme.jpl.nasa.gov (Kaleb Keithley) Newsgroups: comp.windows.x Subject: Re: Sun Keyboard problem? Message-ID: <1991May17.182610.3613@thyme.jpl.nasa.gov> Date: 17 May 91 18:26:10 GMT References: <1991May17.171718.12393@nntp-server.caltech.edu> Organization: Jet Propulsion Laboratory, Pasadena, CA Lines: 45 In article <1991May17.171718.12393@nntp-server.caltech.edu> uhley@truebalt.caltech.edu (John D. Uhley) writes: > >I'm running X11R4 with patches 1-18 applied on SPARCstation 2's running >SUN OS 4.1.1. Occasionally, on exiting X I find that I am unable to > >Fatal server bug! >Unsupported keyboard type 0 > Are you sure it's 0? Here's the only fragment of code with "Unsupported keyboard type": if (sysKbPriv.type < 0 || sysKbPriv.type > KB_SUN4 || sunKeySyms[sysKbPriv.type].map == NULL) FatalError("Unsupported keyboard type %d\n", sysKbPriv.type); And you can clearly see that 0 is legal. The FatalError call eventually calls abort(), so you're probably getting a core dump too. Are you sure it isn't -1? If so I used to see this all the time running xdm. Sun's keyboard and/or kbd driver takes almost half a second to "settle down" and return the correct keyboard type after a mode set. xdm was starting a new server faster than the keyboard could reset. It is admittedly a kludge, but adding a "sleep(1);" after line 153 of sunKbd.c makes the problem go away. Another, sort of unrelated, but related item, are the lines: #ifndef (i386) #define TYPE4KEYBOARDOVERRIDE around line 142 of sunKbd.c. As of SunOS 4.1 this is no longer correct, and at least one way to make it right is to change them as follows: #if !defined(i386) && OSMajorVersion == 4 && OSMinorVersion == 0 #define TYPE4KEYBOARDOVERRIDE #endif -- Kaleb Keithley kaleb@thyme.jpl.nasa.gov Meep Meep Roadrunner Veep veep Quayle