Fix AOC GK500 mapping broken by changing KLM base layout from ANSI to Default (English ANSI + English ISO combined map). Rename the 'ansi' field to reflect that this is no longer an ANSI map.

This commit is contained in:
Adam Honse 2024-08-29 00:09:03 -05:00
parent c23bbbd32a
commit 11bdaaa2fc
4 changed files with 15 additions and 14 deletions

View file

@ -35,10 +35,10 @@ layout_values aoc_keyboard_offset_values =
75, 76, 91, 62, 48, 64, 50, 65, 66, 67, 97, 68, 84, 70, 59, 74, 89, 58, 73, 88, 103,
/* TAB Q W E R T Y U I O P [ ] \ DEL END PGDN NP7 NP8 NP9 NP+ */
60, 61, 47, 78, 33, 49, 35, 80, 51, 52, 53, 69, 99, 25, 44, 29, 14, 43, 28, 13, 102,
/* CPLK A S D F G H J K L ; " ENTR NP4 NP5 NP6 */
45, 46, 32, 93, 18, 34, 20, 95, 36, 37, 38, 54, 10, 57, 72, 87,
/* LSFT Z X C V B N M , . / RSFT ARWU NP1 NP2 NP3 NPEN */
30, 31, 17, 2, 3, 19, 5, 6, 21, 22, 23, 39, 11, 42, 27, 12, 101,
/* CPLK A S D F G H J K L ; " # ENTR NP4 NP5 NP6 */
45, 46, 32, 93, 18, 34, 20, 95, 36, 37, 38, 54, 0, 10, 57, 72, 87,
/* LSFT \ Z X C V B N M , . / RSFT ARWU NP1 NP2 NP3 NPEN */
30, 0, 31, 17, 2, 3, 19, 5, 6, 21, 22, 23, 39, 11, 42, 27, 12, 101,
/* LCTL LWIN LALT SPC RALT RFNC RMNU RCTL ARWL ARWD ARWR NP0 NP. */
15, 0, 1, 4, 7, 8, 24, 9, 26, 41, 56, 71, 86
},

View file

@ -72,7 +72,7 @@ static std::vector<keyboard_led> additional_mm_leds =
static layout_values winbond_gaming_keyboard_full_layouts =
{
{}, // "std::vector<unsigned int> ansi" is set in InitLayouts()
{}, // "std::vector<unsigned int> default_values" is set in InitLayouts()
{ // std::map<KEYBOARD_LAYOUT, std::vector<keyboard_led> > regional_overlay;
{ KEYBOARD_LAYOUT_ISO_QWERTY,
{
@ -121,7 +121,7 @@ static layout_values winbond_gaming_keyboard_full_layouts =
static layout_values winbond_gaming_keyboard_tkl_layouts =
{
{}, // "std::vector<unsigned int> ansi" is set in InitLayouts()
{}, // "std::vector<unsigned int> default_values" is set in InitLayouts()
{ // std::map<KEYBOARD_LAYOUT, std::vector<keyboard_led> > regional_overlay;
{ KEYBOARD_LAYOUT_ISO_QWERTY,
{
@ -170,7 +170,7 @@ static layout_values winbond_gaming_keyboard_tkl_layouts =
static layout_values winbond_gaming_keyboard_60_layouts =
{
{}, // "std::vector<unsigned int> ansi" is set in InitLayouts()
{}, // "std::vector<unsigned int> default_values" is set in InitLayouts()
{ // std::map<KEYBOARD_LAYOUT, std::vector<keyboard_led> > regional_overlay;
{ KEYBOARD_LAYOUT_ISO_QWERTY,
{
@ -221,9 +221,10 @@ static void InitLayouts(layout_values& keyboard_layouts, KEYBOARD_SIZE kb_size)
{
/*-------------------------------------------------------------------*\
| using kvs ("keyvals" or sth like that) as an alias for |
| keyboard_layouts.ansi, to make the code below shorter/more readable |
| keyboard_layouts.default_values, to make the code below |
| shorter/more readable |
\*-------------------------------------------------------------------*/
std::vector<unsigned int>& kvs = keyboard_layouts.ansi;
std::vector<unsigned int>& kvs = keyboard_layouts.default_values;
/*------------------------------------------------------------------------------------*\
| Message X: what indices the keys have within the USB HID messages to set their color |
@ -380,7 +381,7 @@ static void InitLayouts(layout_values& keyboard_layouts, KEYBOARD_SIZE kb_size)
}
// KV(4,7) is the ISO # key that doesn't exist on ANSI (set in overlay)
// even though # is no ANSI key, that ansi array expects it to be there..
// even though # is no ANSI key, that default_values array expects it to be there..
kvs.push_back( KV(4,7) );
// Enter - assuming that on ANSI it uses the same LED index
@ -731,7 +732,7 @@ void RGBController_WinbondGamingKeyboard::SetupZones()
kb_size = KEYBOARD_SIZE_FULL;
}
if(layouts->ansi.empty())
if(layouts->default_values.empty())
{
InitLayouts(*layouts, kb_size);
}

View file

@ -335,9 +335,9 @@ KeyboardLayoutManager::KeyboardLayoutManager(KEYBOARD_LAYOUT layout, KEYBOARD_SI
| Add any values passed into the constructor before switching layouts |
| and declare a value set for any changes afterwards |
\*---------------------------------------------------------------------*/
for(size_t key_idx = 0; key_idx < values.ansi.size() && key_idx < keymap.size(); key_idx++)
for(size_t key_idx = 0; key_idx < values.default_values.size() && key_idx < keymap.size(); key_idx++)
{
keymap[key_idx].value = values.ansi[key_idx];
keymap[key_idx].value = values.default_values[key_idx];
}
/*---------------------------------------------------------------------*\

View file

@ -84,7 +84,7 @@ typedef
typedef struct
{
std::vector<unsigned int> ansi;
std::vector<unsigned int> default_values;
std::map<KEYBOARD_LAYOUT, key_set> regional_overlay;
} layout_values;