0 votes
by (300 points)

I'm trying to change the Home so that it recenters the display instead of taking the user to the home screen, but I can't seem to make this work. The documentation indicates either of the following method calls will work:

PXRSystem.PropertySetHomeKey(HomeEventEnum.SINGLECLICK, HomeFunctionEnum.VALUEHOMERECENTER, null);

PXRSystem.PropertySetHomeKeyAll(HomeEventEnum.SINGLECLICK, HomeFunctionEnum.VALUEHOMERECENTER, 0, null, null, null);

I am calling this from a GameObject attached to the camera, in it's Start() method, but neither one does anything - the home button behaves the same as before.

Is there some additional call I need to do before or instead of this, or some other functionality/setting I need to implement?

1 Answer

0 votes
by (55.5k points)

Dear developers,
Is your device model Neo 3 or Neo 3 Pro/Neo 3 Pro Eye?
This interface only supports Pico neo 3 Pro/ Pico neo 3 Pro Eye devices,
Pico neo 3 is not supported.
You can check out the following links for more information
http://developer.pico-interactive.com/docs/en/12058/225691/#_9-8-system-related

by (300 points)

The headset is a Pico Neo 3 Pro, which should be supported by this.

by (55.5k points)

Dear developer,
Please initialize System Service before using the interfaces. Detailed description as follow:

http://developer.pico-interactive.com/docs/en/12058/225691/#_9-8-system-related

by (300 points)

I got this to work but the SDK docs are confusing. I wound up using PXR_System.InitSystemService(this.name); instead of a fixed string, and inside of the toBServiceBind method I call PropertySetHomeKey to change a single click to recenter.

But now I would like the double-click or a long press to become what the system default single click is, that it takes the user back to the virtual desktop with the same message box "quit or continue". How do I do that?

Are there any more explic documentation on using InitSystemService and PropertySetHomeKey / PropertySetHomeKeyAll and what the enum values really do? For example, for PropertySetHomeKeyAll, do I need to pass the timesetup value to how long I want the long press for? The sdk docs indicate this is a return value but that doesn't make sense.

by (300 points)

Also, it appears that changing these values once persists across the hardware rebooting. Are the changes made here permanent and change a global system config value?

by (55.5k points)

Dear developer,

Changing the home button single click event does not affect the double click and long press functions of the home button. Check if you have changed the double click and long press functions before.
Changes are global, they take effect even after you reboot the device.
You can change back to the functionality you need by calling the method again.

by (300 points)

"You can change back to the functionality you need by calling the method again."

What parameters do I use to return the single-click home button back to it's original functionality? More exactly, what are the method calls to reset the all of the home button's functionality back to the default?

"Changing the home button single click event does not affect the double click and long press functions of the home button. Check if you have changed the double click and long press functions before."

I have not done this; I am asking how I do this. Specifically, I want to know:
a) what are the parameters to pass to PropertySetHomeKeyAll that registers a long press function for the Home button,
and
b) what are the parameters I should be passing that would make a single, double, or long press of the home button behave exactly like the system default of the home button (that is, the Pico's desktop appears and a message box appears with "Do you want to quit or continue your application?")

by (55.5k points)

Dear developer,

The long-press home button function cannot be modified. Only single-click and double-click events can be modified.

You can use the following methods to set the home button as the default function:

Single-click function:

    PXR_System.PropertySetHomeKeyAll(HomeEventEnum.SINGLE_CLICK, HomeFunctionEnum.VALUE_HOME_GO_TO_SETTING, 0, null, null, callback);

Double-click function:

 PXR_System.PropertySetHomeKeyAll(HomeEventEnum.DOUBLE_CLICK, HomeFunctionEnum.VALUE_HOME_GO_TO_SETTING, 1, null, null,callback);

Parameter HomeFunctionEnum.VALUEHOMEGOTOSETTING: sets the home button to the default setting(that is, the Pico's desktop appears and a message box appears with "Do you want to quit or continue your application?"))

by (300 points)

Thank you; I will try this out and see if this works.
Does the method "ResetAllKeyToDefault" also perform the same function as setting the home key back as you document above, in addition to the other buttons? Or does it only affect certain buttons like the escape and confirm/enter?

by (55.5k points)

Dear developer,
Yes, the ResetAllKeyToDefault function can set the Home button and so on to default values.

...