Разница между жёстким и программным сбросом клавиатуры заключается в методе выполнения процедуры:
Таким образом, при жёстком сбросе процедура выполняется аппаратно, а при программном — через программное обеспечение устройства. ru.wikipedia.org android.stackexchange.com