Use EC functions to set KB color
This commit is contained in:
parent
5f631c3b2f
commit
1cc36c89ec
24
ec.c
24
ec.c
|
|
@ -26,24 +26,28 @@
|
|||
#define FBF2 0xFC
|
||||
#define FBF3 0xFD
|
||||
|
||||
enum KbRegion {
|
||||
KB_LEFT,
|
||||
KB_CENTER,
|
||||
KB_RIGHT,
|
||||
enum EcKbRegion {
|
||||
EC_KB_LEFT,
|
||||
EC_KB_CENTER,
|
||||
EC_KB_RIGHT,
|
||||
EC_KB_EXTRA,
|
||||
};
|
||||
|
||||
static void ec_kb_color_set(enum KbRegion region, u32 color) {
|
||||
static void ec_kb_color_set(enum EcKbRegion region, u32 color) {
|
||||
u8 region_code;
|
||||
switch(region) {
|
||||
case KB_LEFT:
|
||||
case EC_KB_LEFT:
|
||||
region_code = 0x3;
|
||||
break;
|
||||
case KB_CENTER:
|
||||
case EC_KB_CENTER:
|
||||
region_code = 0x4;
|
||||
break;
|
||||
case KB_RIGHT:
|
||||
case EC_KB_RIGHT:
|
||||
region_code = 0x5;
|
||||
break;
|
||||
case EC_KB_EXTRA:
|
||||
region_code = 0x7;
|
||||
break;
|
||||
default:
|
||||
return;
|
||||
}
|
||||
|
|
@ -56,10 +60,6 @@ static void ec_kb_color_set(enum KbRegion region, u32 color) {
|
|||
}
|
||||
|
||||
static int ec_init(void) {
|
||||
ec_kb_color_set(KB_LEFT, 0xFF0000);
|
||||
ec_kb_color_set(KB_CENTER, 0xFF00);
|
||||
ec_kb_color_set(KB_RIGHT, 0xFF);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
|
|||
36
kb.c
36
kb.c
|
|
@ -268,38 +268,18 @@ static void kb_full_color__set_color(unsigned left, unsigned center,
|
|||
kb_colors[extra].name, (unsigned int)kb_colors[extra].value.rgb
|
||||
);
|
||||
|
||||
cmd = 0xF0000000;
|
||||
cmd |= kb_colors[left].value.b << 16;
|
||||
cmd |= kb_colors[left].value.r << 8;
|
||||
cmd |= kb_colors[left].value.g << 0;
|
||||
ec_kb_color_set(EC_KB_LEFT, kb_colors[left].value.rgb);
|
||||
kb_backlight.color.left = left;
|
||||
|
||||
if (!s76_wmbb(SET_KB_LED, cmd, NULL))
|
||||
kb_backlight.color.left = left;
|
||||
ec_kb_color_set(EC_KB_CENTER, kb_colors[center].value.rgb);
|
||||
kb_backlight.color.center = center;
|
||||
|
||||
cmd = 0xF1000000;
|
||||
cmd |= kb_colors[center].value.b << 16;
|
||||
cmd |= kb_colors[center].value.r << 8;
|
||||
cmd |= kb_colors[center].value.g << 0;
|
||||
|
||||
if (!s76_wmbb(SET_KB_LED, cmd, NULL))
|
||||
kb_backlight.color.center = center;
|
||||
|
||||
cmd = 0xF2000000;
|
||||
cmd |= kb_colors[right].value.b << 16;
|
||||
cmd |= kb_colors[right].value.r << 8;
|
||||
cmd |= kb_colors[right].value.g << 0;
|
||||
|
||||
if (!s76_wmbb(SET_KB_LED, cmd, NULL))
|
||||
kb_backlight.color.right = right;
|
||||
ec_kb_color_set(EC_KB_RIGHT, kb_colors[right].value.rgb);
|
||||
kb_backlight.color.right = right;
|
||||
|
||||
if (kb_backlight.extra == KB_HAS_EXTRA_TRUE) {
|
||||
cmd = 0xF3000000;
|
||||
cmd |= kb_colors[extra].value.b << 16;
|
||||
cmd |= kb_colors[extra].value.r << 8;
|
||||
cmd |= kb_colors[extra].value.g << 0;
|
||||
|
||||
if(!s76_wmbb(SET_KB_LED, cmd, NULL))
|
||||
kb_backlight.color.extra = extra;
|
||||
ec_kb_color_set(EC_KB_EXTRA, kb_colors[extra].value.rgb);
|
||||
kb_backlight.color.extra = extra;
|
||||
}
|
||||
|
||||
kb_backlight.mode = KB_MODE_CUSTOM;
|
||||
|
|
|
|||
Loading…
Reference in New Issue