diff --git a/Controllers/CorsairPeripheralV2Controller/CorsairPeripheralV2Controller.cpp b/Controllers/CorsairPeripheralV2Controller/CorsairPeripheralV2Controller.cpp index b078cc0b..b494d03b 100644 --- a/Controllers/CorsairPeripheralV2Controller/CorsairPeripheralV2Controller.cpp +++ b/Controllers/CorsairPeripheralV2Controller/CorsairPeripheralV2Controller.cpp @@ -67,7 +67,7 @@ CorsairPeripheralV2Controller::CorsairPeripheralV2Controller(hid_device* dev_han hid_write(dev, buffer, CORSAIR_V2_WRITE_SIZE); uint16_t result = hid_read_timeout(dev, buffer, CORSAIR_V2_PACKET_SIZE, CORSAIR_V2_TIMEOUT); result++; - pkt_sze = result; + pkt_sze = std::max(result, (uint16_t)CORSAIR_V2_WRITE_SIZE); LOG_DEBUG("[%s] Packet length set to %d", device_name.c_str(), pkt_sze); /*---------------------------------------------------------*\ @@ -78,6 +78,8 @@ CorsairPeripheralV2Controller::CorsairPeripheralV2Controller(hid_device* dev_han for(uint16_t i = 0; i < CORSAIR_V2_DEVICE_COUNT; i++) { + LOG_DEBUG("[%s] Checking PID %04X against index %d with %04X - %smatch", device_name.c_str(), + pid, i, corsair_v2_device_list[i]->pid, corsair_v2_device_list[i]->pid == pid ? "" : "no "); if(corsair_v2_device_list[i]->pid == pid) { /*---------------------------------------------------------*\ diff --git a/Controllers/CorsairPeripheralV2Controller/CorsairPeripheralV2Devices.cpp b/Controllers/CorsairPeripheralV2Controller/CorsairPeripheralV2Devices.cpp index f903de0b..80129a69 100644 --- a/Controllers/CorsairPeripheralV2Controller/CorsairPeripheralV2Devices.cpp +++ b/Controllers/CorsairPeripheralV2Controller/CorsairPeripheralV2Devices.cpp @@ -99,6 +99,32 @@ keyboard_keymap_overlay_values corsair_k70_layout } }; +keyboard_keymap_overlay_values corsair_k70_pro_layout +{ + KEYBOARD_SIZE::KEYBOARD_SIZE_FULL, + { + corsair_full_size_values, + { + /* Add more regional layout fixes here */ + } + }, + { + /*---------------------------------------------------------------------------------------------------------*\ + | Edit Keys | + | Zone, Row, Column, Value, Key, OpCode, | + \*---------------------------------------------------------------------------------------------------------*/ + { 0, 0, 0, 128, "Profile", KEYBOARD_OPCODE_INSERT_ROW, }, // Insert Profile into new row + { 0, 0, 1, 113, "Light", KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, }, // Insert Light key + { 0, 0, 2, 114, "Lock", KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, }, // Insert Lock Key + { 0, 0, 10, 191, "Logo", KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, }, // Insert Logo + { 0, 0, 18, 102, KEY_EN_MEDIA_MUTE, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, }, // Insert Mute Key + { 0, 1, 17, 123, KEY_EN_MEDIA_STOP, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, }, // Insert Stop Key + { 0, 1, 18, 126, KEY_EN_MEDIA_PREVIOUS, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, }, // Insert Previous Track Key + { 0, 1, 19, 124, KEY_EN_MEDIA_PLAY_PAUSE, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, }, // Insert Play Pause Key + { 0, 1, 20, 125, KEY_EN_MEDIA_NEXT, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, }, // Insert Next Tack Key + } +}; + keyboard_keymap_overlay_values corsair_K70_TKL_cs_layout { KEYBOARD_SIZE::KEYBOARD_SIZE_TKL, @@ -871,7 +897,7 @@ static const corsair_v2_zone k70_rgb_pro_zone = { ZONE_EN_KEYBOARD, ZONE_TYPE_MATRIX, - 6, + 7, 21 }; @@ -879,7 +905,7 @@ static const corsair_v2_device k70_rgb_pro_device = { CORSAIR_K70_RGB_PRO_PID, DEVICE_TYPE_KEYBOARD, - 6, + 7, 21, { &k70_rgb_pro_zone, @@ -889,7 +915,7 @@ static const corsair_v2_device k70_rgb_pro_device = nullptr, nullptr }, - &corsair_k70_layout + &corsair_k70_pro_layout }; /*-------------------------------------------------------------*\