Minor changes to the KeyboardLayoutManager to cleanse log messaging

* Added KLM_CLASS_NAME for log entry consistency
* Small edits to messaging for clarity & replayability
* Minor style corrections
This commit is contained in:
Chris 2023-03-23 17:43:37 +11:00
parent 56bad3f2b4
commit 71a3d5355b
2 changed files with 33 additions and 20 deletions

View file

@ -10,6 +10,7 @@
#include "LogManager.h" #include "LogManager.h"
#include "KeyboardLayoutManager.h" #include "KeyboardLayoutManager.h"
const char* KLM_CLASS_NAME = "KLM";
const char* KEYBOARD_NAME_ISO = "ISO "; const char* KEYBOARD_NAME_ISO = "ISO ";
const char* KEYBOARD_NAME_ANSI = "ANSI "; const char* KEYBOARD_NAME_ANSI = "ANSI ";
const char* KEYBOARD_NAME_JIS = "JIS"; const char* KEYBOARD_NAME_JIS = "JIS";
@ -22,9 +23,9 @@ const char* KEYBOARD_NAME_TKL = "Tenkeyless ";
const char* KEYBOARD_NAME_SIXTY = "Sixty percent "; const char* KEYBOARD_NAME_SIXTY = "Sixty percent ";
const char* LOG_MSG_EMPTY = "empty "; const char* LOG_MSG_EMPTY = "empty ";
const char* LOG_MSG_UNUSED_KEY = "'unused' key "; const char* LOG_MSG_UNUSED_KEY = "'unused' key";
const char* LOG_MSG_SHIFTING_RIGHT = ", shifting keys right"; const char* LOG_MSG_SHIFTING_RIGHT = ", shifting keys right";
const char* LOG_MSG_CREATED_NEW = "[Keyboard Layout Manager] Created new %s%s with %d rows and %d columns containing %d keys"; const char* LOG_MSG_CREATED_NEW = "[%s] Created new %s%s with %d rows and %d columns containing %d keys";
const char* LOG_MSG_INSERT_BEFORE = "[%s] Inserting %s before %s @ %02d, %02d%s"; const char* LOG_MSG_INSERT_BEFORE = "[%s] Inserting %s before %s @ %02d, %02d%s";
static const std::vector<keyboard_led> keyboard_basemap = static const std::vector<keyboard_led> keyboard_basemap =
@ -328,17 +329,19 @@ KeyboardLayoutManager::KeyboardLayoutManager(KEYBOARD_LAYOUT layout, KEYBOARD_SI
KeyboardLayoutManager::KeyboardLayoutManager(KEYBOARD_LAYOUT layout, KEYBOARD_SIZE size, layout_values values) KeyboardLayoutManager::KeyboardLayoutManager(KEYBOARD_LAYOUT layout, KEYBOARD_SIZE size, layout_values values)
{ {
physical_size = size;
if(size == KEYBOARD_SIZE::KEYBOARD_SIZE_EMPTY) if(size == KEYBOARD_SIZE::KEYBOARD_SIZE_EMPTY)
{ {
LOG_INFO(LOG_MSG_CREATED_NEW, name.c_str(), LOG_MSG_EMPTY, rows, cols, keymap.size()); LOG_INFO(LOG_MSG_CREATED_NEW, KLM_CLASS_NAME, name.c_str(), LOG_MSG_EMPTY, rows, cols, physical_size);
return; return;
} }
std::string tmp_name; std::string tmp_name;
keymap = keyboard_basemap; keymap = keyboard_basemap;
rows = 6; rows = 6;
cols = 21; cols = 21;
/*---------------------------------------------------------------------*\ /*---------------------------------------------------------------------*\
| Add any values passed into the constructor before switching layouts | | Add any values passed into the constructor before switching layouts |
@ -382,32 +385,35 @@ KeyboardLayoutManager::KeyboardLayoutManager(KEYBOARD_LAYOUT layout, KEYBOARD_SI
| If the regional layouts were passed in count() returns true before | | If the regional layouts were passed in count() returns true before |
| attempting to swap keys. | | attempting to swap keys. |
\*---------------------------------------------------------------------*/ \*---------------------------------------------------------------------*/
LOG_DEBUG("[%s] Looking for a regional overlay %d and found: %d", name.c_str(), layout, values.regional_overlay.count(layout)); bool found_overlay = (bool)values.regional_overlay.count(layout);
if(values.regional_overlay.count(layout))
LOG_DEBUG("[%s] Regional overlay %d was %sfound.", KLM_CLASS_NAME, layout, (found_overlay) ? KEY_EN_UNUSED : "not ");
if(found_overlay)
{ {
LOG_DEBUG("[%s] Found a regional overlay swapping keys", name.c_str()); LOG_DEBUG("[%s] Processing regional overlay for %s", KLM_CLASS_NAME, tmp_name.c_str());
SwapKeys(values.regional_overlay.find(layout)->second); SwapKeys(values.regional_overlay.find(layout)->second);
} }
LOG_DEBUG("[%s] Adjusting layout to size '%d'", KLM_CLASS_NAME, size);
switch(size) switch(size)
{ {
case KEYBOARD_SIZE::KEYBOARD_SIZE_SIXTY: case KEYBOARD_SIZE::KEYBOARD_SIZE_SIXTY:
ChangeKeys(full_to_tkl); ChangeKeys(full_to_tkl);
ChangeKeys(tkl_to_sixty); ChangeKeys(tkl_to_sixty);
name = KEYBOARD_NAME_SIXTY + tmp_name; name = KEYBOARD_NAME_SIXTY;
break; break;
case KEYBOARD_SIZE::KEYBOARD_SIZE_TKL: case KEYBOARD_SIZE::KEYBOARD_SIZE_TKL:
ChangeKeys(full_to_tkl); ChangeKeys(full_to_tkl);
name = KEYBOARD_NAME_TKL + tmp_name; name = KEYBOARD_NAME_TKL;
break; break;
default: default:
name = KEYBOARD_NAME_FULL + tmp_name; name = KEYBOARD_NAME_FULL;
break; break;
} }
LOG_INFO(LOG_MSG_CREATED_NEW, name.c_str(), KEY_EN_UNUSED, rows, cols, keymap.size()); LOG_INFO(LOG_MSG_CREATED_NEW, KLM_CLASS_NAME, name.c_str(), tmp_name.c_str(), rows, cols, physical_size);
} }
KeyboardLayoutManager::~KeyboardLayoutManager() KeyboardLayoutManager::~KeyboardLayoutManager()
@ -431,7 +437,7 @@ void KeyboardLayoutManager::ChangeKeys(keyboard_keymap_overlay_values new_layout
void KeyboardLayoutManager::InsertKeys(std::vector<keyboard_led> ins_keys) void KeyboardLayoutManager::InsertKeys(std::vector<keyboard_led> ins_keys)
{ {
LOG_DEBUG("[%s] Inserting %d keys", name.c_str(), ins_keys.size()); LOG_DEBUG("[%s] %d keys to insert", KLM_CLASS_NAME, ins_keys.size());
for(size_t i = 0; i < ins_keys.size(); i++) for(size_t i = 0; i < ins_keys.size(); i++)
{ {
@ -449,18 +455,18 @@ void KeyboardLayoutManager::InsertKeys(std::vector<keyboard_led> ins_keys)
if(key == keymap.end()) if(key == keymap.end())
{ {
LOG_DEBUG(LOG_MSG_INSERT_BEFORE, name.c_str(), ins_keys[i].name, "the end", ins_keys[i].row, ins_keys[i].col, KEY_EN_UNUSED); LOG_DEBUG(LOG_MSG_INSERT_BEFORE, KLM_CLASS_NAME, ins_keys[i].name, "the end", ins_keys[i].row, ins_keys[i].col, KEY_EN_UNUSED);
keymap.push_back(ins_keys[i]); keymap.push_back(ins_keys[i]);
break; break;
} }
else if(strlen(ins_keys[i].name) == 0) else if(strlen(ins_keys[i].name) == 0)
{ {
LOG_DEBUG(LOG_MSG_INSERT_BEFORE, name.c_str(), LOG_MSG_UNUSED_KEY, key->name, key->row, key->col, LOG_MSG_SHIFTING_RIGHT); LOG_DEBUG(LOG_MSG_INSERT_BEFORE, KLM_CLASS_NAME, LOG_MSG_UNUSED_KEY, key->name, key->row, key->col, LOG_MSG_SHIFTING_RIGHT);
key->col++; key->col++;
} }
else else
{ {
LOG_DEBUG(LOG_MSG_INSERT_BEFORE, name.c_str(), ins_keys[i].name, key->name, key->row, key->col, KEY_EN_UNUSED); LOG_DEBUG(LOG_MSG_INSERT_BEFORE, KLM_CLASS_NAME, ins_keys[i].name, key->name, ins_keys[i].row, ins_keys[i].col, KEY_EN_UNUSED);
key = keymap.insert(key, ins_keys[i]); key = keymap.insert(key, ins_keys[i]);
key++; key++;
} }
@ -481,7 +487,7 @@ void KeyboardLayoutManager::InsertKeys(std::vector<keyboard_led> ins_keys)
void KeyboardLayoutManager::SwapKeys(std::vector<keyboard_led> swp_keys) void KeyboardLayoutManager::SwapKeys(std::vector<keyboard_led> swp_keys)
{ {
LOG_DEBUG("[%s] Swapping %d keys", name.c_str(), swp_keys.size()); LOG_DEBUG("[%s] %d keys to swap", KLM_CLASS_NAME, swp_keys.size());
for(size_t i = 0; i < swp_keys.size(); i++) for(size_t i = 0; i < swp_keys.size(); i++)
{ {
@ -490,7 +496,8 @@ void KeyboardLayoutManager::SwapKeys(std::vector<keyboard_led> swp_keys)
{ {
if(key->row == swp_keys[i].row && key->col == swp_keys[i].col) if(key->row == swp_keys[i].row && key->col == swp_keys[i].col)
{ {
LOG_DEBUG("[%s] Swapping in %s and %s out @ %02d, %02d", name.c_str(), swp_keys[i].name, key->name, key->row, key->col); std::string swap_name = (strlen(swp_keys[i].name) == 0) ? LOG_MSG_UNUSED_KEY : swp_keys[i].name;
LOG_DEBUG("[%s] Swapping in %s and %s out @ %02d, %02d", KLM_CLASS_NAME, swap_name.c_str(), key->name, key->row, key->col);
key->name = swp_keys[i].name; key->name = swp_keys[i].name;
key->value = swp_keys[i].value; key->value = swp_keys[i].value;
not_swapped = false; not_swapped = false;
@ -517,7 +524,7 @@ void KeyboardLayoutManager::RemoveKeys(std::vector<keyboard_led> rmv_keys)
{ {
if(key->row == rmv_keys[i].row && key->col == rmv_keys[i].col) if(key->row == rmv_keys[i].row && key->col == rmv_keys[i].col)
{ {
LOG_DEBUG("[%s] Removing %s @ %02d, %02d and shifting keys left", name.c_str(), key->name, key->row, key->col); LOG_DEBUG("[%s] Removing %s @ %02d, %02d and shifting keys left", KLM_CLASS_NAME, key->name, key->row, key->col);
for(std::vector<keyboard_led>::iterator shift = key + 1; shift != keymap.end() && shift->row == key->row; ++shift) for(std::vector<keyboard_led>::iterator shift = key + 1; shift != keymap.end() && shift->row == key->row; ++shift)
{ {
shift->col--; shift->col--;

View file

@ -13,6 +13,12 @@
#include <vector> #include <vector>
#include "RGBControllerKeyNames.h" #include "RGBControllerKeyNames.h"
extern const char* KLM_CLASS_NAME;
extern const char* KEYBOARD_NAME_FULL;
extern const char* KEYBOARD_NAME_TKL;
extern const char* KEYBOARD_NAME_SIXTY;
extern const char* LOG_MSG_UNUSED_KEY;
enum KEYBOARD_SIZE enum KEYBOARD_SIZE
{ {
KEYBOARD_SIZE_EMPTY = -1, KEYBOARD_SIZE_EMPTY = -1,
@ -114,7 +120,7 @@ private:
KEYBOARD_LAYOUT layout; KEYBOARD_LAYOUT layout;
KEYBOARD_SIZE physical_size; KEYBOARD_SIZE physical_size;
std::string name = ZONE_EN_KEYBOARD; std::string name = KLM_CLASS_NAME;
uint8_t rows = 0; uint8_t rows = 0;
uint8_t cols = 0; uint8_t cols = 0;
std::vector<keyboard_led> keymap = empty_basemap; std::vector<keyboard_led> keymap = empty_basemap;