|
Lines 371-380
static void do_input(char *alias,
|
Link Here
|
|---|
|
kernel_ulong_t *arr, unsigned int min, unsigned int max) | kernel_ulong_t *arr, unsigned int min, unsigned int max) |
{ | { |
unsigned int i; | unsigned int i; |
for (i = min; i < max; i++) { |
|
if (arr[i/BITS_PER_LONG] & (1 << (i%BITS_PER_LONG))) |
for (i = min; i < max; i++) |
sprintf(alias+strlen(alias), "%X,*", i); |
if (arr[i / BITS_PER_LONG] & (1 << (i%BITS_PER_LONG))) |
} |
sprintf(alias + strlen(alias), "%X,*", i); |
} | } |
| |
/* input:b0v0p0e0-eXkXrXaXmXlXsXfXwX where X is comma-separated %02X. */ | /* input:b0v0p0e0-eXkXrXaXmXlXsXfXwX where X is comma-separated %02X. */ |
|
Lines 383-421
static int do_input_entry(const char *fi
|
Link Here
|
|---|
|
{ | { |
sprintf(alias, "input:"); | sprintf(alias, "input:"); |
| |
ADD(alias, "b", id->flags&INPUT_DEVICE_ID_MATCH_BUS, id->id.bustype); |
ADD(alias, "b", id->flags & INPUT_DEVICE_ID_MATCH_BUS, id->bustype); |
ADD(alias, "v", id->flags&INPUT_DEVICE_ID_MATCH_VENDOR, id->id.vendor); |
ADD(alias, "v", id->flags & INPUT_DEVICE_ID_MATCH_VENDOR, id->vendor); |
ADD(alias, "p", id->flags&INPUT_DEVICE_ID_MATCH_PRODUCT, |
ADD(alias, "p", id->flags & INPUT_DEVICE_ID_MATCH_PRODUCT, id->product); |
id->id.product); |
ADD(alias, "e", id->flags & INPUT_DEVICE_ID_MATCH_VERSION, id->version); |
ADD(alias, "e", id->flags&INPUT_DEVICE_ID_MATCH_VERSION, |
|
id->id.version); |
|
| |
sprintf(alias + strlen(alias), "-e*"); | sprintf(alias + strlen(alias), "-e*"); |
if (id->flags&INPUT_DEVICE_ID_MATCH_EVBIT) |
if (id->flags & INPUT_DEVICE_ID_MATCH_EVBIT) |
do_input(alias, id->evbit, 0, EV_MAX); | do_input(alias, id->evbit, 0, EV_MAX); |
sprintf(alias + strlen(alias), "k*"); | sprintf(alias + strlen(alias), "k*"); |
if (id->flags&INPUT_DEVICE_ID_MATCH_KEYBIT) |
if (id->flags & INPUT_DEVICE_ID_MATCH_KEYBIT) |
do_input(alias, id->keybit, KEY_MIN_INTERESTING, KEY_MAX); | do_input(alias, id->keybit, KEY_MIN_INTERESTING, KEY_MAX); |
sprintf(alias + strlen(alias), "r*"); | sprintf(alias + strlen(alias), "r*"); |
if (id->flags&INPUT_DEVICE_ID_MATCH_RELBIT) |
if (id->flags & INPUT_DEVICE_ID_MATCH_RELBIT) |
do_input(alias, id->relbit, 0, REL_MAX); | do_input(alias, id->relbit, 0, REL_MAX); |
sprintf(alias + strlen(alias), "a*"); | sprintf(alias + strlen(alias), "a*"); |
if (id->flags&INPUT_DEVICE_ID_MATCH_ABSBIT) |
if (id->flags & INPUT_DEVICE_ID_MATCH_ABSBIT) |
do_input(alias, id->absbit, 0, ABS_MAX); | do_input(alias, id->absbit, 0, ABS_MAX); |
sprintf(alias + strlen(alias), "m*"); | sprintf(alias + strlen(alias), "m*"); |
if (id->flags&INPUT_DEVICE_ID_MATCH_MSCIT) |
if (id->flags & INPUT_DEVICE_ID_MATCH_MSCIT) |
do_input(alias, id->mscbit, 0, MSC_MAX); | do_input(alias, id->mscbit, 0, MSC_MAX); |
sprintf(alias + strlen(alias), "l*"); | sprintf(alias + strlen(alias), "l*"); |
if (id->flags&INPUT_DEVICE_ID_MATCH_LEDBIT) |
if (id->flags & INPUT_DEVICE_ID_MATCH_LEDBIT) |
do_input(alias, id->ledbit, 0, LED_MAX); | do_input(alias, id->ledbit, 0, LED_MAX); |
sprintf(alias + strlen(alias), "s*"); | sprintf(alias + strlen(alias), "s*"); |
if (id->flags&INPUT_DEVICE_ID_MATCH_SNDBIT) |
if (id->flags & INPUT_DEVICE_ID_MATCH_SNDBIT) |
do_input(alias, id->sndbit, 0, SND_MAX); | do_input(alias, id->sndbit, 0, SND_MAX); |
sprintf(alias + strlen(alias), "f*"); | sprintf(alias + strlen(alias), "f*"); |
if (id->flags&INPUT_DEVICE_ID_MATCH_FFBIT) |
if (id->flags & INPUT_DEVICE_ID_MATCH_FFBIT) |
do_input(alias, id->ffbit, 0, FF_MAX); | do_input(alias, id->ffbit, 0, FF_MAX); |
sprintf(alias + strlen(alias), "w*"); | sprintf(alias + strlen(alias), "w*"); |
if (id->flags&INPUT_DEVICE_ID_MATCH_SWBIT) |
if (id->flags & INPUT_DEVICE_ID_MATCH_SWBIT) |
do_input(alias, id->swbit, 0, SW_MAX); | do_input(alias, id->swbit, 0, SW_MAX); |
return 1; | return 1; |
} | } |