mirror of
https://thingvellir.net/git/overte
synced 2025-03-27 23:52:03 +01:00
Make haptic pulse duration configurable in VirtualPadDevice
This commit is contained in:
parent
65a9b98b97
commit
8741c5e6a4
9 changed files with 18 additions and 21 deletions
|
@ -158,9 +158,9 @@ JNIEXPORT void Java_io_highfidelity_hifiinterface_InterfaceActivity_nativeOnCrea
|
|||
__interfaceActivity.callMethod<void>("openAndroidActivity", "(Ljava/lang/String;Z)V", string.object<jstring>(), jBackToScene);
|
||||
});
|
||||
|
||||
QObject::connect(&AndroidHelper::instance(), &AndroidHelper::hapticFeedbackRequested, [](const QString &c) {
|
||||
QAndroidJniObject string = QAndroidJniObject::fromString(c);
|
||||
__interfaceActivity.callMethod<void>("performHapticFeedback", "(Ljava/lang/String;)V", string.object<jstring>());
|
||||
QObject::connect(&AndroidHelper::instance(), &AndroidHelper::hapticFeedbackRequested, [](int duration) {
|
||||
jint iDuration = (jint) duration;
|
||||
__interfaceActivity.callMethod<void>("performHapticFeedback", "(I)V", iDuration);
|
||||
});
|
||||
}
|
||||
|
||||
|
|
|
@ -214,12 +214,9 @@ public class InterfaceActivity extends QtActivity {
|
|||
super.isLoading = false;
|
||||
}
|
||||
|
||||
public void performHapticFeedback(String feedbackConstant) {
|
||||
switch (feedbackConstant) {
|
||||
case "CONTEXT_CLICK":
|
||||
default:
|
||||
mVibrator.vibrate(50);
|
||||
break;
|
||||
public void performHapticFeedback(int duration) {
|
||||
if (duration > 0) {
|
||||
mVibrator.vibrate(duration);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -45,8 +45,8 @@ void AndroidHelper::notifyLoadComplete() {
|
|||
emit qtAppLoadComplete();
|
||||
}
|
||||
|
||||
void AndroidHelper::performHapticFeedback(const QString& feedbackConstant) {
|
||||
emit hapticFeedbackRequested(feedbackConstant);
|
||||
void AndroidHelper::notifyEnterForeground() {
|
||||
emit enterForeground();
|
||||
}
|
||||
|
||||
void AndroidHelper::showLoginDialog() {
|
||||
|
|
|
@ -27,7 +27,7 @@ public:
|
|||
void requestActivity(const QString &activityName, const bool backToScene);
|
||||
void notifyLoadComplete();
|
||||
|
||||
void performHapticFeedback(const QString& feedbackConstant);
|
||||
void performHapticFeedback(int duration);
|
||||
|
||||
QSharedPointer<AccountManager> getAccountManager() { return _accountManager; }
|
||||
AndroidHelper(AndroidHelper const&) = delete;
|
||||
|
@ -40,7 +40,7 @@ signals:
|
|||
void androidActivityRequested(const QString &activityName, const bool backToScene);
|
||||
void qtAppLoadComplete();
|
||||
|
||||
void hapticFeedbackRequested(const QString &feedbackConstant);
|
||||
void hapticFeedbackRequested(int duration);
|
||||
|
||||
private:
|
||||
AndroidHelper();
|
||||
|
|
|
@ -2867,8 +2867,8 @@ void Application::initializeUi() {
|
|||
#if defined(Q_OS_ANDROID)
|
||||
auto& virtualPadManager = VirtualPad::Manager::instance();
|
||||
connect(&virtualPadManager, &VirtualPad::Manager::hapticFeedbackRequested,
|
||||
this, []() {
|
||||
AndroidHelper::instance().performHapticFeedback("CONTEXT_CLICK");
|
||||
this, [](int duration) {
|
||||
AndroidHelper::instance().performHapticFeedback(duration);
|
||||
});
|
||||
#endif
|
||||
}
|
||||
|
|
|
@ -189,7 +189,7 @@ void TouchscreenVirtualPadDevice::InputDevice::update(float deltaTime, const con
|
|||
|
||||
bool TouchscreenVirtualPadDevice::InputDevice::triggerHapticPulse(float strength, float duration, controller::Hand hand) {
|
||||
auto& virtualPadManager = VirtualPad::Manager::instance();
|
||||
virtualPadManager.requestHapticFeedback();
|
||||
virtualPadManager.requestHapticFeedback((int) duration);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
|
@ -84,8 +84,8 @@ namespace VirtualPad {
|
|||
_jumpButtonPosition = point;
|
||||
}
|
||||
|
||||
void Manager::requestHapticFeedback() {
|
||||
emit hapticFeedbackRequested();
|
||||
void Manager::requestHapticFeedback(int duration) {
|
||||
emit hapticFeedbackRequested(duration);
|
||||
}
|
||||
|
||||
Instance* Manager::getLeftVirtualPad() {
|
||||
|
|
|
@ -46,7 +46,7 @@ namespace VirtualPad {
|
|||
void setExtraBottomMargin(int margin);
|
||||
glm::vec2 getJumpButtonPosition();
|
||||
void setJumpButtonPosition(glm::vec2 point);
|
||||
void requestHapticFeedback();
|
||||
void requestHapticFeedback(int duration);
|
||||
|
||||
static const float DPI;
|
||||
static const float BASE_DIAMETER_PIXELS;
|
||||
|
@ -58,7 +58,7 @@ namespace VirtualPad {
|
|||
static const float JUMP_BTN_RIGHT_MARGIN_PIXELS;
|
||||
|
||||
signals:
|
||||
void hapticFeedbackRequested();
|
||||
void hapticFeedbackRequested(int duration);
|
||||
|
||||
private:
|
||||
Instance _leftVPadInstance;
|
||||
|
|
|
@ -69,7 +69,7 @@ function shutdown() {
|
|||
}
|
||||
|
||||
function modeButtonPressed() {
|
||||
Controller.triggerHapticPulse(Controller.findDevice("TouchscreenVirtualPad"), 0.1, 1.0, 0);
|
||||
Controller.triggerHapticPulseOnDevice(Controller.findDevice("TouchscreenVirtualPad"), 0.1, 40.0, 0);
|
||||
}
|
||||
|
||||
function modeButtonClicked() {
|
||||
|
|
Loading…
Reference in a new issue