Re: [PATCH] Use BIOS Keyboard variable to set Numlock

From: Bodo Eggert
Date: Wed Jul 11 2007 - 21:42:30 EST


On Wed, 11 Jul 2007, H. Peter Anvin wrote:
> Bodo Eggert wrote:

> > Instead of the byte at 0x497 as suggested in that thread, I'm using the
> > byte at 0x417, which reflects the intended LED state. In order to change
> > the keyboard LED, DOS programs would change this byte and call INT 5
> > (which is the keyboard software interrupt).
> >
>
> 0x417 is actually the current keyboard modifier state, which is the
> right thing to use.

exactly.

> Presumably you meant INT 9 (IRQ 1), not INT 5 which is the print screen
> interrupt (also used by the CPU for BOUND error, which has some amusing
> consequence if anyone ever used the BOUND instruction in DOS.)

I meant int 0x16:
mem[0x40:0x17] |= 0x20;
ah = 1;
int 0x16;

> That being said, one could argue that since this is a BIOS interface it
> should be queried via INT 16h, AH=02h and stuffed in the zeropage
> structure. This would also solve the issue of it not being supported by
> non-BIOS firmware.

This is an interesting option, but it's more invasive. I'd rather like a
feedback saying we can depend on that data area to be there.
--
Top 100 things you don't want the sysadmin to say:
64. Do you really need your home directory to do any work?
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/