ADB shell: change IME method gives error "Unknown ID: null" I bought a Chinese Android 4.2.2 smartwatch and discover it does not have a virtual keyboard. There is also no "input" option in Settings (there is "language" only).

I installed a third party keyboard (Anysoftkeyboard) and another app called Quick Keyboard Switch that can change keyboards with going through Settings.

When I run Quick Keyboard Switch and tried to enable the downloaded keyboard, the app force closed.

I found another post here describing how to use ADB shell to enable and set the default keyboard:

how to change input method with ime command

The instruction from the above post describes how to enable the keyboard using "ime enable com.etc.etc" command before setting the keyboard as default using "ime set com.etc.etc"

Unfortunately, when I use the "ime enable" command in ADB shell ("su" applied, the watch has been rooted), it gives me an error message:

Error: Unknown ID: null

When I use "ime set" command, it returns a similar error message ("com.etc.etc" (name of keyboard) instead of "null") - I gather this is because I have not enabled the keyboard yet.

I am worried that I don't even see "keyboard" option in Settings - does that mean the input module has been removed by the firmware maker of this smartwatch?

If so, where should I look in the Android firmware (I guess somewhere inside /system) that I can copy and paste to restore the keyboard input function?

I am NOT a developer nor a computer engineer. I google and try to find solutions to my problems. Thank you for your help and being patient.
It sounds like your suspicion is correct, and the manufacturer has removed this functionality from the firmware. I'm afraid it's not as simple as copying and pasting some files: you'd need to obtain the source code of the firmware, modify it, and recompile to add the functionality, and likely you'd need to overcome whatever problems made the vendor disable it in the first place (such as that keyboards aren't made for such small screens).