Re: Linus' laptop and Num lock status

From: Dax Kelson
Date: Wed Feb 14 2007 - 14:19:59 EST


On Wed, 2007-02-14 at 11:12 -0800, Linus Torvalds wrote:
>
> On Wed, 14 Feb 2007, Dax Kelson wrote:
> >
> > Are there any technical or political reasons why kernel can't change
> > from "force off" to "Follow BIOS"?
>
> How would you query it? I'm not even 100% sure that you can on all
> keyboards. We never query the leds, we always set them. I think. I don't
> know of any AT kbd command to read the led state out of the keyboard.
>
> Linus

The GPL'd "hwinfo" command shipped with SUSE queries the BIOS setting by
reading a single byte from /dev/mem.

In src/hd/bios.c around line 262 it has:

if(hd_data->bios_ram.data) {
bios_ram = hd_data->bios_ram.data;

[snip]

bt->led.scroll_lock = bios_ram[0x97] & 1;
bt->led.num_lock = (bios_ram[0x97] >> 1) & 1;
bt->led.caps_lock = (bios_ram[0x97] >> 2) & 1;
bt->led.ok = 1;


Cut-n-paste commands to get to the source:

cd /tmp
wget http://ftp.opensuse.org/pub/opensuse/distribution/SL-OSS-factory/inst-source/suse/src/hwinfo-13.21-3.src.rpm
rpm2cpio < hwinfo-13.21-3.src.rpm | cpio -id
tar jxf hwinfo-13.21.tar.bz2
cd hwinfo-13.21/src/hd

Dax Kelson

-
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/