[ltp] [announcement] tpb - program to use the IBM ThinkPad (tm)
special key
Rob Mayoff
linux-thinkpad@www.bm-soft.com
20 Jun 2002 17:55:11 -0500
+---------- On Jun 20, Markus Braun said:
> Are the bits the same as on my T21?
Yes. In addition (on my A30p):
byte 0x39: xxxx xxxx
|| ||||
|| |+++--> cycle as Fn-F11 pressed (100, 010, 001)
|| | when external power is connected;
|| | may indicate performance mode
|| |
++-+-----> cycle as Fn-F11 pressed (100, 010, 001)
when external power is not connected;
may indicate performance mode
I think I disabled power-saving modes in the
BIOS setup, so I can't easily test this. But my
770Z definitely used Fn-F11 to change the
performance mode (max performance/max battery
life).
byte 0x57: xxxx xxxx
| | ||
| | |+---> toggle if Fn-F2 (???) pressed
| | |
| | +----> toggle if Fn-F11 pressed (see byte 0x39)
| |
| +--------> toggle if Fn-Spacebar (screen zoom?) pressed
|
+----------> toggle if Fn-F12 (hibernate) pressed
byte 0x58: xxxx xxxx
||
|+--> toggle if Fn-F4 (suspend) pressed
|
+---> toggle if Fn-F12 (hibernate) pressed
(complement of 0x57 high bit)
I don't have hibernation set up so I can't check
the meaning of this.
byte 0x59: xxxx xxxx
||
++-------> toggle if Fn-F8 (screen expand) pressed
byte 0x62: xxxx xxxx
|
+----------> lid state (0=closed, 1=open)
Here's the script I used to watch changes. It prints the byte offsets
in hex and prints the byte contents (old and new) in binary:
#!/bin/bash
while :; do
cat /dev/nvram > 2
cmp -l 1 2 | while read offset old new; do
let offset=$offset-1
offset=$(printf 0x%02x $offset)
old=$(printf %08d $(echo "2o8i$old f" | dc))
new=$(printf %08d $(echo "2o8i$new f" | dc))
echo $offset $old '->' $new
done
mv 2 1
done
----- The Linux ThinkPad mailing list -----
The linux-thinkpad mailing list home page is at:
http://www.bm-soft.com/~bm/tp_mailing.html