summaryrefslogtreecommitdiff
path: root/src/config/ConfigManager.cpp
diff options
context:
space:
mode:
authorVaxry <43317083+vaxerski@users.noreply.github.com>2025-09-02 13:16:43 +0200
committerGitHub <noreply@github.com>2025-09-02 13:16:43 +0200
commit127aab815908ecbd3db4d23f127d2e96b79855f9 (patch)
tree289ee3e7c9be70c3b45ff91a693b33fe7598502a /src/config/ConfigManager.cpp
parent78e86d879fa9bf3afeb73b29a3e668d47df5e9ab (diff)
input: add per-device scroll-factor (#11241)
Diffstat (limited to 'src/config/ConfigManager.cpp')
-rw-r--r--src/config/ConfigManager.cpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/config/ConfigManager.cpp b/src/config/ConfigManager.cpp
index 9277b89b..16183498 100644
--- a/src/config/ConfigManager.cpp
+++ b/src/config/ConfigManager.cpp
@@ -810,6 +810,7 @@ CConfigManager::CConfigManager() {
m_config->addSpecialConfigValue("device", "scroll_button", Hyprlang::INT{0});
m_config->addSpecialConfigValue("device", "scroll_button_lock", Hyprlang::INT{0});
m_config->addSpecialConfigValue("device", "scroll_points", {STRVAL_EMPTY});
+ m_config->addSpecialConfigValue("device", "scroll_factor", Hyprlang::FLOAT{-1});
m_config->addSpecialConfigValue("device", "transform", Hyprlang::INT{-1});
m_config->addSpecialConfigValue("device", "output", {STRVAL_EMPTY});
m_config->addSpecialConfigValue("device", "enabled", Hyprlang::INT{1}); // only for mice, touchpads, and touchdevices
@@ -1335,13 +1336,18 @@ Hyprlang::CConfigValue* CConfigManager::getConfigValueSafeDevice(const std::stri
const auto VAL = m_config->getSpecialConfigValuePtr("device", val.c_str(), dev.c_str());
- if ((!VAL || !VAL->m_bSetByUser) && !fallback.empty()) {
+ if ((!VAL || !VAL->m_bSetByUser) && !fallback.empty())
return m_config->getConfigValuePtr(fallback.c_str());
- }
return VAL;
}
+bool CConfigManager::deviceConfigExplicitlySet(const std::string& dev, const std::string& val) {
+ const auto VAL = m_config->getSpecialConfigValuePtr("device", val.c_str(), dev.c_str());
+
+ return VAL && VAL->m_bSetByUser;
+}
+
int CConfigManager::getDeviceInt(const std::string& dev, const std::string& v, const std::string& fallback) {
return std::any_cast<Hyprlang::INT>(getConfigValueSafeDevice(dev, v, fallback)->getValue());
}