So i just had this problem like 5 minutes ago and finally fixed it , i tried the hard reset way , turning off the gestures neither of those two worked .
1) the reason for your home button to not be working is because of moisture even if a drop of water can make it stop functioning , im my case i did a workout and used my sweaty fingers on it , and some sweat from the face fell on it , which lead to the button not working
2) to fix this problem , drain your phones battery completely to 0% till it automatically shuts down , the do some light blowdrying on that are (the speakers and the charger port give direct access to the inside so you can use that or just blowdry on the home button) then take a micro fiber cloth (basically the cloth which comes with reading glasses or which they use for cleaning screens <- for all those who dont know about micro fibre cloth) and rub it on the home button continuously for 5 mintues atleast with reasonable amount of force to crate friction , this will remove the moisture from the button and when you charge and open it , it will work ( note that many people here have said that while using this method , first charge your phone to 100% , but that is not necessary as it does not make sense and works right after it has restarted and reached the lockscreen) this is the best solution out there , dont remove all your memory(as done in some other methods) for no reason ,
I tried to be as brief as possible cause even i was searching here and could only find vague answers (but thanks to them it all went well) , i hope this helps and do let me know if it does :D