acpi_panasonic
—
ACPI hotkey driver for Panasonic laptops
To compile this driver into the kernel, place the following line
in your kernel configuration file:
device acpi_panasonic
Alternatively, to load the driver as a module at boot time, place
the following line in
loader.conf(5):
acpi_panasonic_load="YES"
The acpi_panasonic
driver enables such
hotkey facilities of various Panasonic laptops as changing LCD brightness,
controlling mixer volumes, entering sleep or suspended state and so on. On
the following models it is reported to work: Let's note (or Toughbook,
outside Japan) CF-R1N, CF-R2A and CF-R3. It may also work on other models as
well.
The driver consists of three functionalities. The first is to
detect hotkey events and take corresponding actions, which include changing
LCD luminance and speaker mute state. The second role is to notify
occurrences of the event by way of
devctl(4)
and eventually to
devd(8).
The third and last is to provide a way to adjust LCD brightness and sound
mute state via
sysctl(8).
There are 9 hotkeys available on the supported hardware:
- Fn+F1
- Make LCD backlight darker.
- Fn+F2
- Make LCD backlight brighter.
- Fn+F3
- Switch video output between LCD and CRT. Not supported by the
acpi_panasonic
driver.
- Fn+F4
- Toggle muting the speaker.
- Fn+F5
- Turn the mixer volume down.
- Fn+F6
- Turn the mixer volume up.
- Fn+F7
- Enter suspend-to-RAM state.
- Fn+F9
- Show battery status.
- Fn+F10
- Enter suspend-to-disk state.
Actions are automatically taken within the driver for
Fn+F1, Fn+F2 and
Fn+F4. For the other events such as mixer control and
showing battery status,
devd(8)
should take the role as described below.
When notified to
devd(8),
the hotkey event provides the following information:
- system
- "
ACPI
"
- subsystem
- "
Panasonic
"
- type
- The source of the event in ACPI namespace. The value depends on the model
but typically "
\_SB_.HKEY
".
- notify
- Event code (see below).
Event codes to be generated are assigned as follows:
- 0x81-0x86, 0x89
- Fn+F<n>
pressed. 0x81 corresponds to Fn+F1, 0x82 corresponds to
Fn+F2, and so on.
- 0x01-0x07, 0x09, 0x1a
- Fn+F<n>
released. 0x01 corresponds to Fn+F1, 0x02 corresponds to
Fn+F2, and so on.
The following MIBs are available:
- hw.acpi.panasonic.lcd_brightness_max
- The maximum level of brightness. This read-only value is automatically set
according to hardware model.
- hw.acpi.panasonic.lcd_brightness_min
- The minimum level of brightness. This read-only value is automatically set
according to hardware model.
- hw.acpi.panasonic.lcd_brightness
- Current brightness level of the LCD (read-write). The value ranges from
hw.acpi.panasonic.lcd_brightness_min to
hw.acpi.panasonic.lcd_brightness_max.
- hw.acpi.panasonic.sound_mute
- A read-write boolean flag to control whether to mute the speaker. The
value 1 means to mute and 0 not.
The acpi_panasonic
driver first appeared
in FreeBSD 5.3.