How to wake from sleep programmatically if lid closed?

You can schedule wake up events with IOPMSchedulePowerEvent through the power manager. You may be able to schedule an immediate wake up. pmset is a command line wrapper for the power manager. You can also prevent sleep with IOCancelPowerChange in certain cases.

You may be able to prevent sleep or wake up by generating a mouse or key event. One way to generate events is with CGPostKeyboardEvent.

Edit:

Normal sleep is different from clamshell closed sleep. To affect the latter you must write a kernel extension like Insomnia.

Leave a Comment