We're going to figure this out, BILLYKANE!
I started digging further into the various solutions and software available for ACPI, and saw a few that looked familiar, such as xmodmap, which I believe I have used in the past.
One I ran across is an omnibook module that could provide the functionality you need. I downloaded the source and here is the README file under the doc/ directory:
Kernel Support for HP OmniBooks, Pavilions and Compal laptops
This package is intended to provide Linux kernel support for many laptops such as:
- HP OmniBook and Pavilion
- Toshiba Satellite and Tecra which are not supported by the toshiba_acpi module
- Compal ACL00
- Many laptops manufactured by Compal Electronics, Inc as ODM
Supported features depends on the exact laptop model but may include:
- Enabling hotkey buttons
- Console (LCD display) blanking
- Battery status monitoring.
- Fan and fan policy support
- Touchpad control
- AC Adapter status monitoring
- External display monitors status monitoring and control
- LCD brightness (backlight) monitoring and control
- Docking station/port replicator status
- CPU temperature monitoring
- Mute LED monitoring and control
- Wifi and Bluetooth adapters monitoring and control
- Cooling method control
- CPU Throttling control
Full documentation (HOWTO, Installation instructions, Supported laptops list... ):
Sourceforge project page:
Other links not related to the project:
For HP Omnibook specific issues ou can see the OmniBook mailing list:
or the Toshiba linux mailing list:
I downloaded the source found here
, the latest one, but it would not compile on my system. I tried it on my Slackware system and that one failed as well. After a bit of searching, I found this reference:
You can see there is mention of a file that can be found here
that is a source rpm. I extracted the source by the following steps, and it compiled properly. There is mention of a patch in the page where I found that ftp file, but I'm not sure what they are discussing there. They might be adding this code the kernel source, but that is just a guess.
I started from my home directory for my user, where the omnibook-20080627-1.1.6.src.rpm file is located.
jcwx@mars:~$ mkdir temp
jcwx@mars:~$ cp omnibook-20080627-1.1.6.src.rpm temp
jcwx@mars:~$ cd temp
jcwx@mars:~/temp$ rpm2cpio omnibook-20080627-1.1.6.src.rpm | cpio -idv
jcwx@mars:~/temp$ tar -xvjf omnibook-2.20080627.tar.bz2
jcwx@mars:~/temp$ cd omnibook-2.20080627
Makefile compal.c dump.c info.c misc/ sections.lds
ac.c compat.h ec.c init.c muteled.c temperature.c
acpi.c cooling.c fan.c kbc.c nbsmi.c throttling.c
battery.c display.c fan_policy.c laptop.h omnibook.h touchpad.c
blank.c doc/ hardware.h lcd.c pio.c wireless.c
bluetooth.c dock.c hotkeys.c lib.c polling.c
make -C /lib/modules/18.104.22.168-smp/build SUBDIRS=/home/jcwx/temp/omnibook-2.20080627 modules
make: Entering directory `/usr/src/linux-22.214.171.124'
CC [M] /home/jcwx/temp/omnibook-2.20080627/init.o
CC [M] /home/jcwx/temp/omnibook-2.20080627/lib.o
CC [M] /home/jcwx/temp/omnibook-2.20080627/throttling.o
LD [M] /home/jcwx/temp/omnibook-2.20080627/omnibook.o
Building modules, stage 2.
MODPOST 1 modules
LD [M] /home/jcwx/temp/omnibook-2.20080627/omnibook.ko
make: Leaving directory `/usr/src/linux-126.96.36.199'
root@mars:/home/jcwx/temp/omnibook-2.20080627# make install
I didn't install the module on my system as there is no need to do so. You will now have a module named 'omnibook' installed on your system, and will need to load it with:
root@mars:~# modprobe omnibook
You can then do some testing to see if any of your Fn keys are working.
Let us know if this helps you.