1 // Copyright 2017 Dolphin Emulator Project 2 // Licensed under GPLv2+ 3 // Refer to the license.txt file included. 4 5 #pragma once 6 7 #include <string> 8 #include <vector> 9 10 #include "InputCommon/ControllerInterface/Device.h" 11 12 class QString; 13 class OutputReference; 14 class QPushButton; 15 16 namespace MappingCommon 17 { 18 enum class Quote 19 { 20 On, 21 Off 22 }; 23 24 QString GetExpressionForControl(const QString& control_name, 25 const ciface::Core::DeviceQualifier& control_device, 26 const ciface::Core::DeviceQualifier& default_device, 27 Quote quote = Quote::On); 28 29 QString DetectExpression(QPushButton* button, ciface::Core::DeviceContainer& device_container, 30 const std::vector<std::string>& device_strings, 31 const ciface::Core::DeviceQualifier& default_device, 32 Quote quote = Quote::On); 33 34 void TestOutput(QPushButton* button, OutputReference* reference); 35 36 void RemoveSpuriousTriggerCombinations(std::vector<ciface::Core::DeviceContainer::InputDetection>*); 37 38 QString BuildExpression(const std::vector<ciface::Core::DeviceContainer::InputDetection>&, 39 const ciface::Core::DeviceQualifier& default_device, Quote quote); 40 41 } // namespace MappingCommon 42