From 92aabb686889206060ecb67b8163c6817232f8f9 Mon Sep 17 00:00:00 2001 From: Tarek Soliman Date: Wed, 22 Feb 2012 07:17:38 -0600 Subject: KEYMAPPER: Change HardwareKey id to Common::String --- backends/keymapper/hardware-key.h | 19 +++++++------------ backends/keymapper/keymap.cpp | 6 ++---- 2 files changed, 9 insertions(+), 16 deletions(-) diff --git a/backends/keymapper/hardware-key.h b/backends/keymapper/hardware-key.h index 8c46ee6358..9fd8d1981a 100644 --- a/backends/keymapper/hardware-key.h +++ b/backends/keymapper/hardware-key.h @@ -31,14 +31,12 @@ namespace Common { -#define HWKEY_ID_SIZE (30) - /** * Describes an available hardware key */ struct HardwareKey { /** unique id used for saving/loading to config */ - char hwKeyId[HWKEY_ID_SIZE]; + String id; /** Human readable description */ String description; @@ -49,11 +47,8 @@ struct HardwareKey { */ KeyState key; - HardwareKey(const char *i, KeyState ky = KeyState(), String desc = "") - : key(ky), description(desc) { - assert(i); - Common::strlcpy(hwKeyId, i, HWKEY_ID_SIZE); - } + HardwareKey(String i, KeyState ky = KeyState(), String desc = "") + : id(i), key(ky), description(desc) { } }; /** @@ -108,11 +103,11 @@ public: _keys.push_back(key); } - const HardwareKey *findHardwareKey(const char *id) const { + const HardwareKey *findHardwareKey(String id) const { List::const_iterator it; for (it = _keys.begin(); it != _keys.end(); it++) { - if (strncmp((*it)->hwKeyId, id, HWKEY_ID_SIZE) == 0) + if ((*it)->id == id) return (*it); } return 0; @@ -175,8 +170,8 @@ private: List::iterator it; for (it = _keys.begin(); it != _keys.end(); it++) { - if (strncmp((*it)->hwKeyId, key->hwKeyId, HWKEY_ID_SIZE) == 0) - error("Error adding HardwareKey '%s' - id of %s already in use!", key->description.c_str(), key->hwKeyId); + if ((*it)->id == key->id) + error("Error adding HardwareKey '%s' - id of %s already in use!", key->description.c_str(), key->id.c_str()); else if ((*it)->key == key->key) error("Error adding HardwareKey '%s' - key already in use!", key->description.c_str()); } diff --git a/backends/keymapper/keymap.cpp b/backends/keymapper/keymap.cpp index 5bee1a246d..3913fd149e 100644 --- a/backends/keymapper/keymap.cpp +++ b/backends/keymapper/keymap.cpp @@ -185,12 +185,10 @@ void Keymap::saveMappings() { actIdLen = (actIdLen > ACTION_ID_SIZE) ? ACTION_ID_SIZE : actIdLen; String actId((*it)->id, (*it)->id + actIdLen); - char hwId[HWKEY_ID_SIZE+1]; - - memset(hwId, 0, HWKEY_ID_SIZE+1); + String hwId = ""; if ((*it)->getMappedKey()) { - memcpy(hwId, (*it)->getMappedKey()->hwKeyId, HWKEY_ID_SIZE); + hwId = (*it)->getMappedKey()->id; } _configDomain->setVal(prefix + actId, hwId); } -- cgit v1.2.3