void ezVirtualThumbStick::RegisterInputSlots() { RegisterInputSlot(ezInputSlot_Controller0_LeftStick_NegX, "Left Stick Left", ezInputSlotFlags::IsAnalogStick); RegisterInputSlot(ezInputSlot_Controller0_LeftStick_PosX, "Left Stick Right", ezInputSlotFlags::IsAnalogStick); RegisterInputSlot(ezInputSlot_Controller0_LeftStick_NegY, "Left Stick Down", ezInputSlotFlags::IsAnalogStick); RegisterInputSlot(ezInputSlot_Controller0_LeftStick_PosY, "Left Stick Up", ezInputSlotFlags::IsAnalogStick); RegisterInputSlot(ezInputSlot_Controller0_RightStick_NegX, "Right Stick Left", ezInputSlotFlags::IsAnalogStick); RegisterInputSlot(ezInputSlot_Controller0_RightStick_PosX, "Right Stick Right", ezInputSlotFlags::IsAnalogStick); RegisterInputSlot(ezInputSlot_Controller0_RightStick_NegY, "Right Stick Down", ezInputSlotFlags::IsAnalogStick); RegisterInputSlot(ezInputSlot_Controller0_RightStick_PosY, "Right Stick Up", ezInputSlotFlags::IsAnalogStick); }
void ezInputManager::SetInputSlotDisplayName(const char* szInputSlot, const char* szDefaultDisplayName) { RegisterInputSlot(szInputSlot, szDefaultDisplayName, ezInputSlotFlags::Default); GetInternals().s_InputSlots[szInputSlot].m_sDisplayName = szDefaultDisplayName; InputEventData e; e.m_EventType = InputEventData::InputSlotChanged; e.m_szInputSlot = szInputSlot; s_InputEvents.Broadcast(e); }
void ezInputManager::SetInputSlotDeadZone(const char* szInputSlot, float fDeadZone) { RegisterInputSlot(szInputSlot, szInputSlot, ezInputSlotFlags::Default); GetInternals().s_InputSlots[szInputSlot].m_fDeadZone = ezMath::Max(fDeadZone, 0.0001f); InputEventData e; e.m_EventType = InputEventData::InputSlotChanged; e.m_szInputSlot = szInputSlot; s_InputEvents.Broadcast(e); }
ezKeyState::Enum ezInputManager::GetInputSlotState(const char* szInputSlot, float* pValue) { ezMap<ezString, ezInputSlot>::ConstIterator it = GetInternals().s_InputSlots.Find(szInputSlot); if (it.IsValid()) { if (pValue) *pValue = it.Value().m_fValue; return it.Value().m_State; } if (pValue) *pValue = 0.0f; ezLog::Warning("ezInputManager::GetInputSlotState: Input Slot '%s' does not exist (yet). To ensure all devices are initialized, call ezInputManager::Update before querying device states, or at least call ezInputManager::PollHardware.", szInputSlot); RegisterInputSlot(szInputSlot, szInputSlot, ezInputSlotFlags::None); return ezKeyState::Up; }