Lines Matching full:quirk

63 #define	HID_QUIRK_ENVROOT "hw.hid.quirk."
140 /* Quirk for Corsair Vengeance K60 keyboard */
142 /* Quirk for Corsair Gaming K68 keyboard */
144 /* Quirk for Corsair Vengeance K70 keyboard */
146 /* Quirk for Corsair K70 RGB keyboard */
148 /* Quirk for Corsair STRAFE Gaming keyboard */
153 /* Quirk for Kensington Slimblade Trackball */
170 * This function converts an USB quirk code into a string.
173 hidquirkstr(uint16_t quirk) in hidquirkstr() argument
175 return ((quirk < HID_QUIRK_MAX && hidquirk_str[quirk] != NULL) ? in hidquirkstr()
176 hidquirk_str[quirk] : "HQ_UNKNOWN"); in hidquirkstr()
182 * This function converts a string into a HID quirk code.
185 * Less than HID_QUIRK_MAX: Quirk code
186 * Else: Quirk code not found
191 const char *quirk; in hid_strquirk() local
195 quirk = hidquirkstr(x); in hid_strquirk()
196 if (strncmp(str, quirk, len) == 0 && in hid_strquirk()
197 quirk[len] == 0) in hid_strquirk()
207 * false: Quirk not found
208 * true: Quirk found
211 hid_test_quirk_by_info(const struct hid_device_info *info, uint16_t quirk) in hid_test_quirk_by_info() argument
216 if (quirk == HQ_NONE) in hid_test_quirk_by_info()
222 /* see if quirk information does not match */ in hid_test_quirk_by_info()
229 /* see if quirk only should match vendor ID */ in hid_test_quirk_by_info()
241 /* lookup quirk */ in hid_test_quirk_by_info()
243 if (hidquirks[x].quirks[y] == quirk) { in hid_test_quirk_by_info()
245 DPRINTF("Found quirk '%s'.\n", hidquirkstr(quirk)); in hid_test_quirk_by_info()
252 return (false); /* no quirk match */ in hid_test_quirk_by_info()
269 /* see if quirk information does not match */ in hidquirk_get_entry()
286 /* see if quirk information does not match */ in hidquirk_get_entry()
331 * Add a USB quirk entry from string.
332 * "VENDOR PRODUCT LO_REV HI_REV QUIRK[,QUIRK[,...]]"
340 uint16_t quirk; in hidquirk_add_entry_from_str() local
348 printf("Adding HID QUIRK '%s' = '%s'\n", name, env); in hidquirk_add_entry_from_str()
357 /* parse quirk information */ in hidquirk_add_entry_from_str()
364 /* look for quirk separation character */ in hidquirk_add_entry_from_str()
369 /* lookup quirk in string table */ in hidquirk_add_entry_from_str()
370 quirk = hid_strquirk(env, end - env); in hidquirk_add_entry_from_str()
371 if (quirk < HID_QUIRK_MAX) { in hidquirk_add_entry_from_str()
372 entry.quirks[quirk_idx++] = quirk; in hidquirk_add_entry_from_str()
374 printf("%s: unknown HID quirk '%.*s' (skipped)\n", in hidquirk_add_entry_from_str()
379 /* skip quirk delimiter, if any */ in hidquirk_add_entry_from_str()
384 /* register quirk */ in hidquirk_add_entry_from_str()
410 mtx_init(&hidquirk_mtx, "HID quirk", NULL, MTX_DEF); in hidquirk_init()