summaryrefslogtreecommitdiffstats
path: root/xbmc/input/joysticks/JoystickEasterEgg.h
diff options
context:
space:
mode:
Diffstat (limited to 'xbmc/input/joysticks/JoystickEasterEgg.h')
-rw-r--r--xbmc/input/joysticks/JoystickEasterEgg.h45
1 files changed, 45 insertions, 0 deletions
diff --git a/xbmc/input/joysticks/JoystickEasterEgg.h b/xbmc/input/joysticks/JoystickEasterEgg.h
new file mode 100644
index 0000000..7059d13
--- /dev/null
+++ b/xbmc/input/joysticks/JoystickEasterEgg.h
@@ -0,0 +1,45 @@
+/*
+ * Copyright (C) 2016-2018 Team Kodi
+ * This file is part of Kodi - https://kodi.tv
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ * See LICENSES/README.md for more information.
+ */
+
+#pragma once
+
+#include "input/joysticks/interfaces/IButtonSequence.h"
+
+#include <map>
+#include <string>
+#include <vector>
+
+namespace KODI
+{
+namespace JOYSTICK
+{
+/*!
+ * \brief Hush!!!
+ */
+class CJoystickEasterEgg : public IButtonSequence
+{
+public:
+ explicit CJoystickEasterEgg(const std::string& controllerId);
+ ~CJoystickEasterEgg() override = default;
+
+ // implementation of IButtonSequence
+ bool OnButtonPress(const FeatureName& feature) override;
+ bool IsCapturing() override;
+
+ static void OnFinish(void);
+
+private:
+ // Construction parameters
+ const std::string m_controllerId;
+
+ static const std::map<std::string, std::vector<FeatureName>> m_sequence;
+
+ unsigned int m_state;
+};
+} // namespace JOYSTICK
+} // namespace KODI