After reading through solutions to many similar questions* Used to do understand that onKeyListener() doesn't get key press occasions from the soft (virtual) keyboard. It will get them only from the hard (physical) keyboard. And also the workaround could be either to utilize a TextWatcher or onKeyboardActionListener. I've following questions:

(1) It is possible to method to have the ability to pay attention to key presses from the keyboard (soft or hard) just by applying one listener? or essentially just one API that actually works for?

(2) TextWatcher or onKeyboardActionListener, unlike onKeyListener()'s onKey() method, don't pass the vista that presently has focus (and where the user is typing input). So, how do you obtain the presently focussed view basically would use TextWatcher or onKeyboardActionListener? I want this to have the ability to set some qualities around the EditText where the user is typing their input, in line with the input.

*Related questions: onKeyListener not working on virtual keyboard, onKeyListener not working with soft keyboard (Android), Android: why is my OnKeyListener() not called?

Thanks!