In user space you can use sysfs interface, for example in shell:
Code:
# for using gpio no. 5
echo 5 > /sys/class/gpio/export
echo "in" > /sys/class/gpio/gpio5/direction
cat /sys/class/gpio/gpio5/value
# and when you end
echo 5 > /sys/class/gpio/unexport
Most embedded devices uses device tree to describe its hardware, then you can use kernel modules for handling buttons: gpio-keys-polled or gpio-keys. More info at
GPIO kernel documentation