diff options
Diffstat (limited to '')
-rw-r--r-- | xbmc/input/button/ButtonStat.cpp | 25 | ||||
-rw-r--r-- | xbmc/input/button/ButtonStat.h | 30 | ||||
-rw-r--r-- | xbmc/input/button/CMakeLists.txt | 5 |
3 files changed, 60 insertions, 0 deletions
diff --git a/xbmc/input/button/ButtonStat.cpp b/xbmc/input/button/ButtonStat.cpp new file mode 100644 index 0000000..679947f --- /dev/null +++ b/xbmc/input/button/ButtonStat.cpp @@ -0,0 +1,25 @@ +/* + * Copyright (C) 2020 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. + */ +#include "ButtonStat.h" + +#include "xbmc/input/InputTypes.h" + +using namespace KODI; +using namespace INPUT; + +CButtonStat::CButtonStat() = default; + +CKey CButtonStat::TranslateKey(const CKey& key) const +{ + uint32_t buttonCode = key.GetButtonCode(); + if (key.GetHeld() > HOLD_TRESHOLD) + buttonCode |= CKey::MODIFIER_LONG; + + CKey translatedKey(buttonCode, key.GetHeld()); + return translatedKey; +} diff --git a/xbmc/input/button/ButtonStat.h b/xbmc/input/button/ButtonStat.h new file mode 100644 index 0000000..04ee51a --- /dev/null +++ b/xbmc/input/button/ButtonStat.h @@ -0,0 +1,30 @@ +/* + * Copyright (C) 2020 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/Key.h" +#include "input/XBMC_keyboard.h" + +#include <string> + +namespace KODI +{ +namespace INPUT +{ + +class CButtonStat +{ +public: + CButtonStat(); + ~CButtonStat() = default; + + CKey TranslateKey(const CKey& key) const; +}; +} // namespace INPUT +} // namespace KODI diff --git a/xbmc/input/button/CMakeLists.txt b/xbmc/input/button/CMakeLists.txt new file mode 100644 index 0000000..489f901 --- /dev/null +++ b/xbmc/input/button/CMakeLists.txt @@ -0,0 +1,5 @@ +set(SOURCES ButtonStat.cpp) + +set(HEADERS ButtonStat.h) + +core_add_library(input_button)
\ No newline at end of file |