xbmc
Keymap.h
1 /*
2  * Copyright (C) 2017-2018 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 "IKeymap.h"
12 
13 #include <memory>
14 
15 class IKeymapEnvironment;
16 
17 class CKeymap : public IKeymap
18 {
19 public:
20  CKeymap(std::shared_ptr<const IWindowKeymap> keymap, const IKeymapEnvironment* environment);
21 
22  // implementation of IKeymap
23  std::string ControllerID() const override;
24  const IKeymapEnvironment* Environment() const override { return m_environment; }
25  const KODI::JOYSTICK::KeymapActionGroup& GetActions(const std::string& keyName) const override;
26 
27 private:
28  // Construction parameters
29  const std::shared_ptr<const IWindowKeymap> m_keymap;
30  const IKeymapEnvironment* const m_environment;
31 };
std::string ControllerID() const override
The controller ID.
Definition: Keymap.cpp:20
Interface for mapping buttons to Kodi actions.
Definition: IKeymap.h:22
const KODI::JOYSTICK::KeymapActionGroup & GetActions(const std::string &keyName) const override
Get the actions for a given key name.
Definition: Keymap.cpp:25
Container that sorts action entries by their holdtime.
Definition: JoystickTypes.h:180
const IKeymapEnvironment * Environment() const override
Access properties of the keymapping environment.
Definition: Keymap.h:24
Definition: Keymap.h:17
Customizes the environment in which keymapping is performed.
Definition: IKeymapEnvironment.h:21