Lines Matching refs:mi

69 #define HIDMAP_FOREACH_ITEM(hm, mi, uoff)				\  argument
71 ((mi) = hidmap_get_next_map_item( \
184 const struct hidmap_item *mi; in hidmap_intr() local
304 HIDMAP_FOREACH_ITEM(hm, mi, uoff) { in hidmap_intr()
305 if (usage == mi->usage + uoff && in hidmap_intr()
306 mi->type == EV_KEY && !mi->has_cb) { in hidmap_intr()
307 key = mi->code; in hidmap_intr()
339 can_map_callback(struct hid_item *hi, const struct hidmap_item *mi, in can_map_callback() argument
343 return (mi->has_cb && !mi->final_cb && in can_map_callback()
344 hi->usage == mi->usage + usage_offset && in can_map_callback()
345 (mi->relabs == HIDMAP_RELABS_ANY || in can_map_callback()
346 !(hi->flags & HIO_RELATIVE) == !(mi->relabs == HIDMAP_RELATIVE))); in can_map_callback()
350 can_map_variable(struct hid_item *hi, const struct hidmap_item *mi, in can_map_variable() argument
354 return ((hi->flags & HIO_VARIABLE) != 0 && !mi->has_cb && in can_map_variable()
355 hi->usage == mi->usage + usage_offset && in can_map_variable()
356 (mi->relabs == HIDMAP_RELABS_ANY || in can_map_variable()
357 !(hi->flags & HIO_RELATIVE) == !(mi->relabs == HIDMAP_RELATIVE))); in can_map_variable()
361 can_map_arr_range(struct hid_item *hi, const struct hidmap_item *mi, in can_map_arr_range() argument
365 return ((hi->flags & HIO_VARIABLE) == 0 && !mi->has_cb && in can_map_arr_range()
366 hi->usage_minimum <= mi->usage + usage_offset && in can_map_arr_range()
367 hi->usage_maximum >= mi->usage + usage_offset && in can_map_arr_range()
368 mi->type == EV_KEY && in can_map_arr_range()
369 (mi->code != KEY_RESERVED && mi->code != HIDMAP_KEY_NULL)); in can_map_arr_range()
373 can_map_arr_list(struct hid_item *hi, const struct hidmap_item *mi, in can_map_arr_list() argument
377 return ((hi->flags & HIO_VARIABLE) == 0 && !mi->has_cb && in can_map_arr_list()
378 usage == mi->usage + usage_offset && in can_map_arr_list()
379 mi->type == EV_KEY && in can_map_arr_list()
380 (mi->code != KEY_RESERVED && mi->code != HIDMAP_KEY_NULL)); in can_map_arr_list()
541 const struct hidmap_item *mi; in hidmap_parse_hid_item() local
547 HIDMAP_FOREACH_ITEM(hm, mi, uoff) { in hidmap_parse_hid_item()
548 if (can_map_callback(hi, mi, uoff)) { in hidmap_parse_hid_item()
550 hi_temp.cb = mi->cb; in hidmap_parse_hid_item()
556 if (mi->cb(hm, &hi_temp, in hidmap_parse_hid_item()
565 HIDMAP_FOREACH_ITEM(hm, mi, uoff) { in hidmap_parse_hid_item()
566 if (can_map_variable(hi, mi, uoff)) { in hidmap_parse_hid_item()
567 item->evtype = mi->type; in hidmap_parse_hid_item()
568 item->code = mi->code + uoff; in hidmap_parse_hid_item()
573 item->invert_value = mi->invert_value; in hidmap_parse_hid_item()
574 switch (mi->type) { in hidmap_parse_hid_item()
589 mi->fuzz, in hidmap_parse_hid_item()
590 mi->flat, in hidmap_parse_hid_item()
608 HIDMAP_FOREACH_ITEM(hm, mi, uoff) { in hidmap_parse_hid_item()
609 if (can_map_arr_range(hi, mi, uoff)) { in hidmap_parse_hid_item()
610 hidmap_support_key(hm, mi->code + uoff); in hidmap_parse_hid_item()
623 HIDMAP_FOREACH_ITEM(hm, mi, uoff) { in hidmap_parse_hid_item()
624 if (can_map_arr_list(hi, mi, hi->usages[i], uoff)) { in hidmap_parse_hid_item()
625 hidmap_support_key(hm, mi->code + uoff); in hidmap_parse_hid_item()
630 item->codes[i] = mi->code + uoff; in hidmap_parse_hid_item()