As it's said in android developers blog:
By itself, the touch mode is something very easy to understand as it simply indicates whether the last user interaction was performed with the touch screen. For example, if you are using a G1 phone, selecting a widget with the trackball will take you out of touch mode; however, if you touch a button on the screen with your finger, you will enter touch mode. When the user is not in touch mode, we talk about the trackball mode, navigation mode or keyboard navigation...
But android is booting by default in touch mode. How can I switch device into keyboard navigation mode, or make it a default one?
I'm developing app for a specific device, so it's rooted and I can also modify firmware.
You can force an Android device in or out of touch mode using Instrumentation.setInTouchMode(boolean).
new Instrumentation().setInTouchMode(false);
Running this as part of a boot receiver would probably achieve what you are looking for.