APM not resetting keyboard properly?

jpranevich@lycos.com
Thu, 18 Mar 1999 08:27:55 -0500


Hello,

I've posted a similar message to this a bit ago but this one is a tad more
refined in what the problem is that maybe someone will be able to step up and
tell me what they think.

I (and at least 3 others) am having problems with assorted APM BIOSes that are
not working properly. This is not news, a number of APM BIOSes are buggy and a
number of workarounds already exist in the kernel. What is happening is this:
After we suspend from power management, the keyboard believes with all its heart
and soul that the 'Control' key is down. No amount of pressing that or any other
key on the keyboard will convince it otherwise *unless* I switch to a different
virtual console and back again in which case the problem is cleared.

I have placed a compute_shiftstate() call in the APM_RESUME portion of the APM
driver just after the call there to set_time() but it did not have the effect
that I wanted. I'm having a terrible time understanding the code that handles
console switches but it appears to be doing a mark_bh() call (which I do not
understand) and that's relatively it. (I could just not be reading it properly.)
What I need apparantly is either to force a reinitilize of the keyboard after a
resume (the kbd_init_hw() call is *almost* what I want to use, but there might
be a better way) or manually toggle off any "stuck" keys left in the resume
process. The first is somewhat cleaner, I expect.

I can not honestly claim to know whether this "corruption" is at the hardware or
driver level but I am willing to help anyone make that determination if they let
me know what to do. If anyone has any suggestion as to other problems or how I
might go about fixing it, I would appreciate it. Alan: I forwarded this directly
to you because you were kind enough to help me out before when I had less of an
understanding of the problem so maybe there's more here for you to go on.

Thanks in advance,

Joe

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/