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 FBF2 0xFC
|
||||||
#define FBF3 0xFD
|
#define FBF3 0xFD
|
||||||
|
|
||||||
enum KbRegion {
|
enum EcKbRegion {
|
||||||
KB_LEFT,
|
EC_KB_LEFT,
|
||||||
KB_CENTER,
|
EC_KB_CENTER,
|
||||||
KB_RIGHT,
|
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;
|
u8 region_code;
|
||||||
switch(region) {
|
switch(region) {
|
||||||
case KB_LEFT:
|
case EC_KB_LEFT:
|
||||||
region_code = 0x3;
|
region_code = 0x3;
|
||||||
break;
|
break;
|
||||||
case KB_CENTER:
|
case EC_KB_CENTER:
|
||||||
region_code = 0x4;
|
region_code = 0x4;
|
||||||
break;
|
break;
|
||||||
case KB_RIGHT:
|
case EC_KB_RIGHT:
|
||||||
region_code = 0x5;
|
region_code = 0x5;
|
||||||
break;
|
break;
|
||||||
|
case EC_KB_EXTRA:
|
||||||
|
region_code = 0x7;
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
@ -56,10 +60,6 @@ static void ec_kb_color_set(enum KbRegion region, u32 color) {
|
||||||
}
|
}
|
||||||
|
|
||||||
static int ec_init(void) {
|
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;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
42
kb.c
42
kb.c
|
|
@ -267,39 +267,19 @@ static void kb_full_color__set_color(unsigned left, unsigned center,
|
||||||
kb_colors[right].name, (unsigned int)kb_colors[right].value.rgb,
|
kb_colors[right].name, (unsigned int)kb_colors[right].value.rgb,
|
||||||
kb_colors[extra].name, (unsigned int)kb_colors[extra].value.rgb
|
kb_colors[extra].name, (unsigned int)kb_colors[extra].value.rgb
|
||||||
);
|
);
|
||||||
|
|
||||||
cmd = 0xF0000000;
|
ec_kb_color_set(EC_KB_LEFT, kb_colors[left].value.rgb);
|
||||||
cmd |= kb_colors[left].value.b << 16;
|
kb_backlight.color.left = left;
|
||||||
cmd |= kb_colors[left].value.r << 8;
|
|
||||||
cmd |= kb_colors[left].value.g << 0;
|
ec_kb_color_set(EC_KB_CENTER, kb_colors[center].value.rgb);
|
||||||
|
kb_backlight.color.center = center;
|
||||||
if (!s76_wmbb(SET_KB_LED, cmd, NULL))
|
|
||||||
kb_backlight.color.left = left;
|
ec_kb_color_set(EC_KB_RIGHT, kb_colors[right].value.rgb);
|
||||||
|
kb_backlight.color.right = right;
|
||||||
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;
|
|
||||||
|
|
||||||
if (kb_backlight.extra == KB_HAS_EXTRA_TRUE) {
|
if (kb_backlight.extra == KB_HAS_EXTRA_TRUE) {
|
||||||
cmd = 0xF3000000;
|
ec_kb_color_set(EC_KB_EXTRA, kb_colors[extra].value.rgb);
|
||||||
cmd |= kb_colors[extra].value.b << 16;
|
kb_backlight.color.extra = extra;
|
||||||
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;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
kb_backlight.mode = KB_MODE_CUSTOM;
|
kb_backlight.mode = KB_MODE_CUSTOM;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue