Skip to content

Commit

Permalink
Adding special Flystick buttons instead of Gamepad button mappings
Browse files Browse the repository at this point in the history
  • Loading branch information
RZ-WIN\rolv committed May 31, 2021
1 parent f662571 commit 94e35c3
Show file tree
Hide file tree
Showing 3 changed files with 57 additions and 14 deletions.
24 changes: 12 additions & 12 deletions Source/DTrackInput/Private/DTrackFlystickInputDevice.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -52,18 +52,18 @@ FDTrackFlystickInputDevice::FDTrackFlystickInputDevice(const TSharedRef< FGeneri
ModularFeatures.OnModularFeatureRegistered().AddRaw(this, &FDTrackFlystickInputDevice::on_modular_feature_registerd);
}

m_button_mapping.Add( EKeys::Gamepad_LeftTrigger.GetFName() );
m_button_mapping.Add( EKeys::Gamepad_FaceButton_Bottom.GetFName() );
m_button_mapping.Add( EKeys::Gamepad_FaceButton_Right.GetFName() );
m_button_mapping.Add( EKeys::Gamepad_FaceButton_Left.GetFName() );
m_button_mapping.Add( EKeys::Gamepad_FaceButton_Top.GetFName() );
m_button_mapping.Add( EKeys::Gamepad_DPad_Up.GetFName() );
m_button_mapping.Add( EKeys::Gamepad_DPad_Down.GetFName() );
m_button_mapping.Add( EKeys::Gamepad_DPad_Right.GetFName() );
m_button_mapping.Add( EKeys::Gamepad_DPad_Left.GetFName() );

m_joystick_mapping.Add( EKeys::Gamepad_LeftX.GetFName() );
m_joystick_mapping.Add( EKeys::Gamepad_LeftY.GetFName() );
m_button_mapping.Add( FDTrackInputModule::FlystickTrigger.GetFName() );
m_button_mapping.Add( FDTrackInputModule::FlystickButton1.GetFName() );
m_button_mapping.Add( FDTrackInputModule::FlystickButton2.GetFName() );
m_button_mapping.Add( FDTrackInputModule::FlystickButton3.GetFName() );
m_button_mapping.Add( FDTrackInputModule::FlystickButton4.GetFName() );
m_button_mapping.Add( FDTrackInputModule::FlystickButton5.GetFName() );
m_button_mapping.Add( FDTrackInputModule::FlystickButton6.GetFName() );
m_button_mapping.Add( FDTrackInputModule::FlystickButton7.GetFName() );
m_button_mapping.Add( FDTrackInputModule::FlystickButton8.GetFName() );

m_joystick_mapping.Add( FDTrackInputModule::FlystickThumbstickX.GetFName() );
m_joystick_mapping.Add( FDTrackInputModule::FlystickThumbstickY.GetFName() );
}

FDTrackFlystickInputDevice::~FDTrackFlystickInputDevice() {
Expand Down
28 changes: 27 additions & 1 deletion Source/DTrackInput/Private/DTrackInputModule.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -32,9 +32,35 @@

DEFINE_LOG_CATEGORY(LogDTrackInput);


/* Keys */
const FKey FDTrackInputModule::FlystickTrigger = FKey("Flystick_Trigger");
const FKey FDTrackInputModule::FlystickButton1 = FKey("Flystick_Button_1");
const FKey FDTrackInputModule::FlystickButton2 = FKey("Flystick_Button_2");
const FKey FDTrackInputModule::FlystickButton3 = FKey("Flystick_Button_3");
const FKey FDTrackInputModule::FlystickButton4 = FKey("Flystick_Button_4");
const FKey FDTrackInputModule::FlystickButton5 = FKey("Flystick_Button_5");
const FKey FDTrackInputModule::FlystickButton6 = FKey("Flystick_Button_6");
const FKey FDTrackInputModule::FlystickButton7 = FKey("Flystick_Button_7");
const FKey FDTrackInputModule::FlystickButton8 = FKey("Flystick_Button_8");
/* Axis */
const FKey FDTrackInputModule::FlystickThumbstickX = FKey("Flystick_Thumbstick_X");
const FKey FDTrackInputModule::FlystickThumbstickY = FKey("Flystick_Thumbstick_Y");

TSharedPtr< class IInputDevice > FDTrackInputModule::CreateInputDevice(const TSharedRef< FGenericApplicationMessageHandler >& InMessageHandler) {
EKeys::AddMenuCategoryDisplayInfo(FlystickKeyCategory, FText::AsCultureInvariant("A.R.T. Flystick"), TEXT("GraphEditor.PadEvent_16x"));

EKeys::AddKey(FKeyDetails(FlystickTrigger, FText::AsCultureInvariant("Flystick Trigger"), FKeyDetails::GamepadKey, FlystickKeyCategory));
EKeys::AddKey(FKeyDetails(FlystickButton1, FText::AsCultureInvariant("Flystick Button 1"), FKeyDetails::GamepadKey, FlystickKeyCategory));
EKeys::AddKey(FKeyDetails(FlystickButton2, FText::AsCultureInvariant("Flystick Button 2"), FKeyDetails::GamepadKey, FlystickKeyCategory));
EKeys::AddKey(FKeyDetails(FlystickButton3, FText::AsCultureInvariant("Flystick Button 3"), FKeyDetails::GamepadKey, FlystickKeyCategory));
EKeys::AddKey(FKeyDetails(FlystickButton4, FText::AsCultureInvariant("Flystick Button 4"), FKeyDetails::GamepadKey, FlystickKeyCategory));
EKeys::AddKey(FKeyDetails(FlystickButton5, FText::AsCultureInvariant("Flystick Button 5"), FKeyDetails::GamepadKey, FlystickKeyCategory));
EKeys::AddKey(FKeyDetails(FlystickButton6, FText::AsCultureInvariant("Flystick Button 6"), FKeyDetails::GamepadKey, FlystickKeyCategory));
EKeys::AddKey(FKeyDetails(FlystickButton7, FText::AsCultureInvariant("Flystick Button 7"), FKeyDetails::GamepadKey, FlystickKeyCategory));
EKeys::AddKey(FKeyDetails(FlystickButton8, FText::AsCultureInvariant("Flystick Button 8"), FKeyDetails::GamepadKey, FlystickKeyCategory));
EKeys::AddKey(FKeyDetails(FlystickThumbstickX, FText::AsCultureInvariant("Flystick Thumbstick X"), FKeyDetails::GamepadKey | FKeyDetails::Axis1D, FlystickKeyCategory));
EKeys::AddKey(FKeyDetails(FlystickThumbstickY, FText::AsCultureInvariant("Flystick Thumbstick Y"), FKeyDetails::GamepadKey | FKeyDetails::Axis1D, FlystickKeyCategory));

return TSharedPtr< class IInputDevice >(new FDTrackFlystickInputDevice(InMessageHandler));
}

Expand Down
19 changes: 18 additions & 1 deletion Source/DTrackInput/Private/DTrackInputModule.h
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@


#include "IDTrackInputModule.h"
#include "InputCoreTypes.h"

class FDTrackFlystickInputDevice;
class ILiveLinkClient;
Expand All @@ -42,7 +43,23 @@ DECLARE_LOG_CATEGORY_EXTERN(LogDTrackInput, Log, All);
class FDTrackInputModule : public IDTrackInputModule
{
public:


/* Category */
const FName FlystickKeyCategory = FName("ART_Flystick");
/* Keys */
static const FKey FlystickTrigger;
static const FKey FlystickButton1;
static const FKey FlystickButton2;
static const FKey FlystickButton3;
static const FKey FlystickButton4;
static const FKey FlystickButton5;
static const FKey FlystickButton6;
static const FKey FlystickButton7;
static const FKey FlystickButton8;
/* Axis */
static const FKey FlystickThumbstickX;
static const FKey FlystickThumbstickY;

//~ Begin IInputDeviceModule implementation
virtual TSharedPtr< class IInputDevice > CreateInputDevice(const TSharedRef< FGenericApplicationMessageHandler >& InMessageHandler) override;
//~ End IInputDeviceModule implementation
Expand Down

0 comments on commit 94e35c3

Please sign in to comment.