Skip to content

Commit 44e64e8

Browse files
committed
Adding virtual key stringification and adapting parameters
1 parent 1ad8749 commit 44e64e8

File tree

5 files changed

+22
-7
lines changed

5 files changed

+22
-7
lines changed

CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@ set(SOURCE_FILES
5959
${CMAKE_CURRENT_LIST_DIR}/Src/DasherCore/DasherModel.cpp
6060
${CMAKE_CURRENT_LIST_DIR}/Src/DasherCore/DasherModule.cpp
6161
${CMAKE_CURRENT_LIST_DIR}/Src/DasherCore/DasherNode.cpp
62+
${CMAKE_CURRENT_LIST_DIR}/Src/DasherCore/DasherTypes.cpp
6263
${CMAKE_CURRENT_LIST_DIR}/Src/DasherCore/DasherView.cpp
6364
${CMAKE_CURRENT_LIST_DIR}/Src/DasherCore/DasherViewSquare.cpp
6465
${CMAKE_CURRENT_LIST_DIR}/Src/DasherCore/DefaultFilter.cpp

Src/DasherCore/DasherTypes.cpp

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
#include "DasherTypes.h"
2+
#include <array>
3+
#include <algorithm>
4+
5+
namespace Dasher {
6+
7+
namespace Keys {
8+
static std::array<std::string, 104> keyNames = {"Invalid","Big_Start_Stop","Button_1","Button_2","Button_3","Button_4","Button_5","Button_6","Button_7","Button_8","Button_9","Button_10","Button_11","Button_12","Button_13","Button_14","Button_15","Button_16","Button_17","Button_18","Button_19","Button_20","Button_21","Button_22","Button_23","Button_24","Button_25","Button_26","Button_27","Button_28","Button_29","Button_30","Button_31","Button_32","Button_33","Button_34","Button_35","Button_36","Button_37","Button_38","Button_39","Button_40","Button_41","Button_42","Button_43","Button_44","Button_45","Button_46","Button_47","Button_48","Button_49","Button_50","Button_51","Button_52","Button_53","Button_54","Button_55","Button_56","Button_57","Button_58","Button_59","Button_60","Button_61","Button_62","Button_63","Button_64","Button_65","Button_66","Button_67","Button_68","Button_69","Button_70","Button_71","Button_72","Button_73","Button_74","Button_75","Button_76","Button_77","Button_78","Button_79","Button_80","Button_81","Button_82","Button_83","Button_84","Button_85","Button_86","Button_87","Button_88","Button_89","Button_90","Button_91","Button_92","Button_93","Button_94","Button_95","Button_96","Button_97","Button_98","Button_99","Primary","Secondary","Tertiary"};
9+
const std::string& VirtualKeyToString(VirtualKey key) {return keyNames[key+1];};
10+
const VirtualKey StringToVirtualKey(const std::string& name) {
11+
auto elem = std::find(keyNames.begin(), keyNames.end(), name);
12+
if(elem == keyNames.end()) return Invalid_Key;
13+
return static_cast<VirtualKey>(std::distance(keyNames.begin(), elem) - 1);
14+
};
15+
}
16+
}

Src/DasherCore/DasherTypes.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,8 @@ namespace Keys
102102
Tertiary_Input = 102, //Typically Third Mouse Button
103103
Invalid_Key = -1
104104
};
105+
const std::string& VirtualKeyToString(VirtualKey key);
106+
const VirtualKey StringToVirtualKey(const std::string& name);
105107
}
106108

107109
// Types added so model can report back what it has done for

Src/DasherCore/Parameters.cpp

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -138,12 +138,8 @@ namespace Dasher{
138138
{SP_INPUT_FILTER , Parameter_Value{ "InputFilter" , PARAM_STRING, Persistence::PERSISTENT, std::string("Normal Control"), "Input filter used to provide the current control mode"}},
139139
#endif
140140
{SP_INPUT_DEVICE , Parameter_Value{ "InputDevice" , PARAM_STRING, Persistence::PERSISTENT, std::string("Mouse Input") , "Driver for the input device"}},
141-
{SP_BUTTON_0 , Parameter_Value{ "Button0" , PARAM_STRING, Persistence::PERSISTENT, std::string("") , "Assignment to button 0"}},
142-
{SP_BUTTON_1 , Parameter_Value{ "Button1" , PARAM_STRING, Persistence::PERSISTENT, std::string("") , "Assignment to button 1"}},
143-
{SP_BUTTON_2 , Parameter_Value{ "Button2" , PARAM_STRING, Persistence::PERSISTENT, std::string("") , "Assignment to button 2"}},
144-
{SP_BUTTON_3 , Parameter_Value{ "Button3" , PARAM_STRING, Persistence::PERSISTENT, std::string("") , "Assignment to button 3"}},
145-
{SP_BUTTON_4 , Parameter_Value{ "Button4" , PARAM_STRING, Persistence::PERSISTENT, std::string("") , "Assignment to button 4"}},
146-
{SP_BUTTON_10 , Parameter_Value{ "Button10" , PARAM_STRING, Persistence::PERSISTENT, std::string("") , "Assignment to button 10"}},
141+
{SP_BUTTON_MAPPINGS , Parameter_Value{ "ButtonMap" , PARAM_STRING, Persistence::PERSISTENT, std::string("") , "Button assignments used in UI"}},
142+
{SP_JOYSTICK_DEVICE , Parameter_Value{ "JoystickDevice" , PARAM_STRING, Persistence::PERSISTENT, std::string("") , "UUID of Joystick Device"}}
147143
};
148144

149145
ParameterType GetParameterType(Parameter parameter) {

Src/DasherCore/Parameters.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ namespace Dasher
5050
SP_ALPHABET_ID, SP_ALPHABET_1, SP_ALPHABET_2, SP_ALPHABET_3, SP_ALPHABET_4,
5151
SP_COLOUR_ID, SP_DASHER_FONT, SP_GAME_TEXT_FILE,
5252
SP_INPUT_FILTER, SP_INPUT_DEVICE,
53-
SP_BUTTON_0, SP_BUTTON_1, SP_BUTTON_2, SP_BUTTON_3, SP_BUTTON_4, SP_BUTTON_10,
53+
SP_BUTTON_MAPPINGS, SP_JOYSTICK_DEVICE,
5454
END_OF_SPS,
5555
PM_INVALID
5656
};

0 commit comments

Comments
 (0)