Adds support for Lenovo Legion Y740 15" and 17"

This commit is contained in:
Peter Vazny 2022-09-23 19:10:42 +00:00 committed by Adam Honse
parent b198a6db21
commit 89a6abd9ed
2 changed files with 756 additions and 3 deletions

View file

@ -98,6 +98,40 @@ static const unsigned int legion_Y760_jp_leds_map[] =
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 138, 141, 143, NA, 144, 145, 146, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 142, NA, NA, NA, NA, 147, NA };
static const unsigned int legion_Y740_17_ansi_leds_map[] =
{ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, NA, 14, 15, 16, 17,
18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, NA, 51, 52, 53, 54,
55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, NA, 89, NA, 88, NA,
90, 91, 92, 93, 94, NA, NA, 95, NA, 96, 97, 98, 99, 100, NA, NA, 101, 102, 103 };
static const unsigned int legion_Y740_17_iso_leds_map[] =
{ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, NA, 14, 15, 16, 17,
18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, NA, 51, 52, 53, 54,
55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, NA, NA, 69, 70, 71, 72,
73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, NA, 88, NA, 87, NA,
89, 90, 91, 92, 93, NA, NA, 94, NA, 95, 96, 97, 98, 99, NA, NA, 100, 101, 102 };
static const unsigned int legion_Y740_15_ansi_leds_map[] =
{ 84, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, NA,
85, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
86, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, NA,
87, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
88, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, NA,
89, 72, 73, 74, 75, 76, NA, NA, NA, 77, 78, 79, NA, 80, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 81, 82, 83, NA };
static const unsigned int legion_Y740_15_iso_leds_map[] =
{ 83, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, NA,
84, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
85, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, NA,
86, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, NA,
87, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, NA,
88, 71, 72, 73, 74, 75, NA, NA, NA, 76, 77, 78, NA, 79, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 80, 81, 82, NA };
/*---------------------*\
| zone 1, keyboard ANSI |
\*---------------------*/
@ -623,6 +657,7 @@ const lenovo_led legion_Y760_logo[]
{0x0C, "Logo LED 12"},
{0x0D, "Logo Bottom Right"},//12
};
/*----------------*\
| zone 3, vents |
\*----------------*/
@ -864,6 +899,494 @@ const lenovo_led legion_legion_Y750_additional_leds[]
{0xAC, "Neon"}
};
/*--------------------------------------------------------*\
| LEDs for Legion Y740 17" |
\*--------------------------------------------------------*/
const lenovo_led legion_Y740_17_ansi_leds[]
{
//Row 1
{0x6E, KEY_EN_ESCAPE}, //0
{0x70, KEY_EN_F1}, //1
{0x71, KEY_EN_F2}, //2
{0x72, KEY_EN_F3}, //3
{0x73, KEY_EN_F4}, //4
{0x74, KEY_EN_F5}, //5
{0x75, KEY_EN_F6}, //6
{0x76, KEY_EN_F7}, //7
{0x77, KEY_EN_F8}, //8
{0x78, KEY_EN_F9}, //9
{0x79, KEY_EN_F10}, //10
{0x7A, KEY_EN_F11}, //11
{0x7B, KEY_EN_F12}, //12
{0x7D, KEY_EN_DELETE}, //13
{0x5B, KEY_EN_NUMPAD_7}, //14
{0x60, KEY_EN_NUMPAD_8}, //15
{0x65, KEY_EN_NUMPAD_9}, //16
{0x5F, KEY_EN_NUMPAD_DIVIDE}, //17
//Row 2
{0x01, KEY_EN_BACK_TICK}, //18
{0x02, KEY_EN_1}, //19
{0x03, KEY_EN_2}, //20
{0x04, KEY_EN_3}, //21
{0x05, KEY_EN_4}, //22
{0x06, KEY_EN_5}, //23
{0x07, KEY_EN_6}, //24
{0x08, KEY_EN_7}, //25
{0x09, KEY_EN_8}, //26
{0x0A, KEY_EN_9}, //27
{0x0B, KEY_EN_0}, //28
{0x0C, KEY_EN_MINUS}, //29
{0x0D, KEY_EN_EQUALS}, //30
{0x0F, KEY_EN_BACKSPACE}, //31 left led
{0x8C, KEY_EN_BACKSPACE}, //32 right led
{0x5C, KEY_EN_NUMPAD_4}, //33
{0x61, KEY_EN_NUMPAD_5}, //34
{0x66, KEY_EN_NUMPAD_6}, //35
{0x64, KEY_EN_NUMPAD_TIMES}, //36
//Row 3
{0x10, KEY_EN_TAB}, //37
{0x11, KEY_EN_Q}, //38
{0x12, KEY_EN_W}, //39
{0x13, KEY_EN_E}, //40
{0x14, KEY_EN_R}, //41
{0x15, KEY_EN_T}, //42
{0x16, KEY_EN_Y}, //43
{0x17, KEY_EN_U}, //44
{0x18, KEY_EN_I}, //45
{0x19, KEY_EN_O}, //46
{0x1A, KEY_EN_P}, //47
{0x1B, KEY_EN_LEFT_BRACKET}, //48
{0x1C, KEY_EN_RIGHT_BRACKET}, //49
{0x1D, KEY_EN_ANSI_BACK_SLASH}, //50
{0x5D, KEY_EN_NUMPAD_1}, //51
{0x62, KEY_EN_NUMPAD_2}, //52
{0x67, KEY_EN_NUMPAD_3}, //53
{0x69, KEY_EN_NUMPAD_MINUS}, //54
//Row 4
{0x1E, KEY_EN_CAPS_LOCK}, //55 left led
{0x8D, KEY_EN_CAPS_LOCK}, //56 right led
{0x1F, KEY_EN_A}, //57
{0x20, KEY_EN_S}, //58
{0x21, KEY_EN_D}, //59
{0x22, KEY_EN_F}, //60
{0x23, KEY_EN_G}, //61
{0x24, KEY_EN_H}, //62
{0x25, KEY_EN_J}, //63
{0x26, KEY_EN_K}, //64
{0x27, KEY_EN_L}, //65
{0x28, KEY_EN_SEMICOLON}, //66
{0x29, KEY_EN_QUOTE}, //67
{0x2B, KEY_EN_ANSI_ENTER}, //68 left led
{0x8F, KEY_EN_ANSI_ENTER}, //69 right led
{0x5A, KEY_EN_NUMPAD_LOCK}, //70 top led
{0x63, KEY_EN_NUMPAD_0}, //71
{0x68, KEY_EN_NUMPAD_PERIOD}, //72
{0x6A, KEY_EN_NUMPAD_PLUS}, //73
//Row 5
{0x2C, KEY_EN_LEFT_SHIFT}, //74
{0x8E, KEY_EN_LEFT_SHIFT}, //75
{0x2E, KEY_EN_Z}, //76
{0x2F, KEY_EN_X}, //77
{0x30, KEY_EN_C}, //78
{0x31, KEY_EN_V}, //79
{0x32, KEY_EN_B}, //80
{0x33, KEY_EN_N}, //81
{0x34, KEY_EN_M}, //82
{0x35, KEY_EN_COMMA}, //83
{0x36, KEY_EN_PERIOD}, //84
{0x37, KEY_EN_FORWARD_SLASH}, //85
{0x39, KEY_EN_RIGHT_SHIFT}, //86 left led
{0x90, KEY_EN_RIGHT_SHIFT}, //87 right led
{0x53, KEY_EN_UP_ARROW}, //88
{0x93, KEY_EN_NUMPAD_LOCK}, //89 bottom led
//Row 6
{0x3A, KEY_EN_LEFT_CONTROL}, //90
{0x3B, KEY_EN_LEFT_FUNCTION}, //91
{0x7F, KEY_EN_LEFT_WINDOWS}, //92
{0x3C, KEY_EN_LEFT_ALT}, //93
{0x3D, KEY_EN_SPACE}, //94 left led
{0x91, KEY_EN_SPACE}, //95 right led
{0x3E, KEY_EN_RIGHT_ALT}, //96
{0x40, KEY_EN_PRINT_SCREEN}, //97 left led
{0x92, KEY_EN_PRINT_SCREEN}, //98 left led
{0x86, "Record"}, //99
{0x81, KEY_EN_RIGHT_CONTROL}, //100
{0x4F, KEY_EN_LEFT_ARROW}, //101
{0x54, KEY_EN_DOWN_ARROW}, //102
{0x59, KEY_EN_RIGHT_ARROW}, //103
//Other LEDs
{0x97, "Power button"}, //104
{0x99, "Fans"}, //105
{0x98, "USB ports"}, //106
{0x96, "Legion Y Logo"} //107
};
const lenovo_led legion_Y740_17_iso_leds[]
{
//Row 1
{0x6E, KEY_EN_ESCAPE}, //0
{0x70, KEY_EN_F1}, //1
{0x71, KEY_EN_F2}, //2
{0x72, KEY_EN_F3}, //3
{0x73, KEY_EN_F4}, //4
{0x74, KEY_EN_F5}, //5
{0x75, KEY_EN_F6}, //6
{0x76, KEY_EN_F7}, //7
{0x77, KEY_EN_F8}, //8
{0x78, KEY_EN_F9}, //9
{0x79, KEY_EN_F10}, //10
{0x7A, KEY_EN_F11}, //11
{0x7B, KEY_EN_F12}, //12
{0x7D, KEY_EN_DELETE}, //13
{0x5B, KEY_EN_NUMPAD_7}, //14
{0x60, KEY_EN_NUMPAD_8}, //15
{0x65, KEY_EN_NUMPAD_9}, //16
{0x5F, KEY_EN_NUMPAD_DIVIDE}, //17
//Row 2
{0x01, KEY_EN_BACK_TICK}, //18
{0x02, KEY_EN_1}, //19
{0x03, KEY_EN_2}, //20
{0x04, KEY_EN_3}, //21
{0x05, KEY_EN_4}, //22
{0x06, KEY_EN_5}, //23
{0x07, KEY_EN_6}, //24
{0x08, KEY_EN_7}, //25
{0x09, KEY_EN_8}, //26
{0x0A, KEY_EN_9}, //27
{0x0B, KEY_EN_0}, //28
{0x0C, KEY_EN_MINUS}, //29
{0x0D, KEY_EN_EQUALS}, //30
{0x0F, KEY_EN_BACKSPACE}, //31 left led
{0x8C, KEY_EN_BACKSPACE}, //32 right led
{0x5C, KEY_EN_NUMPAD_4}, //33
{0x61, KEY_EN_NUMPAD_5}, //34
{0x66, KEY_EN_NUMPAD_6}, //35
{0x64, KEY_EN_NUMPAD_TIMES}, //36
//Row 3
{0x10, KEY_EN_TAB}, //37
{0x11, KEY_EN_Q}, //38
{0x12, KEY_EN_W}, //39
{0x13, KEY_EN_E}, //40
{0x14, KEY_EN_R}, //41
{0x15, KEY_EN_T}, //42
{0x16, KEY_EN_Y}, //43
{0x17, KEY_EN_U}, //44
{0x18, KEY_EN_I}, //45
{0x19, KEY_EN_O}, //46
{0x1A, KEY_EN_P}, //47
{0x1B, KEY_EN_LEFT_BRACKET}, //48
{0x1C, KEY_EN_RIGHT_BRACKET}, //49
{0x94, KEY_EN_ISO_ENTER}, //50
{0x5D, KEY_EN_NUMPAD_1}, //51
{0x62, KEY_EN_NUMPAD_2}, //52
{0x67, KEY_EN_NUMPAD_3}, //53
{0x69, KEY_EN_NUMPAD_MINUS}, //54
//Row 4
{0x1E, KEY_EN_CAPS_LOCK}, //55 left led
{0x8D, KEY_EN_CAPS_LOCK}, //56 right led
{0x1F, KEY_EN_A}, //57
{0x20, KEY_EN_S}, //58
{0x21, KEY_EN_D}, //59
{0x22, KEY_EN_F}, //60
{0x23, KEY_EN_G}, //61
{0x24, KEY_EN_H}, //62
{0x25, KEY_EN_J}, //63
{0x26, KEY_EN_K}, //64
{0x27, KEY_EN_L}, //65
{0x28, KEY_EN_SEMICOLON}, //66
{0x29, KEY_EN_QUOTE}, //67
{0x2B, KEY_EN_POUND}, //68
{0x5A, KEY_EN_NUMPAD_LOCK}, //69 top led
{0x63, KEY_EN_NUMPAD_0}, //70
{0x68, KEY_EN_NUMPAD_PERIOD}, //71
{0x6A, KEY_EN_NUMPAD_PLUS}, //72
//Row 5
{0x2C, KEY_EN_LEFT_SHIFT}, //73
{0x2D, KEY_EN_ISO_BACK_SLASH}, //74
{0x2E, KEY_EN_Z}, //75
{0x2F, KEY_EN_X}, //76
{0x30, KEY_EN_C}, //77
{0x31, KEY_EN_V}, //78
{0x32, KEY_EN_B}, //79
{0x33, KEY_EN_N}, //80
{0x34, KEY_EN_M}, //81
{0x35, KEY_EN_COMMA}, //82
{0x36, KEY_EN_PERIOD}, //83
{0x37, KEY_EN_FORWARD_SLASH}, //84
{0x39, KEY_EN_RIGHT_SHIFT}, //85 left led
{0x90, KEY_EN_RIGHT_SHIFT}, //86 right led
{0x53, KEY_EN_UP_ARROW}, //87
{0x93, KEY_EN_NUMPAD_LOCK}, //88 bottom led
//Row 6
{0x3A, KEY_EN_LEFT_CONTROL}, //89
{0x3B, KEY_EN_LEFT_FUNCTION}, //90
{0x7F, KEY_EN_LEFT_WINDOWS}, //91
{0x3C, KEY_EN_LEFT_ALT}, //92
{0x3D, KEY_EN_SPACE}, //93 left led
{0x91, KEY_EN_SPACE}, //94 right led
{0x3E, KEY_EN_RIGHT_ALT}, //95
{0x40, KEY_EN_PRINT_SCREEN}, //96 left led
{0x92, KEY_EN_PRINT_SCREEN}, //97 left led
{0x86, "Record"}, //98
{0x81, KEY_EN_RIGHT_CONTROL}, //99
{0x4F, KEY_EN_LEFT_ARROW}, //100
{0x54, KEY_EN_DOWN_ARROW}, //101
{0x59, KEY_EN_RIGHT_ARROW}, //102
//Other LEDs
{0x97, "Power button"}, //103
{0x99, "Fans"}, //104
{0x98, "USB ports"}, //105
{0x96, "Legion Y Logo"} //106
};
/*--------------------------------------------------------*\
| LEDs for Legion Y740 15" |
\*--------------------------------------------------------*/
const lenovo_led legion_Y740_15_ansi_leds[]
{
{0x6E, KEY_EN_ESCAPE}, //0
{0x70, KEY_EN_F1}, //1
{0x71, KEY_EN_F2}, //2
{0x72, KEY_EN_F3}, //3
{0x73, KEY_EN_F4}, //4
{0x74, KEY_EN_F5}, //5
{0x75, KEY_EN_F6}, //6
{0x76, KEY_EN_F7}, //7
{0x77, KEY_EN_F8}, //8
{0x78, KEY_EN_F9}, //9
{0x79, KEY_EN_F10}, //10
{0x7A, KEY_EN_F11}, //11
{0x7B, KEY_EN_F12}, //12
{0x7D, KEY_EN_DELETE}, //13
//Row 2
{0x01, KEY_EN_BACK_TICK}, //14
{0x02, KEY_EN_1}, //15
{0x03, KEY_EN_2}, //16
{0x04, KEY_EN_3}, //17
{0x05, KEY_EN_4}, //18
{0x06, KEY_EN_5}, //19
{0x07, KEY_EN_6}, //20
{0x08, KEY_EN_7}, //21
{0x09, KEY_EN_8}, //22
{0x0A, KEY_EN_9}, //23
{0x0B, KEY_EN_0}, //24
{0x0C, KEY_EN_MINUS}, //25
{0x0D, KEY_EN_EQUALS}, //26
{0x0F, KEY_EN_BACKSPACE}, //27
{0x8C, KEY_EN_BACKSPACE}, //28
//Row 3
{0x10, KEY_EN_TAB}, //29
{0x11, KEY_EN_Q}, //30
{0x12, KEY_EN_W}, //31
{0x13, KEY_EN_E}, //32
{0x14, KEY_EN_R}, //33
{0x15, KEY_EN_T}, //34
{0x16, KEY_EN_Y}, //35
{0x17, KEY_EN_U}, //36
{0x18, KEY_EN_I}, //37
{0x19, KEY_EN_O}, //38
{0x1A, KEY_EN_P}, //39
{0x1B, KEY_EN_LEFT_BRACKET}, //40
{0x1C, KEY_EN_RIGHT_BRACKET}, //41
{0x1D, KEY_EN_ANSI_BACK_SLASH}, //42
//Row 4
{0x1E, KEY_EN_CAPS_LOCK}, //43
{0x8D, KEY_EN_CAPS_LOCK}, //44
{0x1F, KEY_EN_A}, //45
{0x20, KEY_EN_S}, //46
{0x21, KEY_EN_D}, //47
{0x22, KEY_EN_F}, //48
{0x23, KEY_EN_G}, //49
{0x24, KEY_EN_H}, //50
{0x25, KEY_EN_J}, //51
{0x26, KEY_EN_K}, //52
{0x27, KEY_EN_L}, //53
{0x28, KEY_EN_SEMICOLON}, //54
{0x29, KEY_EN_QUOTE}, //55
{0x2B, KEY_EN_ANSI_ENTER}, //56
{0x8F, KEY_EN_ANSI_ENTER}, //57
//Row 5
{0x2C, KEY_EN_LEFT_SHIFT}, //58
{0x8E, KEY_EN_LEFT_SHIFT}, //59
{0x2E, KEY_EN_Z}, //60
{0x2F, KEY_EN_X}, //61
{0x30, KEY_EN_C}, //62
{0x31, KEY_EN_V}, //63
{0x32, KEY_EN_B}, //64
{0x33, KEY_EN_N}, //65
{0x34, KEY_EN_M}, //66
{0x35, KEY_EN_COMMA}, //67
{0x36, KEY_EN_PERIOD}, //68
{0x37, KEY_EN_FORWARD_SLASH}, //69
{0x39, KEY_EN_RIGHT_SHIFT}, //70
{0x90, KEY_EN_RIGHT_SHIFT}, //71
//Row 6
{0x3A, KEY_EN_LEFT_CONTROL}, //72
{0x3B, KEY_EN_LEFT_FUNCTION}, //73
{0x7F, KEY_EN_LEFT_WINDOWS}, //74
{0x3C, KEY_EN_LEFT_ALT}, //75
{0x3D, KEY_EN_SPACE}, //76
{0x91, KEY_EN_SPACE}, //77
{0x3E, KEY_EN_RIGHT_ALT}, //78
{0x81, KEY_EN_RIGHT_CONTROL}, //79
{0x53, KEY_EN_UP_ARROW}, //80
//Row 7
{0x4F, KEY_EN_LEFT_ARROW}, //81
{0x54, KEY_EN_DOWN_ARROW}, //82
{0x59, KEY_EN_RIGHT_ARROW}, //83
//Left Column
{0x40, "Key: Vantage"}, //84
{0x92, "Key: Capture"}, //85
{0x86, "Key: M1"}, //86
{0x81, "Key: M2"}, //87
{0x53, "Key: Kb Brightness Up"}, //88
{0x54, "Key: Kb Brightness Down"}, //89
//Other LEDs
{0x97, "Power button"}, //90
{0x99, "Fans"}, //91
{0x98, "USB ports"}, //92
{0x96, "Legion Y Logo"} //93
};
const lenovo_led legion_Y740_15_iso_leds[]
{
{0x6E, KEY_EN_ESCAPE}, //0
{0x70, KEY_EN_F1}, //1
{0x71, KEY_EN_F2}, //2
{0x72, KEY_EN_F3}, //3
{0x73, KEY_EN_F4}, //4
{0x74, KEY_EN_F5}, //5
{0x75, KEY_EN_F6}, //6
{0x76, KEY_EN_F7}, //7
{0x77, KEY_EN_F8}, //8
{0x78, KEY_EN_F9}, //9
{0x79, KEY_EN_F10}, //10
{0x7A, KEY_EN_F11}, //11
{0x7B, KEY_EN_F12}, //12
{0x7D, KEY_EN_DELETE}, //13
//Row 2
{0x01, KEY_EN_BACK_TICK}, //14
{0x02, KEY_EN_1}, //15
{0x03, KEY_EN_2}, //16
{0x04, KEY_EN_3}, //17
{0x05, KEY_EN_4}, //18
{0x06, KEY_EN_5}, //19
{0x07, KEY_EN_6}, //20
{0x08, KEY_EN_7}, //21
{0x09, KEY_EN_8}, //22
{0x0A, KEY_EN_9}, //23
{0x0B, KEY_EN_0}, //24
{0x0C, KEY_EN_MINUS}, //25
{0x0D, KEY_EN_EQUALS}, //26
{0x0F, KEY_EN_BACKSPACE}, //27
{0x8C, KEY_EN_BACKSPACE}, //28
//Row 3
{0x10, KEY_EN_TAB}, //29
{0x11, KEY_EN_Q}, //30
{0x12, KEY_EN_W}, //31
{0x13, KEY_EN_E}, //32
{0x14, KEY_EN_R}, //33
{0x15, KEY_EN_T}, //34
{0x16, KEY_EN_Y}, //35
{0x17, KEY_EN_U}, //36
{0x18, KEY_EN_I}, //37
{0x19, KEY_EN_O}, //38
{0x1A, KEY_EN_P}, //39
{0x1B, KEY_EN_LEFT_BRACKET}, //40
{0x1C, KEY_EN_RIGHT_BRACKET}, //41
{0x94, KEY_EN_ISO_ENTER}, //42
//Row 4
{0x1E, KEY_EN_CAPS_LOCK}, //43
{0x8D, KEY_EN_CAPS_LOCK}, //44
{0x1F, KEY_EN_A}, //45
{0x20, KEY_EN_S}, //46
{0x21, KEY_EN_D}, //47
{0x22, KEY_EN_F}, //48
{0x23, KEY_EN_G}, //49
{0x24, KEY_EN_H}, //50
{0x25, KEY_EN_J}, //51
{0x26, KEY_EN_K}, //52
{0x27, KEY_EN_L}, //53
{0x28, KEY_EN_SEMICOLON}, //54
{0x29, KEY_EN_QUOTE}, //55
{0x2B, KEY_EN_POUND}, //56
//Row 5
{0x2C, KEY_EN_LEFT_SHIFT}, //57
{0x2D, KEY_EN_ISO_BACK_SLASH}, //58
{0x2E, KEY_EN_Z}, //59
{0x2F, KEY_EN_X}, //60
{0x30, KEY_EN_C}, //61
{0x31, KEY_EN_V}, //62
{0x32, KEY_EN_B}, //63
{0x33, KEY_EN_N}, //64
{0x34, KEY_EN_M}, //65
{0x35, KEY_EN_COMMA}, //66
{0x36, KEY_EN_PERIOD}, //67
{0x37, KEY_EN_FORWARD_SLASH}, //68
{0x39, KEY_EN_RIGHT_SHIFT}, //69
{0x90, KEY_EN_RIGHT_SHIFT}, //70
//Row 6
{0x3A, KEY_EN_LEFT_CONTROL}, //71
{0x3B, KEY_EN_LEFT_FUNCTION}, //72
{0x7F, KEY_EN_LEFT_WINDOWS}, //73
{0x3C, KEY_EN_LEFT_ALT}, //74
{0x3D, KEY_EN_SPACE}, //75
{0x91, KEY_EN_SPACE}, //76
{0x3E, KEY_EN_RIGHT_ALT}, //77
{0x81, KEY_EN_RIGHT_CONTROL}, //78
{0x53, KEY_EN_UP_ARROW}, //79
//Row 7
{0x4F, KEY_EN_LEFT_ARROW}, //80
{0x54, KEY_EN_DOWN_ARROW}, //81
{0x59, KEY_EN_RIGHT_ARROW}, //82
//Left Column
{0x40, "Key: Vantage"}, //83
{0x92, "Key: Capture"}, //84
{0x86, "Key: M1"}, //85
{0x81, "Key: M2"}, //86
{0x53, "Key: Kb Brightness Up"}, //87
{0x54, "Key: Kb Brightness Down"}, //88
//Other LEDs
{0x97, "Power button"}, //89
{0x99, "Fans"}, //90
{0x98, "USB ports"}, //91
{0x96, "Legion Y Logo"} //92
};
/*--------------------------------------------------------*\
| Legion 7 gen 6: 7 zones |
| |
@ -1095,4 +1618,200 @@ static lenovo_zone lenovo_legion_Y750_neon
2,
};
/*--------------------------------------------------------*\
| Legion Y740 17": 5 zones |
\*--------------------------------------------------------*/
/*------*\
|keyboard|
\*------*/
static lenovo_zone lenovo_legion_Y740_17_kbd_ansi
{
"Keyboard",
ZONE_TYPE_MATRIX,
1,
6,
19,
legion_Y740_17_ansi_leds_map,
legion_Y740_17_ansi_leds,
0,
103,
};
static lenovo_zone lenovo_legion_Y740_17_kbd_iso
{
"Keyboard",
ZONE_TYPE_MATRIX,
1,
6,
19,
legion_Y740_17_iso_leds_map,
legion_Y740_17_iso_leds,
0,
103,
};
/*-----------*\
|Power button |
\*-----------*/
static lenovo_zone lenovo_legion_Y740_17_logo
{
"Logo",
ZONE_TYPE_SINGLE,
1,
1,
1,
NULL,
legion_Y740_17_ansi_leds,
107,
107,
};
/*------*\
|logo |
\*------*/
static lenovo_zone lenovo_legion_Y740_17_pwrbtn
{
"Power Button",
ZONE_TYPE_SINGLE,
1,
1,
1,
NULL,
legion_Y740_17_ansi_leds,
104,
104,
};
/*------*\
|vents |
\*------*/
static lenovo_zone lenovo_legion_Y740_17_vents
{
"Vents",
ZONE_TYPE_SINGLE,
1,
1,
1,
NULL,
legion_Y740_17_ansi_leds,
105,
105,
};
/*--------*\
|USB Ports |
\*--------*/
static lenovo_zone lenovo_legion_Y740_17_ports
{
"Neon",
ZONE_TYPE_SINGLE,
1,
1,
1,
NULL,
legion_Y740_17_ansi_leds,
106,
106,
};
/*--------------------------------------------------------*\
| Legion Y740 15": 5 zones |
\*--------------------------------------------------------*/
/*------*\
|keyboard|
\*------*/
static lenovo_zone lenovo_legion_Y740_15_kbd_ansi
{
"Keyboard",
ZONE_TYPE_MATRIX,
1,
7,
16,
legion_Y740_15_ansi_leds_map,
legion_Y740_15_ansi_leds,
0,
89,
};
static lenovo_zone lenovo_legion_Y740_15_kbd_iso
{
"Keyboard",
ZONE_TYPE_MATRIX,
1,
7,
16,
legion_Y740_15_iso_leds_map,
legion_Y740_15_iso_leds,
0,
89,
};
/*-----------*\
|Power button |
\*-----------*/
static lenovo_zone lenovo_legion_Y740_15_logo
{
"Logo",
ZONE_TYPE_SINGLE,
1,
1,
1,
NULL,
legion_Y740_15_ansi_leds,
93,
93,
};
/*------*\
|logo |
\*------*/
static lenovo_zone lenovo_legion_Y740_15_pwrbtn
{
"Power Button",
ZONE_TYPE_SINGLE,
1,
1,
1,
NULL,
legion_Y740_15_ansi_leds,
90,
90,
};
/*------*\
|vents |
\*------*/
static lenovo_zone lenovo_legion_Y740_15_vents
{
"Vents",
ZONE_TYPE_SINGLE,
1,
1,
1,
NULL,
legion_Y740_15_ansi_leds,
91,
91,
};
/*--------*\
|USB Ports |
\*--------*/
static lenovo_zone lenovo_legion_Y740_15_ports
{
"Neon",
ZONE_TYPE_SINGLE,
1,
1,
1,
NULL,
legion_Y740_15_ansi_leds,
92,
92,
};
#endif

View file

@ -207,9 +207,43 @@ void RGBController_LenovoUSB::SetupZones()
switch(controller->getPid())
{
case LEGION_Y740:
/*--------------------------------*\
| not yet implemeted |
\*--------------------------------*/
switch(chasis_size)
{
case FIFTEEN:
switch(keyboard_type)
{
case ISO:
lenovo_zones.push_back(lenovo_legion_Y740_15_kbd_iso);
break;
default:
lenovo_zones.push_back(lenovo_legion_Y740_15_kbd_ansi);
break;
}
lenovo_zones.push_back(lenovo_legion_Y740_15_logo);
lenovo_zones.push_back(lenovo_legion_Y740_15_pwrbtn);
lenovo_zones.push_back(lenovo_legion_Y740_15_vents);
lenovo_zones.push_back(lenovo_legion_Y740_15_ports);
break;
case SEVENTEEN:
default:
switch(keyboard_type)
{
case ISO:
lenovo_zones.push_back(lenovo_legion_Y740_17_kbd_iso);
break;
default:
lenovo_zones.push_back(lenovo_legion_Y740_17_kbd_ansi);
break;
}
lenovo_zones.push_back(lenovo_legion_Y740_17_logo);
lenovo_zones.push_back(lenovo_legion_Y740_17_pwrbtn);
lenovo_zones.push_back(lenovo_legion_Y740_17_vents);
lenovo_zones.push_back(lenovo_legion_Y740_17_ports);
break;
}
break;
case LEGION_Y750: