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