[DRAFT] Support making hybrid apps for Pico headsets#246
[DRAFT] Support making hybrid apps for Pico headsets#246dsnopek wants to merge 1 commit intoGodotVR:masterfrom
Conversation
| func _on_right_controller_pointer_button_pressed(p_name: String) -> void: | ||
| if p_name == 'trigger_click': | ||
| print("button: ", p_name) | ||
| if p_name == 'trigger_click' or p_name == 'select_button': |
There was a problem hiding this comment.
I'm not sure what's going on with this. I took a quick peek at the action map, and it seemed like I should be getting "trigger_click" for Pico 4 controllers, but instead I'm getting "select_button". Needs to be investigated more.
There was a problem hiding this comment.
Could this be related to the issue mentioned in RC, where Pico defaults to a compat mode?
There was a problem hiding this comment.
Yep, I think it's the same thing, but I haven't had a chance to investigate further yet.
But we'll definitely want to have the action map working correctly before taking this out of draft.
There was a problem hiding this comment.
It looks like there is a new controller interaction profile for Pico 4 Ultra (/interaction_profiles/bytedance/pico4s_controller - note the s in pico4s) and that is somehow related to it falling back on "Simple controller", because if I patch that into Godot, I'm able to get controller input normally. I'll make a Godot PR later, but I haven't yet managed to track down documentation on that interaction profile, so it'll have to be a draft until we can confirm all the paths
There was a problem hiding this comment.
f09e254 to
5d00ef4
Compare
5d00ef4 to
bb96d69
Compare
|
Rebased now that PR #245 has been merged The diff is really quite small now! |
|
|
||
| HybridType hybrid_type = _get_hybrid_app_setting_value(); | ||
| if (hybrid_type != HYBRID_TYPE_DISABLED) { | ||
| contents += " <meta-data tools:node=\"replace\" android:name=\"pvr.app.type\" android:value=\"2d\" />\n"; |
There was a problem hiding this comment.
I'm curious about this meta-data.. should its value be vr when we set the immersive activity as the default launcher?
There was a problem hiding this comment.
I think it might just control where the app is sorted in the library in headset. I need to experiment with that a bit.
But if that is correct, then, yeah, perhaps we should only set it when we start as panel, with the idea that the app is primarily a panel app.
| func _on_right_controller_pointer_button_pressed(p_name: String) -> void: | ||
| if p_name == 'trigger_click': | ||
| print("button: ", p_name) | ||
| if p_name == 'trigger_click' or p_name == 'select_button': |
There was a problem hiding this comment.
Could this be related to the issue mentioned in RC, where Pico defaults to a compat mode?
bb96d69 to
808d728
Compare
808d728 to
3f8f99f
Compare
This builds on PR #245 to attempt to add hybrid app support for Pico headsets as well.
It almost works!
Switching from immersive to panel works fine. Switching from immersive to panel works-ish, but the panel is minimized, and you have to click it on the toolbar again for it to appear, but it will appear in a panel.
Marking as DRAFT until we can get it working a little better.