<<The Windows Vista(TM) operating system provides built-in support for a fast system startup experience that boots or resumes directly into media or other applications. This support, called direct application launch, is possible on PCs that are running Windows Vista by making simple changes to platform firmware and underlying platform wake circuitry.>>
With the introduction of Vista Microsoft launched a new ACPI
*specification* to allow computers in sleep/off states to boot
directly into multimedia applications by only pressing hardware buttons.
This project provides support to these devices allowing userspace scripts to launch multimedia applications based on which button was pressed.
When the system boots, the driver receives an ACPI event telling which button
was used to power the system on. Then, the driver exports this information to sysfs
allowing userspace scripts to know the button name.
This also applies to memory suspend and other power saving states.
File buttons shows a list of supported hot buttons.
$ cat /sys/devices/platform/quickstart/buttons
File pressed_button shows the hot button name used to power/resume the system.
You can also write "none" to it to reset.
$ cat /sys/devices/platform/quickstart/pressed_button
Mobile and Media Center Linux distributors could use this to enrich their
It's easy to make an alternate init script that checks if some button was pressed and launch the appropriate application without having to load the entire system.
Here are some ideas.. It's up to you!
Source code is already available in Linux-2.6.35 and later.
To enable the driver enable CONFIG_ACPI_QUICKSTART or, in menuconfig, go to
Device Drivers --->
[*] Staging drivers --->
[ ] Exclude Staging drivers from being built
[*] ACPI Quickstart key driver
you will also need CONFIG_ACPI and CONFIG_INPUT set.
Microsoft paper describing Direct App Launch on Vista;