[comp.windows.x] Beginner's Question, X11 keyboard characteristics

jha@lfcs.ed.ac.uk (Jamie Andrews) (02/10/89)

     X10 has recently become unsupported at my site & I have
started using X11 (the wave of the future :-)).  However, the
Sun keyboard (or rather, some level of the interpretation of
the keyboard inputs) acts in various annoying ways.  I would
greatly appreciate some help BY EMAIL.

o The repeat rate is very high, and keys seem to repeat after
  a shorter delay time sometimes (on some Suns?).

o (THE MOST ANNOYING) When I am holding down one key after
  pressing it, and then "roll over" onto another, the second
  key does not repeat (as it does on every other keyboard I can
  ever remember, *including* the Suns under X10!).

     This second problem does not sound like a big deal, but it
is:  when I am in vi or some similar video game (:-)), I often
go "jjjlllllll" to go "down a few lines and across a few
columns".  Under X11, this ends up as: "jjjl"... one... two...
notice cursor isn't moving... AARGGH... lift up "l" key finger
and put it down again... "llllll".  Not amusing.

     I know that this is conceivably a soft thing, because
keyboard rollover characteristics are definable for many
terminals (though I hadn't heard of this particular one).

     My question is if anyone knows what I can do about these
(magic file / setting somewhere? code hacking?), particularly
the second problem.

     Please don't tell me to not use vi (:-)), and please
RESPOND BY EMAIL as I do not read this newsgroup.  Thank you
in advance for any help you can give.

--Jamie.
  jha@lfcs.ed.ac.uk
"Men?... Police Men?"

tom@ICASE.EDU (Tom Crockett) (02/15/89)

        o The repeat rate is very high, and keys seem to repeat after
          a shorter delay time sometimes (on some Suns?).

These values are adjustable by patching the Xsun server.  The following
patch is what we use:

This patch reduces the sensitivity of the keyboard auto-repeat feature in
the Sun server, providing a feel more like SunView and reducing the
occurrence of spurious characters.  It also speeds up the auto-repeat rate
once it kicks in.

*** server/ddx/sun/sun.h.tmp    Tue Sep  6 15:10:55 1988
--- server/ddx/sun/sun.h        Wed Dec 14 15:36:00 1988
***************
*** 278,285 ****
  extern int      lastEventTime;    /* Time (in ms.) of last event */
  extern void     SetTimeSinceLastInputEvent();

! #define AUTOREPEAT_INITIATE   (200)           /* milliseconds */
! #define AUTOREPEAT_DELAY      (50)            /* milliseconds */
  /*
   * We signal autorepeat events with the unique Firm_event
   * id AUTOREPEAT_EVENTID.
--- 278,285 ----
  extern int      lastEventTime;    /* Time (in ms.) of last event */
  extern void     SetTimeSinceLastInputEvent();

! #define AUTOREPEAT_INITIATE   (500)           /* milliseconds */
! #define AUTOREPEAT_DELAY      (25)            /* milliseconds */
  /*
   * We signal autorepeat events with the unique Firm_event
   * id AUTOREPEAT_EVENTID.


Sorry, I don't know what to do for your second problem.  I tried it out on my
Sun, and much to my amazement, it works just as you describe.  I'd never
noticed it before.


_Tom Crockett_


*ICASE*
Institute for Computer Applications in Science and Engineering

         M.S. 132C                               e-mail:  tom@icase.edu
         NASA Langley Research Center            phone:  (804) 864-2182
                              Hampton,  VA  23665