/** * Initialize all supported input devices present and referenced in the * xorg.conf. */ void InitInput(int argc, char **argv) { InputInfoPtr *pInfo; DeviceIntPtr dev; xf86Info.vtRequestsPending = FALSE; /* Enable threaded input */ InputThreadPreInit(); mieqInit(); /* Initialize all configured input devices */ for (pInfo = xf86ConfigLayout.inputs; pInfo && *pInfo; pInfo++) { (*pInfo)->options = xf86AddNewOption((*pInfo)->options, "driver", (*pInfo)->driver); (*pInfo)->options = xf86AddNewOption((*pInfo)->options, "identifier", (*pInfo)->name); /* If one fails, the others will too */ if (NewInputDeviceRequest((*pInfo)->options, NULL, &dev) == BadAlloc) break; } config_init(); }
static void xfree86_option_list_duplicate(void) { XF86OptionPtr options; XF86OptionPtr duplicate; const char *o1 = "foo", *o2 = "bar", *v1 = "one", *v2 = "two"; const char *o_null= "NULL"; char *val1, *val2; XF86OptionPtr a, b; duplicate = xf86OptionListDuplicate(NULL); assert(!duplicate); options = xf86AddNewOption(NULL, o1, v1); assert(options); options = xf86AddNewOption(options, o2, v2); assert(options); options = xf86AddNewOption(options, o_null, NULL); assert(options); duplicate = xf86OptionListDuplicate(options); assert(duplicate); val1 = xf86CheckStrOption(options, o1, "1"); val2 = xf86CheckStrOption(duplicate, o1, "2"); assert(strcmp(val1, v1) == 0); assert(strcmp(val1, val2) == 0); val1 = xf86CheckStrOption(options, o2, "1"); val2 = xf86CheckStrOption(duplicate, o2, "2"); assert(strcmp(val1, v2) == 0); assert(strcmp(val1, val2) == 0); a = xf86FindOption(options, o_null); b = xf86FindOption(duplicate, o_null); assert(a && b); }