One of common questions about GameMaker: Studio include "How do I detect presses of hardware buttons (Home, Menu, Back, Search)?".
Despite of common assumptions, usage of these in GameMaker: Studio is pretty straight-forward - mentioned button events are automatically mapped to according keyboard button events. So, handling these is as easy as adding standard keyboard events.
More information about each follows,
"Menu" button is mapped to keyboard key "M" (index 77, ord("M")). It's worth noting that if you are running your game from inside of GameMaker: Studio (and thus using YoYoRunner) this button may not work at all times, opening runner menu or even popping up a keyboard.
"Back/return" button (which you probably know as a curved arrow pointing left) is mapped to Backspace (index 8, vk_backspace). Fairly intuitive, and does not have any oddities.
"Search" button is mapped to Control key (index 17, vk_control). Honestly, I fail to see the relevance of two, but that's not in scope of this article. A thing that you should also keep in mind is that not all devices have this button (especially android 4.x tablets), so you should not use it as the only method of input for any critically important in-game action.
I'm not sure why do people even ask whether it's possible to bind an action to "Home" button. As you may guess, events related to this button are handled by OS itself (normally minimizing active application and opening home screen), so it's not possible to do much about it. You weren't planning to trap the player inside your game anyway, right?
Despite of mapping, as of version 1.1.917 hardware buttons still do not change keyboard_lastkey / keyboard_lastchar variables, so it's not recommended to use two in combination..
I hope this was useful.