InputManager.injectInputEvent() 를 사용하면 가능하나 hide되어 있는 메소드이기 때문에 일반적인 앱에서는 사용 불가능 합니다.
Home / VolumeKey 를 직접 인젝션 하는 방법 말고 동일한 동작을 하게 하면 될 것으로 생각되는데요.
어차피 Home키가 눌렸을 때는 WindowManagerService에서 Home app을 실행시켜 주는 동작을 하는 거니 아래와 같은 방법으로
home app을 실행하면 될것 이고
startActivity(new Intent().setAction("android.intent.action.MAIN").addCategory("android.intent.category.HOME"));
Volume Down/Up키는 AudioService에서 볼륨을 변경하고 VolumePanel을 띄워주는 동작을 하니
AudioManager.setStreamVolume(AudioManager.STREAM_RING, 5, AudioManager.FLAG_SHOW_UI); 와 같은 방식으로
볼륨 조절 및 VolumePanel을 보여주게 하면 될 것으로 생각됩니다.