wistron_btns

Description

wistron_btns is a driver for buttons present on some laptops in addition to the standard keyboard. It uses an x86 BIOS interface that is apparently used on quite a few laptops and seems to originate from Wistron.

In addition to reporting button presses to user-space the driver also allows enabling/disabling embedded wireless NIC and Bluetooth interface, if present.

The driver is included in the Linux kernel since version 2.6.15. It autodetects most supported laptops, so you only need to load the module; if the laptop can’t be autodetected, it can be selected using the keymap= module option.

Please send patches and bug reports to mitr@volny.cz.

Supported laptops

ManufacturerModelSupported inKeymap name
AcerAspire 15002.6.15N/A
Fujitsu-SiemensAmilo Pro V20002.6.15N/A
XeronSonicPro X 155G2.6.151557/MS2141
AcerTravelMate 240Linus’s treeN/A

Supporting other laptops

If your laptop is not in the table above:

  • wistron_btns only works on 32-bit x86 architectures. There is a similar interface using ACPI instead of BIOS calls, supported e.g. by the acer_acpi module.

  • Load the module with force=1; if it refuses to load and “BIOS entry point not found” is reported in kernel messages, your laptop doesn’t support the BIOS interface. Maybe it uses the ACPI interface mentioned above or it reports the keys as keys on the keyboard (use xev or showkey to check that).

    Otherwise press all relevant buttons and watch kernel messages to create a table of key codes. In addition to the “obvious” buttons try also other key combinations that are specially marked on the keyboard, e.g. Fn+F1.

  • Run dmidecode to find the DMI info.

Please send the resulting data, or a patch using the data, to mitr@volny.cz.