home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1993 #3 / NN_1993_3.iso / spool / comp / unix / bsd / 11882 < prev    next >
Encoding:
Text File  |  1993-01-28  |  4.0 KB  |  139 lines

  1. Newsgroups: comp.unix.bsd
  2. Path: sparky!uunet!email!mbirgmei
  3. From: mbirgmei@email.tuwien.ac.at (Martin BIRGMEIER)
  4. Subject: Re: [386bsd] X broken with new patchkit ?
  5. Message-ID: <1993Jan28.081304.27615@email.tuwien.ac.at>
  6. Organization: Technical University of Vienna
  7. References: <4374@wzv.win.tue.nl>
  8. Date: Thu, 28 Jan 1993 08:13:04 GMT
  9. Lines: 128
  10.  
  11. In article <4374@wzv.win.tue.nl> guido@gvr.win.tue.nl (Guido van Rooij) writes:
  12. >I installed the new patchkit a few days ago. I also had keycap-0.1.1 (codrv)
  13. >installed. This used to work fine, but now that I've installed the new
  14. >patchkit, the keyboard isn't functioning quite well anymore when using X.
  15. >Symptoms are that after pressing a key you have to wiat several seconds
  16. >for the key to become visible on your xterm UNLESS you move your mouse..
  17. >then the char immediately shows up. Anyone having the same behaviour?
  18. >
  19. >
  20. >-Guido
  21.  
  22. Ok I had the same problems (plus a discussion with Nate Williams about it)
  23. until I finally fixed it (at least it seems so :-)). Here is the patch:
  24.  
  25. ------------------------------ cut here ------------------------------
  26. *** /usr/src/sys.386bsd/i386/isa/co_kbd.c.CODRVP_ORIG    Thu Nov  5 09:39:50 1992
  27. --- /usr/src/sys.386bsd/i386/isa/co_kbd.c    Wed Jan 27 09:37:59 1993
  28. ***************
  29. *** 138,144 ****
  30.       initrb(&co_buf);
  31.   
  32.       /* signal opening process only */
  33. !     consoftc.cs_selp = 0;
  34.       consoftc.cs_pgid = p->p_pid;
  35.   
  36.       return 0;
  37. --- 138,144 ----
  38.       initrb(&co_buf);
  39.   
  40.       /* signal opening process only */
  41. !     consoftc.cs_selp = (pid_t) 0;
  42.       consoftc.cs_pgid = p->p_pid;
  43.   
  44.       return 0;
  45. ***************
  46. *** 156,162 ****
  47.       if (minor(dev)==0x80) return 0;
  48.   
  49.       consoftc.cs_flags &= ~(CO_OPENRAW|CO_ASYNC);
  50. !     consoftc.cs_selp = 0;
  51.       consoftc.cs_pgid = 0;
  52.   
  53.       /* do we need to restore console?
  54. --- 156,162 ----
  55.       if (minor(dev)==0x80) return 0;
  56.   
  57.       consoftc.cs_flags &= ~(CO_OPENRAW|CO_ASYNC);
  58. !     consoftc.cs_selp = (pid_t) 0;
  59.       consoftc.cs_pgid = 0;
  60.   
  61.       /* do we need to restore console?
  62. ***************
  63. *** 279,285 ****
  64.           return;
  65.       if (consoftc.cs_selp) {
  66.           selwakeup(consoftc.cs_selp,0);
  67. !         consoftc.cs_selp = 0;
  68.       }
  69.       if (consoftc.cs_flags & CO_ASYNC) {
  70.           if (consoftc.cs_pgid < 0)
  71. --- 279,285 ----
  72.           return;
  73.       if (consoftc.cs_selp) {
  74.           selwakeup(consoftc.cs_selp,0);
  75. !         consoftc.cs_selp = (pid_t) 0;
  76.       }
  77.       if (consoftc.cs_flags & CO_ASYNC) {
  78.           if (consoftc.cs_pgid < 0)
  79. ***************
  80. *** 306,312 ****
  81.               splx(s);
  82.               return 1;
  83.           }
  84. !         consoftc.cs_selp = p;
  85.       }
  86.       splx(s);
  87.       return 0;
  88. --- 306,312 ----
  89.               splx(s);
  90.               return 1;
  91.           }
  92. !         consoftc.cs_selp = p->p_pid;
  93.       }
  94.       splx(s);
  95.       return 0;
  96. ***************
  97. *** 1182,1188 ****
  98.                   consoftc.cs_flags |= CO_OPENRAW;
  99.               ofl = 0;
  100.           }
  101. !         consoftc.cs_selp = 0;
  102.           break;
  103.       case KBDRESET8042:
  104.           doreset();
  105. --- 1182,1188 ----
  106.                   consoftc.cs_flags |= CO_OPENRAW;
  107.               ofl = 0;
  108.           }
  109. !         consoftc.cs_selp = (pid_t) 0;
  110.           break;
  111.       case KBDRESET8042:
  112.           doreset();
  113. *** /usr/src/sys.386bsd/i386/isa/co_hdr.h.CODRVP_ORIG    Wed Nov  4 04:15:59 1992
  114. --- /usr/src/sys.386bsd/i386/isa/co_hdr.h    Wed Jan 27 09:35:27 1993
  115. ***************
  116. *** 122,128 ****
  117.       int    cs_timo;    /* timeouts since interrupt (unused) */
  118.       u_long    cs_wedgecnt;    /* times restarted (unused)*/
  119.       u_long    cs_ovfl;    /* buffer overflows */
  120. !     struct proc *cs_selp;    /* Process waiting for select call */
  121.       int    cs_pgid;    /* Process group for ASYNC I/O */
  122.   /*XXX*/    struct tty *cs_constty;    /* used to restore constty if */
  123.                   /* anyone dares to steal CONSOLE during raw open */
  124. --- 122,128 ----
  125.       int    cs_timo;    /* timeouts since interrupt (unused) */
  126.       u_long    cs_wedgecnt;    /* times restarted (unused)*/
  127.       u_long    cs_ovfl;    /* buffer overflows */
  128. !     pid_t    cs_selp;    /* Process waiting for select call */
  129.       int    cs_pgid;    /* Process group for ASYNC I/O */
  130.   /*XXX*/    struct tty *cs_constty;    /* used to restore constty if */
  131.                   /* anyone dares to steal CONSOLE during raw open */
  132. ------------------------------ cut here ------------------------------
  133.  
  134. Cheers,
  135.  
  136. Martin
  137.  
  138. Technical University of Vienna/Dept of Comm. Engr.
  139.