Kernel Debugger and Keyboard Driver Available

Kernel Debugger and Keyboard Driver Available

Post by Ross Bi » Thu, 02 Apr 1992 09:39:16

        I've written a simple kernel de*, and made it available
at  It allows you access to the debug registers and
arbitrary kernel memory, as well as having a disassembler built in.
The main problems with it are that it seems to be very long (.o files
add up to about 80k) and that it requires a different keyboard driver
(which is included in the same file.)  It shouldn't be too hard to
patch the old keyboard driver to work with the disassembler, but I
didn't feel like doing it.

        The new keyboard driver has the following benefits/problems:

        Written in C, although the algorythm is confusing, it should
                not be too hard to modify.
        Stubs for arbitrarily redefining keys.
        No serious performance hit; it reenables the interrupts as
                quickly as possible, and takes care to be reenterant.
        Nearly all key combinations are distinguished; Alt-F1 is different
                from Shift-F1 is different from Alt-Shift-F1 etc.
        All extended key sequences begin with ESC-[.
        Alt can be changed to a meta-key (Set bit 8) by only changing
                8 bytes, and should be able to be done at run time.
                (not tested).
        Ctrl-Alt-Delete cannot be enabled.  (You may reboot from the
                kernel de* by typing reboot).
        It should be possible to change keyboard Country at run-time.
                (not tested.)

        Does not lockup if you press a key which sends more than one
                scan code at boot time.

        Currently only has support for American keyboards. (An untested
                 finnish mode can be selected at compile time.)

        The keystrokes sent for function/cursor keys are not compatible
                with the other keyboard driver (And probably with
                anything else, although an example .emacs file and a list
                of what most of the keys send should be available soon.)

        It's written in C, and probably slightly slower than the asm
                version that comes with linux.

        The algorythm it uses is confusing, and not as flexible as I
                would like (I chose it for speed and size.).

        You must use major dev 8 to use new the ioctl calls, although it
                still responds to everything else on the old major dev.

        Requires my configuration system (also available from tsx-11)
                which is sadly lacking in many ways, but still a
                step in the right direction.

        Certain Ioctl combinations can cause it to crash the system on
                the next keystroke. (Not really a bug, but a lack of
                sanity checking on the keytables, not tested.)

        And I'm sure many more.  I wrote the keyboard driver because
I wanted to have a keyboard on which I could distinguish all the key
combinations.  If you don't like the idea of it being written in C,
then don't use it; you don't need to complain about it.  If you have
any problems with it (and I'm sure you will), let me know; but as
my research is eating up more and more of my time; I don't know when
I will be able to work on either the de* or the keyboard driver
in the near future.

(I apologize for the spelling, but the computer I'm writting this
on doesn't seem to have spell, and I don't intend to proofread this.)


1. syslog- kernel: keyboard error -> kernel: Keyboard timed out

Hi There

We have a Pentium server loaded with Linux 1.2.13.

The screen saver turns off the screen after a few minutes. Problem is
that if the system is left overnight only the mouse will turn the
screen display back on. Somtimes the keyboard then locks and the
message :-

kernel: keyboard error
kernel: Keyboard timed out

appears in the syslog.

Any pointers would be of great help.


2. LI vs. LILO

3. Source level kernel debugger to debug a UNIX kernel remotely

4. goodpw

5. Matrox Mystique ands X.

6. routing issues, ppp0, eth0, vmnet1, smb

7. kgdb (kernel source level debugger) for 2.4 kernels

8. Linux Email server

9. HELP: Hacking kernel keyboard drivers...

10. Patch LMS/Philips CD205/225/202 (driver is available as a kernel patch)

11. Full Adaptec 27/28/2900 series driver kernel available!!!

12. kernel-2.4.21-final drivers/char/keyboard.c - key release bug