@@ -417,8 +417,17 @@ KeyboardLayoutManager::KeyboardLayoutManager(KEYBOARD_LAYOUT layout, KEYBOARD_SI
417
417
name = KEYBOARD_NAME_TKL;
418
418
break ;
419
419
420
- default :
420
+ case KEYBOARD_SIZE::KEYBOARD_SIZE_FULL :
421
421
name = KEYBOARD_NAME_FULL;
422
+ break ;
423
+
424
+ default :
425
+ /* -------------------------------------------------------------*\
426
+ | If the keyboard size is not a standard size output |
427
+ | the combined number as a string |
428
+ \*-------------------------------------------------------------*/
429
+ name = " Size (" ;
430
+ name.append (std::to_string (size) + " ) " );
422
431
}
423
432
424
433
/* ---------------------------------------------------------------------*\
@@ -618,6 +627,9 @@ void KeyboardLayoutManager::SwapKey(keyboard_led swp_key)
618
627
\*---------------------------------------------------------------------*/
619
628
if ((swp_row == keymap[key_idx].row ) && (swp_col == keymap[key_idx].col ))
620
629
{
630
+ std::string tmp_name = (strlen (swp_name) == 0 ) ? LOG_MSG_UNUSED_KEY : swp_name;
631
+ LOG_DEBUG (" [%s] Swapping in %s and %s out @ %02d, %02d" , KLM_CLASS_NAME, tmp_name.c_str (), keymap[key_idx].name , swp_row, swp_col);
632
+
621
633
/* ---------------------------------------------------------------------*\
622
634
| If the key to be swapped in is an unused key, we want to remove the |
623
635
| entry from the keymap rather than perform a swap |
@@ -632,8 +644,6 @@ void KeyboardLayoutManager::SwapKey(keyboard_led swp_key)
632
644
\*---------------------------------------------------------------------*/
633
645
else
634
646
{
635
- std::string swap_name = (strlen (swp_name) == 0 ) ? LOG_MSG_UNUSED_KEY : swp_name;
636
- LOG_DEBUG (" [%s] Swapping in %s and %s out @ %02d, %02d" , KLM_CLASS_NAME, swap_name.c_str (), keymap[key_idx].name , swp_row, swp_col);
637
647
keymap[key_idx].name = swp_name;
638
648
keymap[key_idx].value = swp_value;
639
649
}
@@ -758,7 +768,7 @@ bool KeyboardLayoutManager::InsertRow(uint8_t ins_row)
758
768
759
769
for (/* key_idx*/ ; key_idx < keymap.size (); key_idx++)
760
770
{
761
- if (ins_row > keymap[key_idx].row )
771
+ if (ins_row <= keymap[key_idx].row )
762
772
{
763
773
break ;
764
774
}
@@ -797,13 +807,17 @@ void KeyboardLayoutManager::RemoveRow(uint8_t rmv_row)
797
807
\*---------------------------------------------------------------------*/
798
808
unsigned int key_idx = 0 ;
799
809
800
- for ( /* key_idx*/ ; key_idx < keymap.size () && rmv_row > keymap[key_idx].row ; key_idx++ )
810
+ while ( key_idx < keymap.size () && rmv_row >= keymap[key_idx].row )
801
811
{
802
812
if (rmv_row == keymap[key_idx].row )
803
813
{
804
814
LOG_DEBUG (" [%s] Removing %s @ %02d, %02d from row %d" , KLM_CLASS_NAME, keymap[key_idx].name , keymap[key_idx].row , keymap[key_idx].col , rmv_row);
805
815
keymap.erase (keymap.begin () + key_idx);
806
816
}
817
+ else
818
+ {
819
+ key_idx++;
820
+ }
807
821
}
808
822
809
823
/* ---------------------------------------------------------------------*\
0 commit comments