Specifications
CHAPTER 2. DRIVERS AND INTERFACES 15
set to 0x80, the value of data depends on which hotkey is pressed. E.g. the hotkey combination
Fn-F4 creates the following ACPI event:
pcc HKEY 00000080 00000084
Most Sony laptops have a proprietary programmable controller called “Sony Programmable
I/O Control Device”. This device can be accessed using the Sony PI driver (CONFIG SONYPI)
which creates the user space interface /dev/sonypi. Additional user space programs are
required to utilize this interface. Regarding user input, the interface provides access to infor-
mation. Many Sony laptops have a so called “jogdial” which can be compared to the scroll
wheel of a mouse. The jogdial can be moved in two directions (up and down) and it can be
pressed. The driver also provides access to function keys which trigger events. The driver’s
author offers user space tools which use the driver’s interface at http://popies.net/sonypi/.
In order to access the system management mode (SMM) on Toshiba laptops, the driver
toshiba.c found in drivers/char is required. The driver creates the user space interface
/proc/toshiba using the proc file system. Upon reading /proc/toshiba, the driver retrieves
information and returns them to the reading process—for example, which function key was
pressed at last. In addition to this interface, the Toshiba driver creates the device toshiba in
/dev which can be used by applications to access the two proprietary interfaces SCI and HCI.
The tool toshset (available from http://www.schwieters.org/toshset/ is utilizing this
interface. A list of the laptops supported by the Toshiba SMM driver is found in Appendix C,
§C.9.
Function keys found on Acer laptops can be enabled using the “Acer Hotkey driver for
Linux” (http://www.informatik.hu-berlin.de/~tauber/acerhk/). This driver directly ac-
cesses the system’s BIOS and generates input event using the Linux input core. Hence, no
additional user space program is needed to use the function keys. A list of the laptops sup-
ported by the Acer driver is found in Appendix C, §C.1.
Most function keys found on Hewlett Packard laptops already trigger normal keyboard
scancodes, thus they are covered by the Linux input core and do not need an additional driver
or software. Some function keys are not working but can be activated using a kernel module
provided by the project omke. The sources are available from http://sourceforge.net/
projects/omke/. Once the kernel module is loaded, the missing buttons are working. Like
the Acer driver, normal scancodes are generated and no additional software is needed. A list
of supported laptops by this driver is found in Appendix C, §C.4.