I had same problem. Everything exactly as you described.
Only way to get some control was through usb fastboot.
Using Android-SDK. I made restart (fastboot reboot) and got green logo screen. ´
I waited some time (quite long compared normal boot time) and finally it booted up in safe mode but hard buttons did't work.
I made restart and again was stuck in boot screen, made reboot again but this time it was stuck on logo screen too.
I removed battery for some minutes and tried again with success. And it was not even in safe mode. And keys were working.
But.. i noticed that after some time even when i didn't touch my phone volume screen came on and vol went up and after that my hard buttons didn't work again. I managed to get them working just lifting vol up button a bit.
So maybe the problem is in vol button. its somehow stuck.
-That's way it went on that boot screen (You need to press vol button and power to do that).
-That's way you didn't have control in boot screen because vol button is stuck and others don't work.
-And that's way it went in safe mode (You need to hold some button down when booting).
I lost my hard buttons control after i saw that vol up screen.
In one case solution was leaving battery out for some time. Maybe you phone did get some humidity and dried out with that time and worked fine after that.
In my case i think that the problem was humidity because buttons started working again when when phone was near car climate.
So maybe that helps someone with similar problem. When hard buttons don't work there is a big chance that its hardware problem : )
So when nothing else helps clean you button contacts.
All the best,