mirror of
https://github.com/jjsullivan5196/wvkbd.git
synced 2025-03-13 02:42:47 +01:00
add: args to customize keyboard colors (takes rrggbb or rrggbbaa values) add: function to set keyboard colors from rrggbb or rrggbbaa values fix: handle empty font arg
Signed-off-by: Maarten van Gompel <proycon@anaproy.nl>
This commit is contained in:
parent
12c0d67f41
commit
e29b029308
87
main.c
87
main.c
@ -367,6 +367,15 @@ usage(char *argv0) {
|
|||||||
fprintf(stderr, " -L [int] - Landscape height in pixels\n");
|
fprintf(stderr, " -L [int] - Landscape height in pixels\n");
|
||||||
fprintf(stderr, " --fn [font] - Set font (e.g: DejaVu Sans 20)\n");
|
fprintf(stderr, " --fn [font] - Set font (e.g: DejaVu Sans 20)\n");
|
||||||
fprintf(stderr, " --hidden - Start hidden (send SIGUSR2 to show)\n");
|
fprintf(stderr, " --hidden - Start hidden (send SIGUSR2 to show)\n");
|
||||||
|
fprintf(stderr, " --bg [rrggbb|aa] - Set color of background\n");
|
||||||
|
fprintf(stderr, " --fg [rrggbb|aa] - Set color of keys\n");
|
||||||
|
fprintf(stderr, " --fg-sp [rrggbb|aa] - Set color of special keys\n");
|
||||||
|
fprintf(stderr, " --press [rrggbb|aa] - Set color of pressed keys\n");
|
||||||
|
fprintf(stderr, " --press-sp [rrggbb|aa] - Set color of pressed special keys\n");
|
||||||
|
fprintf(stderr, " --swipe [rrggbb|aa] - Set color of swiped keys\n");
|
||||||
|
fprintf(stderr, " --swipe-sp [rrggbb|aa] - Set color of swiped special keys\n");
|
||||||
|
fprintf(stderr, " --text [rrggbb|aa] - Set color of text on keys\n");
|
||||||
|
fprintf(stderr, " --text-sp [rrggbb|aa] - Set color of text on special keys\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
@ -419,6 +428,25 @@ pipewarn() {
|
|||||||
fprintf(stderr, "wvkbd: cannot pipe data out.\n");
|
fprintf(stderr, "wvkbd: cannot pipe data out.\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
set_kbd_colors(uint8_t * bgra, char * hex) {
|
||||||
|
// bg, fg, text, high, swipe
|
||||||
|
int length = strlen(hex);
|
||||||
|
if (length == 6 || length == 8) {
|
||||||
|
char subhex[2];
|
||||||
|
memcpy(subhex, hex, 2);
|
||||||
|
bgra[2] = (int)strtol(subhex, NULL, 16);
|
||||||
|
memcpy(subhex, hex+2, 2);
|
||||||
|
bgra[1] = (int)strtol(subhex, NULL, 16);
|
||||||
|
memcpy(subhex, hex+4, 2);
|
||||||
|
bgra[0] = (int)strtol(subhex, NULL, 16);
|
||||||
|
if (length == 8) {
|
||||||
|
memcpy(subhex, hex+6, 2);
|
||||||
|
bgra[3] = (int)strtol(subhex, NULL, 16);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
main(int argc, char **argv) {
|
main(int argc, char **argv) {
|
||||||
/* parse command line arguments */
|
/* parse command line arguments */
|
||||||
@ -441,7 +469,6 @@ main(int argc, char **argv) {
|
|||||||
keyboard.scheme = scheme;
|
keyboard.scheme = scheme;
|
||||||
keyboard.layer_index = 0;
|
keyboard.layer_index = 0;
|
||||||
keyboard.scheme1 = scheme1;
|
keyboard.scheme1 = scheme1;
|
||||||
keyboard.scheme1 = scheme1;
|
|
||||||
|
|
||||||
int i;
|
int i;
|
||||||
for (i = 1; argv[i]; i++) {
|
for (i = 1; argv[i]; i++) {
|
||||||
@ -459,6 +486,60 @@ main(int argc, char **argv) {
|
|||||||
if (layer_names_list)
|
if (layer_names_list)
|
||||||
free(layer_names_list);
|
free(layer_names_list);
|
||||||
layer_names_list = estrdup(argv[++i]);
|
layer_names_list = estrdup(argv[++i]);
|
||||||
|
} else if ((!strcmp(argv[i], "-bg")) || (!strcmp(argv[i], "--bg"))) {
|
||||||
|
if (i >= argc - 1) {
|
||||||
|
usage(argv[0]);
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
set_kbd_colors(keyboard.scheme.bg.bgra, argv[++i]);
|
||||||
|
} else if ((!strcmp(argv[i], "-fg")) || (!strcmp(argv[i], "--fg"))) {
|
||||||
|
if (i >= argc - 1) {
|
||||||
|
usage(argv[0]);
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
set_kbd_colors(keyboard.scheme.fg.bgra, argv[++i]);
|
||||||
|
} else if ((!strcmp(argv[i], "-fg-sp")) || (!strcmp(argv[i], "--fg-sp"))) {
|
||||||
|
if (i >= argc - 1) {
|
||||||
|
usage(argv[0]);
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
set_kbd_colors(keyboard.scheme1.fg.bgra, argv[++i]);
|
||||||
|
} else if ((!strcmp(argv[i], "-press")) || (!strcmp(argv[i], "--press"))) {
|
||||||
|
if (i >= argc - 1) {
|
||||||
|
usage(argv[0]);
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
set_kbd_colors(keyboard.scheme.high.bgra, argv[++i]);
|
||||||
|
} else if ((!strcmp(argv[i], "-press-sp")) || (!strcmp(argv[i], "--press-sp"))) {
|
||||||
|
if (i >= argc - 1) {
|
||||||
|
usage(argv[0]);
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
set_kbd_colors(keyboard.scheme1.high.bgra, argv[++i]);
|
||||||
|
} else if ((!strcmp(argv[i], "-swipe")) || (!strcmp(argv[i], "--swipe"))) {
|
||||||
|
if (i >= argc - 1) {
|
||||||
|
usage(argv[0]);
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
set_kbd_colors(keyboard.scheme.swipe.bgra, argv[++i]);
|
||||||
|
} else if ((!strcmp(argv[i], "-swipe-sp")) || (!strcmp(argv[i], "--swipe-sp"))) {
|
||||||
|
if (i >= argc - 1) {
|
||||||
|
usage(argv[0]);
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
set_kbd_colors(keyboard.scheme1.swipe.bgra, argv[++i]);
|
||||||
|
} else if ((!strcmp(argv[i], "-text")) || (!strcmp(argv[i], "--text"))) {
|
||||||
|
if (i >= argc - 1) {
|
||||||
|
usage(argv[0]);
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
set_kbd_colors(keyboard.scheme.text.bgra, argv[++i]);
|
||||||
|
} else if ((!strcmp(argv[i], "-text-sp")) || (!strcmp(argv[i], "--text-sp"))) {
|
||||||
|
if (i >= argc - 1) {
|
||||||
|
usage(argv[0]);
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
set_kbd_colors(keyboard.scheme1.text.bgra, argv[++i]);
|
||||||
} else if (!strcmp(argv[i], "-H")) {
|
} else if (!strcmp(argv[i], "-H")) {
|
||||||
if (i >= argc - 1) {
|
if (i >= argc - 1) {
|
||||||
usage(argv[0]);
|
usage(argv[0]);
|
||||||
@ -474,6 +555,10 @@ main(int argc, char **argv) {
|
|||||||
} else if (!strcmp(argv[i], "-D")) {
|
} else if (!strcmp(argv[i], "-D")) {
|
||||||
keyboard.debug = true;
|
keyboard.debug = true;
|
||||||
} else if ((!strcmp(argv[i], "-fn")) || (!strcmp(argv[i], "--fn"))) {
|
} else if ((!strcmp(argv[i], "-fn")) || (!strcmp(argv[i], "--fn"))) {
|
||||||
|
if (i >= argc - 1) {
|
||||||
|
usage(argv[0]);
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
fc_font_pattern = estrdup(argv[++i]);
|
fc_font_pattern = estrdup(argv[++i]);
|
||||||
} else if (!strcmp(argv[i], "-o")) {
|
} else if (!strcmp(argv[i], "-o")) {
|
||||||
keyboard.print = true;
|
keyboard.print = true;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user