This will run the script /etc/acpi/powerbtn.sh when the
power-button is pressed.

Create/Modify /etc/acpi/powerbtn.sh

-------- /etc/acpi/powerbtn.sh --------
#!/bin/sh
# /etc/acpi/powerbtn.sh
# Initiates a shutdown when the power putton has been
# pressed.

hibernate
-------- /etc/acpi/powerbtn.sh --------

This will run hibernate when the power-button is pressed.

Hibernating and resuming works out-of-the-box. Only the touchscreen needs to be
reinitialized.

Resuming the Touchscreen

You need a program to initialize the touchscreen after resuming.
Download it from Elmar's Flybook
Page.
Untar it to a directory, compile and install it:make; make install
The program will be installed to /usr/bin/

Now you can initialize the touchscreen by running pentinit from a
shell as root.

For doing this automatically when resuming create a file
/usr/share/hibernate/scriptlets.d/tsi