Add a devd notification for closing/opening the lid on PowerBooks and iBooks.
Approved by: nwhitehorn (mentor)
This commit is contained in:
parent
54ad8a62ed
commit
6431ede397
@ -11,6 +11,16 @@ notify 0 {
|
||||
};
|
||||
|
||||
|
||||
# Keyboard power key
|
||||
notify 0 {
|
||||
match "system" "PMU";
|
||||
match "subsystem" "lid";
|
||||
match "type" "close";
|
||||
match "notify" "0x0";
|
||||
action "shutdown -p now";
|
||||
};
|
||||
|
||||
|
||||
# The next blocks enable volume hotkeys that can be found on Apple laptops
|
||||
notify 0 {
|
||||
match "system" "PMU";
|
||||
|
@ -701,6 +701,20 @@ pmu_intr(void *arg)
|
||||
adb_receive_raw_packet(sc->adb_bus,resp[1],resp[2],
|
||||
len - 3,&resp[3]);
|
||||
}
|
||||
if (resp[1] & PMU_INT_ENVIRONMENT) {
|
||||
// if the lid was just closed, notify devd.
|
||||
if ((resp[2] & PMU_ENV_LID_CLOSED) && (!sc->lid_closed)) {
|
||||
sc->lid_closed = 1;
|
||||
if (devctl_process_running())
|
||||
devctl_notify("PMU", "lid", "close", NULL);
|
||||
}
|
||||
else if (!(resp[2] & PMU_ENV_LID_CLOSED) && (sc->lid_closed)) {
|
||||
// if the lid was just opened, notify devd.
|
||||
if (devctl_process_running())
|
||||
devctl_notify("PMU", "lid", "open", NULL);
|
||||
sc->lid_closed = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static u_int
|
||||
|
@ -160,6 +160,7 @@ struct pmu_softc {
|
||||
volatile int sc_autopoll;
|
||||
int sc_batteries;
|
||||
struct cdev *sc_leddev;
|
||||
int lid_closed;
|
||||
};
|
||||
|
||||
struct pmu_battstate {
|
||||
|
Loading…
Reference in New Issue
Block a user