11 if (sscanf(code,
"%2hhx",&sideshine))
17 if(sscanf(code,
"%2hhx%2hhx%2hhx", &r, &g, &b) == 3){
27 if(!strncmp(led,
"num", 3) || strstr(led,
",num"))
29 if(!strncmp(led,
"caps", 4) || strstr(led,
",caps"))
31 if(!strncmp(led,
"scroll", 6) || strstr(led,
",scroll"))
33 if(!strncmp(led,
"all", 3) || strstr(led,
",all"))
43 kb->
vtable->updateindicators(kb, 0);
51 kb->
vtable->updateindicators(kb, 0);
59 kb->
vtable->updateindicators(kb, 0);
64 if(strstr(led,
":off"))
66 mode->
inotify[nnumber] &= ~bits;
82 if(strstr(name,
"dpi") == name || !strcmp(name,
"front") || !strcmp(name,
"back"))
87 if(strstr(name,
"dpi") == name || !strcmp(name,
"front") || !strcmp(name,
"back") || !strcmp(name,
"wheel") || !strcmp(name,
"thumb"))
90 if(!
IS_K95(kb) && ((name[0] ==
'g' && name[1] >=
'1' && name[1] <=
'9') || (name[0] ==
'm' && (name[1] ==
'r' || name[1] ==
'1' || name[1] ==
'2' || name[1] ==
'3'))))
93 if(!
IS_K65(kb) && (!strcmp(name,
"volup") || !strcmp(name,
"voldn")))
96 if(
IS_K65(kb) && (strstr(name,
"num") == name || !strcmp(name,
"stop") || !strcmp(name,
"prev") || !strcmp(name,
"play") || !strcmp(name,
"next")))
104 const uchar* mr = light->
r;
105 const uchar* mg = light->
g;
106 const uchar* mb = light->
b;
123 strncpy(names[i], name, 11);
130 if(r[i] != r[0] || g[i] != g[0] || b[i] != b[0]){
137 char* buffer = malloc(7);
138 snprintf(buffer, 7,
"%02x%02x%02x", r[0], g[0], b[0]);
141 const int BUFFER_LEN = 4096;
142 char* buffer = malloc(BUFFER_LEN);
149 snprintf(buffer + length, BUFFER_LEN - length, length == 0 ?
"%s%n" :
" %s%n", names[i], &newlen);
152 uchar kr = r[i], kg = g[i], kb = b[i];
156 if(r[j] != kr || g[j] != kg || b[j] != kb)
158 snprintf(buffer + length, BUFFER_LEN - length,
",%s%n", names[j], &newlen);
164 snprintf(buffer + length, BUFFER_LEN - length,
":%02x%02x%02x%n", kr, kg, kb, &newlen);
void cmd_ioff(usbdevice *kb, usbmode *mode, int dummy1, int dummy2, const char *led)
static int has_key(const char *name, const usbdevice *kb)
void cmd_rgb(usbdevice *kb, usbmode *mode, int dummy, int keyindex, const char *code)
void cmd_inotify(usbdevice *kb, usbmode *mode, int nnumber, int dummy, const char *led)
#define IS_MOUSE(vendor, product)
Mouse vs keyboard test.
const union devcmd * vtable
char * printrgb(const lighting *light, const usbdevice *kb)
Definitions for using USB interface.
const key keymap[(((152+3+12)+25)+11)]
static uchar iselect(const char *led)
void cmd_iauto(usbdevice *kb, usbmode *mode, int dummy1, int dummy2, const char *led)
void cmd_ion(usbdevice *kb, usbmode *mode, int dummy1, int dummy2, const char *led)