From 4d784d4a5b48f6876c6e41be115e442a9e9c9e24 Mon Sep 17 00:00:00 2001 From: thrust26 Date: Fri, 30 Apr 2021 14:00:30 +0200 Subject: [PATCH] fixed occasional NoType mappings being saved and loaded --- src/common/JoyMap.cxx | 6 +++++- src/common/KeyMap.cxx | 6 +++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/common/JoyMap.cxx b/src/common/JoyMap.cxx index 46012e845..29825ecbf 100644 --- a/src/common/JoyMap.cxx +++ b/src/common/JoyMap.cxx @@ -218,7 +218,7 @@ json JoyMap::saveMapping(const EventMode mode) const json eventMappings = json::array(); for (const auto& [_mapping, _event]: sortedMap) { - if (_mapping.mode != mode) continue; + if(_mapping.mode != mode || _event == Event::NoType) continue; json eventMapping = json::object(); @@ -255,6 +255,10 @@ int JoyMap::loadMapping(const json& eventMappings, const EventMode mode) JoyHatDir hatDirection = eventMapping.contains("hat") ? eventMapping.at("hatDirection").get() : JoyHatDir::CENTER; try { + // avoid blocking mappings for NoType events + if(eventMapping.at("event").get() == Event::NoType) + continue; + add( eventMapping.at("event").get(), mode, diff --git a/src/common/KeyMap.cxx b/src/common/KeyMap.cxx index 70298e21d..fc04de670 100644 --- a/src/common/KeyMap.cxx +++ b/src/common/KeyMap.cxx @@ -241,7 +241,7 @@ json KeyMap::saveMapping(const EventMode mode) const json mappings = json::array(); for (const auto& [_mapping, _event]: sortedMap) { - if (_mapping.mode != mode) continue; + if (_mapping.mode != mode || _event == Event::NoType) continue; json mapping = json::object(); @@ -264,6 +264,10 @@ int KeyMap::loadMapping(const json& mappings, const EventMode mode) { for(const json& mapping : mappings) { try { + // avoid blocking mappings for NoType events + if(mapping.at("event").get() == Event::NoType) + continue; + add( mapping.at("event").get(), mode,