SourceForge has been redesigned. Learn more.
Close

#1 mouse problem

open
nobody
None
5
2004-12-22
2004-12-22
Anonymous
No

If i use LKL, My PS/2 mouse behaves differently. The system
hangs and before I can do anything good I need to restart my
computer

Discussion

  • Nobody/Anonymous

    Logged In: NO

    I had the somewhat of the same problem. As soon as i
    started it with the it_km keymap, my ps2 mouse went haywire.
    Thankfully i was able to CTRL-C it before it got to the
    point you did and had to restart it(and yes it logged the
    ctrl-c ;) )

     
  • altphil

    altphil - 2006-11-02

    Logged In: YES
    user_id=1635758

    Here's a quick fix...

    Edit lkl.c and put in the remove mouse codes fix, below in
    the ugly comments.

    -----------------------------------------------------------------------------
    #include "lkl.h"

    void start_log(struct lkl *lkl)
    {
    int pressed_shift, pressed_alt;
    unsigned char c, table[TABLE_SIZE], status;

    c = pressed_shift = pressed_alt = 0;
    bzero(table, TABLE_SIZE);

    if(iopl(3) == -1){
    perror("iopl()");
    exit(1);
    }

    while(1){
    //-----Ignore mouse scancodes----------
    status = inb_p(0x64);
    if (status & 0x20)
    continue;
    //------Nothing but keyboard-----------
    c = inb(lkl->port);

    <...rest of file...>
    -----------------------------------------------------------------------------

     
  • altphil

    altphil - 2006-11-02

    Logged In: YES
    user_id=1635758

    Sorry - also have to add an unsigned char "status" there.

    Tell ya what, here's a patchfile. Copy between the lines
    and save it as "lkl.c.patch"...

    ----------------------------------------------
    --- lkl.c.OLD 2006-11-01 21:38:13.737673314 -0600
    +++ lkl.c.NEW 2006-11-01 21:38:03.551221699 -0600
    @@ -3,7 +3,7 @@
    void start_log(struct lkl *lkl)
    {
    int pressed_shift, pressed_alt;
    - unsigned char c, table[TABLE_SIZE];
    + unsigned char c, table[TABLE_SIZE], status;

    c = pressed_shift = pressed_alt = 0;
    bzero(table, TABLE_SIZE);
    @@ -14,6 +14,9 @@ void start_log(struct lkl *lkl)
    }

    while(1){
    + status = inb_p(0x64);
    + if (status & 0x20)
    + continue;
    c = inb(lkl->port);
    if(lkl->debug) fprintf(stderr, "c=%d ", c) ;
    if(c < TABLE_SIZE){
    ----------------------------------------------
    Then run...
    patch lkl.c < lkl.c.patch
    and recompile. That ought to fix the problems with lkl
    seeing mouse codes and messing up your mouse.

     

Log in to post a comment.