kodi
PeripheralAddonTranslator.h
1 /*
2  * Copyright (C) 2015-2024 Team Kodi
3  * This file is part of Kodi - https://kodi.tv
4  *
5  * SPDX-License-Identifier: GPL-2.0-or-later
6  * See LICENSES/README.md for more information.
7  */
8 
9 #pragma once
10 
11 #include "addons/kodi-dev-kit/include/kodi/addon-instance/Peripheral.h"
12 #include "input/joysticks/DriverPrimitive.h"
13 #include "input/joysticks/JoystickTypes.h"
14 #include "input/mouse/MouseTypes.h"
15 #include "peripherals/PeripheralTypes.h"
16 
17 #include <vector>
18 
19 namespace PERIPHERALS
20 {
25 {
26 public:
27  static const char* TranslateError(PERIPHERAL_ERROR error);
28 
29  static PeripheralType TranslateType(PERIPHERAL_TYPE type);
30  static PERIPHERAL_TYPE TranslateType(PeripheralType type);
31 
32  static KODI::JOYSTICK::CDriverPrimitive TranslatePrimitive(
33  const kodi::addon::DriverPrimitive& primitive);
34  static kodi::addon::DriverPrimitive TranslatePrimitive(
35  const KODI::JOYSTICK::CDriverPrimitive& primitive);
36 
37  static std::vector<KODI::JOYSTICK::CDriverPrimitive> TranslatePrimitives(
38  const std::vector<kodi::addon::DriverPrimitive>& primitives);
39  static std::vector<kodi::addon::DriverPrimitive> TranslatePrimitives(
40  const std::vector<KODI::JOYSTICK::CDriverPrimitive>& primitives);
41 
42  static KODI::JOYSTICK::HAT_DIRECTION TranslateHatDirection(JOYSTICK_DRIVER_HAT_DIRECTION dir);
43  static JOYSTICK_DRIVER_HAT_DIRECTION TranslateHatDirection(KODI::JOYSTICK::HAT_DIRECTION dir);
44 
45  static KODI::JOYSTICK::HAT_STATE TranslateHatState(JOYSTICK_STATE_HAT state);
46 
47  static KODI::JOYSTICK::SEMIAXIS_DIRECTION TranslateSemiAxisDirection(
49  static JOYSTICK_DRIVER_SEMIAXIS_DIRECTION TranslateSemiAxisDirection(
50  KODI::JOYSTICK::SEMIAXIS_DIRECTION dir);
51 
52  static KODI::MOUSE::BUTTON_ID TranslateMouseButton(JOYSTICK_DRIVER_MOUSE_INDEX button);
53  static JOYSTICK_DRIVER_MOUSE_INDEX TranslateMouseButton(KODI::MOUSE::BUTTON_ID button);
54 
55  static KODI::JOYSTICK::RELATIVE_POINTER_DIRECTION TranslateRelPointerDirection(
57  static JOYSTICK_DRIVER_RELPOINTER_DIRECTION TranslateRelPointerDirection(
58  KODI::JOYSTICK::RELATIVE_POINTER_DIRECTION dir);
59 
60  static KODI::JOYSTICK::FEATURE_TYPE TranslateFeatureType(JOYSTICK_FEATURE_TYPE type);
61  static JOYSTICK_FEATURE_TYPE TranslateFeatureType(KODI::JOYSTICK::FEATURE_TYPE type);
62 
63  static kodi::addon::DriverPrimitive Opposite(const kodi::addon::DriverPrimitive& semiaxis);
64 };
65 } // namespace PERIPHERALS
BUTTON_ID
Buttons on a mouse.
Definition: MouseTypes.h:26
Definition: RetroPlayerInput.h:15
PERIPHERAL_TYPE
Definition: peripheral.h:70
PERIPHERAL_ERROR
Definition: peripheral.h:35
Definition: PeripheralAddonTranslator.h:24
JOYSTICK_DRIVER_SEMIAXIS_DIRECTION
Definition: peripheral.h:344
JOYSTICK_DRIVER_MOUSE_INDEX
Definition: peripheral.h:391
JOYSTICK_FEATURE_TYPE
Definition: peripheral.h:496
JOYSTICK_DRIVER_RELPOINTER_DIRECTION
Definition: peripheral.h:440
JOYSTICK_STATE_HAT
Definition: peripheral.h:164
JOYSTICK_DRIVER_HAT_DIRECTION
Definition: peripheral.h:309
Basic driver element associated with input events.
Definition: DriverPrimitive.h:70