*BSD News Article 9409


Return to BSD News archive

Received: by minnie.vk1xwt.ampr.org with NNTP
	id AA5729 ; Fri, 01 Jan 93 01:53:53 EST
Newsgroups: comp.unix.bsd
Path: sserve!manuel.anu.edu.au!munnari.oz.au!uunet!usc!cs.utexas.edu!swrinde!emory!tackle!jc
From: jc@tackle.uucp (John Capo)
Subject: Minor XFree86 problems, long function key string bug in elvis
Message-ID: <1992Dec30.005909.15079@tackle.uucp>
Organization: Technology Atlanta Corporation
Date: Wed, 30 Dec 1992 00:59:09 GMT
Lines: 77

I have XFree86 running and only have a few problems left to solve.

    1. Auto-repeat is very slow.  I can turn it on and off via command
       line switches or in Xconfig but I can't change the repeat or
       delay rate.

    2. Num lock does not work at all.

    3. I have no bell.  I have tried various command line switches and
       xset options but nothing.  Same hardware works fine with DOS and
       ISC running ISC.

I have not seen these problems mentioned on the net.

Another thing I have noticed is that my machine is on its knees when
I am compiling and running X at the same time.  It may take 20 seconds
to expose a window. Same hardware with X386 and ISC only exibited this
slowdown when compiling, running X, and my cron job that rebuilds the
uucp paths file and uuwho database kicked in.  I added a second disk
with 16M of swap but no difference.

    No name 386/33, 8M RAM, 128K cache.
    Adaptec 1542B, 2 Maxtor 120MB, Archive 60MB tape, Julian's driver.
    Compuadd generic ET4000 VGA card.
    WD8000 ethernet card.
    All of the kernel patches in Terry's patchkit.

Without X running the machine is very speedy, much better raw disk I/O
performance than ISC with the same hardware.  My only conclusion is
the ISC SysV kernel makes better use of the relatively small memory I
have.  Any thoughts?  Is there a kernel parameter that wuld help?

Another mystery.  If I hexdump the keyboard I get a different escape
sequence for the arrow keys than I do when I run emacs or vi.  This is
in an xterm window.  No difference from the console.  The function code
keys are always the same.  What is the magic here?

My function keys emit 5 characters and elvis didn't particulary like
that.  He would get 3 of them on one read and think that he had matched
one of the mappings.  I tried different timeouts but still crashed.
Here's my fix.

*** tio.c.orig	Fri Dec 25 19:02:23 1992
--- tio.c	Fri Dec 25 20:03:04 1992
***************
*** 591,606 ****
--- 591,617 ----
	    {
		    /* No, it wouldn't.  But check for partial match */
		    if (!strncmp(map->rawin, &keybuf[next], cend - next))
		    {
			    count++;
		    }
	    }
  	}
+ 
+ #ifdef __386BSD__
+ 	/* If 1 is returned for a partial match the caller will call execmap()
+ 	 * with a NULL MAP struct.  Not good.  Setting notimeout and keytime=50
+ 	 * did not help.  May be a select problem?  Still this code should not
+ 	 * return 1 if the match is not complete.
+     */
+ 	if (count == 1 && match == (MAP *)0)
+ 		return (2);
+ #endif
+ 
  	return count;
  }
  
  
  #ifndef NO_ABBR
  /* This function checks to see whether a word is an abbreviation.  If it is,
   * then an appropriate number of backspoace characters is inserted into the
   * type-ahead buffer, followed by the expanded form of the abbreviation.

--
John Capo       jc%tackle.uucp@mathcs.emory.edu  gatech!vta!tackle!jc