I can't express enough how much I appreciate your time and efforts in explaining this. It became crystal clear and finally worked

I thought of the role of key_init_single(...) in a very wrong way. It seemed to me that it somehow emulates a physical push.
Well, I am very new to this stuff. I hope you can forgive me
