void ServerDriver::openvr_axisEvent(uint32_t unWhichDevice, uint32_t unWhichAxis, const vr::VRControllerAxis_t & axisState) {
	auto devicePtr = this->m_openvrIdToVirtualDeviceMap[unWhichDevice];
	if (devicePtr && devicePtr->deviceType() == VirtualDeviceType::TrackedController) {
		devicePtr->axisEvent(unWhichAxis, axisState);
	} else {
		if (_openvrIdToDeviceManipulationHandleMap[unWhichDevice] && _openvrIdToDeviceManipulationHandleMap[unWhichDevice]->isValid()) {
			_openvrIdToDeviceManipulationHandleMap[unWhichDevice]->ll_sendAxisEvent(unWhichAxis, axisState);
		}
	}
}
Пример #2
0
void OscReceiverInputKey::SendEvent(const FName & Address, const TArray<FOscDataElemStruct> & Data)
{
    if(Address != _addressName)
    {
        return;
    }

    auto & app = FSlateApplication::Get();
    
    const auto value = Data.Num() ? Data[0].GetValue<float>() : 0.f;
     
    FKeyEvent keyEvent(_key, app.GetModifierKeys(), 0, false, 0, 0);
    if(value < 0.5f)
    {
        app.ProcessKeyDownEvent(keyEvent);
    }
    else
    {
        app.ProcessKeyUpEvent(keyEvent);
    }

    FAnalogInputEvent axisEvent(_key, app.GetModifierKeys(), 0, false, 0, 0, value);
    app.ProcessAnalogInputEvent(axisEvent);
}
Пример #3
0
void Joystick::emitAxisEvent(int axis, int value)
{
  emit axisEvent(axis, value);
}