I'll see. I believe this is possible, but detecting the hammer in the slot is not possible as far as I know.
Maybe it is though.
Yeah the "attempt to call global exit" is semi intended as I don't know of any "exit()" methods that does the same, this is just to abort the program. It has no other side effects other than the error message.
What do you mean by "If there is empty space he wont go anywhere."