Lines Matching refs:features
115 struct wacom_features *features = &wacom->features; in wacom_pl_irq() local
152 if (features->pressure_max > 255) in wacom_pl_irq()
154 pressure += (features->pressure_max + 1) / 2; in wacom_pl_irq()
284 struct wacom_features *features = &wacom->features; in wacom_graphire_irq() local
293 if (features->type == GRAPHIRE_BT) { in wacom_graphire_irq()
334 if (features->type == GRAPHIRE_BT) in wacom_graphire_irq()
346 if (features->type == WACOM_G4 || in wacom_graphire_irq()
347 features->type == WACOM_MO) { in wacom_graphire_irq()
350 } else if (features->type == GRAPHIRE_BT) { in wacom_graphire_irq()
379 switch (features->type) { in wacom_graphire_irq()
425 if (features->type == GRAPHIRE_BT) { in wacom_graphire_irq()
451 struct wacom_features *features = &wacom->features; in wacom_intuos_inout() local
457 if (features->type == INTUOS) in wacom_intuos_inout()
555 (features->type == WACOM_21UX2)) || in wacom_intuos_inout()
558 (features->type == INTUOS3 || in wacom_intuos_inout()
559 features->type == INTUOS3S || in wacom_intuos_inout()
560 features->type == INTUOS4 || in wacom_intuos_inout()
561 features->type == INTUOS4S || in wacom_intuos_inout()
562 features->type == INTUOS5 || in wacom_intuos_inout()
563 features->type == INTUOS5S || in wacom_intuos_inout()
564 features->type == INTUOSPM || in wacom_intuos_inout()
565 features->type == INTUOSPS)) || in wacom_intuos_inout()
567 (features->type == CINTIQ && !(data[1] & 0x40))) in wacom_intuos_inout()
578 input_report_abs(input, ABS_DISTANCE, wacom->features.distance_max); in wacom_intuos_inout()
614 if (features->type >= INTUOS3S) in wacom_intuos_inout()
639 struct wacom_features *features = &wacom_wac->features; in wacom_remote_irq() local
698 !(features->quirks & WACOM_QUIRK_BATTERY)) { in wacom_remote_irq()
699 features->quirks |= WACOM_QUIRK_BATTERY; in wacom_remote_irq()
760 struct wacom_features *features = &wacom->features; in wacom_intuos_general() local
768 if (features->pressure_max == 2047) { in wacom_intuos_general()
772 if (features->type != INTUOSHT2) { in wacom_intuos_general()
794 struct wacom_features *features = &wacom->features; in wacom_intuos_irq() local
814 if (features->type == INTUOS) in wacom_intuos_irq()
821 if (features->type >= INTUOS4S && features->type <= INTUOS4L) { in wacom_intuos_irq()
835 if (features->type != INTUOS4S) { in wacom_intuos_irq()
844 } else if (features->type == DTK) { in wacom_intuos_irq()
856 } else if (features->type == WACOM_13HD) { in wacom_intuos_irq()
871 } else if (features->type == WACOM_24HD) { in wacom_intuos_irq()
919 } else if (features->type == WACOM_27QHD) { in wacom_intuos_irq()
932 } else if (features->type == CINTIQ_HYBRID) { in wacom_intuos_irq()
955 } else if (features->type == CINTIQ_COMPANION_2) { in wacom_intuos_irq()
975 } else if (features->type >= INTUOS5S && features->type <= INTUOSPL) { in wacom_intuos_irq()
1002 if (features->type == WACOM_21UX2 || features->type == WACOM_22HD) { in wacom_intuos_irq()
1022 if (features->type == WACOM_22HD) { in wacom_intuos_irq()
1058 if (features->type >= INTUOS3S) { in wacom_intuos_irq()
1076 if (features->type >= INTUOS3S) { in wacom_intuos_irq()
1089 } else if (!(data[1] & 0x10) && features->type < INTUOS3S) { in wacom_intuos_irq()
1102 if (features->type >= INTUOS4S && features->type <= INTUOSPL) { in wacom_intuos_irq()
1123 if (features->type >= INTUOS3S && features->type <= INTUOS3L) { in wacom_intuos_irq()
1128 } else if ((features->type < INTUOS3S || features->type == INTUOS3L || in wacom_intuos_irq()
1129 features->type == INTUOS4L || features->type == INTUOS5L || in wacom_intuos_irq()
1130 features->type == INTUOSPL) && in wacom_intuos_irq()
1205 unsigned touch_max = wacom->features.touch_max; in wacom_wac_finger_count_touches()
1237 if (wacom->features.type == WACOM_27QHDT) { in wacom_24hdt_irq()
1270 if (wacom->features.type != WACOM_27QHDT) { in wacom_24hdt_irq()
1304 if (wacom->features.type == MTTPC || wacom->features.type == MTTPC_B) in wacom_mt_touch()
1380 if (wacom->features.touch_max > 1 || len > WACOM_PKGLEN_TPC2FG) in wacom_tpc_single_touch()
1613 struct wacom_features *features = &wacom_wac->features; in wacom_wac_finger_usage_mapping() local
1615 unsigned touch_max = wacom_wac->features.touch_max; in wacom_wac_finger_usage_mapping()
1619 features->last_slot_field = usage->hid; in wacom_wac_finger_usage_mapping()
1627 features->last_slot_field = usage->hid; in wacom_wac_finger_usage_mapping()
1636 features->last_slot_field = usage->hid; in wacom_wac_finger_usage_mapping()
1642 features->last_slot_field = usage->hid; in wacom_wac_finger_usage_mapping()
1645 features->last_slot_field = usage->hid; in wacom_wac_finger_usage_mapping()
1648 features->last_slot_field = usage->hid; in wacom_wac_finger_usage_mapping()
1651 features->last_slot_field = usage->hid; in wacom_wac_finger_usage_mapping()
1666 bool mt = wacom_wac->features.touch_max > 1; in wacom_wac_finger_slot()
1729 if (usage->hid == wacom_wac->features.last_slot_field) in wacom_wac_finger_event()
1775 hid_data->num_expected = wacom_wac->features.touch_max; in wacom_wac_finger_pre_report()
1785 unsigned touch_max = wacom_wac->features.touch_max; in wacom_wac_finger_report()
1826 if (wacom->wacom_wac.features.type != HID_GENERIC) in wacom_wac_event()
1863 if (wacom_wac->features.type != HID_GENERIC) in wacom_wac_report()
1883 struct wacom_features *features = &wacom->features; in wacom_bpt_touch() local
1909 if (features->quirks & WACOM_QUIRK_BBTOUCH_LOWRES) { in wacom_bpt_touch()
1931 struct wacom_features *features = &wacom->features; in wacom_bpt3_touch_msg() local
1949 if (features->type >= INTUOSPS && features->type <= INTUOSHT2) { in wacom_bpt3_touch_msg()
1975 struct wacom_features *features = &wacom->features; in wacom_bpt3_button_msg() local
1977 if (features->type == INTUOSHT || features->type == INTUOSHT2) { in wacom_bpt3_button_msg()
2021 struct wacom_features *features = &wacom->features; in wacom_bpt_pen() local
2065 if (data[8] <= features->distance_max) in wacom_bpt_pen()
2066 d = features->distance_max - data[8]; in wacom_bpt_pen()
2092 struct wacom_features *features = &wacom->features; in wacom_bpt_irq() local
2094 if ((features->type == INTUOSHT2) && in wacom_bpt_irq()
2095 (features->device_type & WACOM_DEVICETYPE_PEN)) in wacom_bpt_irq()
2144 for (id = 0; id < wacom->features.touch_max; id++) { in wacom_bamboo_pad_touch_event()
2237 struct wacom_features *features = &wacom_wac->features; in wacom_status_irq() local
2243 if ((features->type == INTUOSHT || in wacom_status_irq()
2244 features->type == INTUOSHT2) && in wacom_status_irq()
2246 features->touch_max) { in wacom_status_irq()
2260 !(features->quirks & WACOM_QUIRK_BATTERY)) { in wacom_status_irq()
2261 features->quirks |= WACOM_QUIRK_BATTERY; in wacom_status_irq()
2266 else if ((features->quirks & WACOM_QUIRK_BATTERY) && in wacom_status_irq()
2268 features->quirks &= ~WACOM_QUIRK_BATTERY; in wacom_status_irq()
2280 switch (wacom_wac->features.type) { in wacom_wac_irq()
2413 0, wacom_wac->features.distance_max, 0, 0); in wacom_setup_basic_pro_pen()
2457 struct wacom_features *features = &wacom->wacom_wac.features; in wacom_setup_device_quirks() local
2460 if (features->type == GRAPHIRE_BT || features->type == WACOM_G4 || in wacom_setup_device_quirks()
2461 features->type == DTUS || in wacom_setup_device_quirks()
2462 (features->type >= INTUOS3S && features->type <= WACOM_MO)) { in wacom_setup_device_quirks()
2463 if (features->device_type & WACOM_DEVICETYPE_PEN) in wacom_setup_device_quirks()
2464 features->device_type |= WACOM_DEVICETYPE_PAD; in wacom_setup_device_quirks()
2468 if (features->device_type & WACOM_DEVICETYPE_TOUCH && !features->x_max) { in wacom_setup_device_quirks()
2469 features->x_max = 1023; in wacom_setup_device_quirks()
2470 features->y_max = 1023; in wacom_setup_device_quirks()
2479 if ((features->type >= INTUOS5S && features->type <= INTUOSPL) || in wacom_setup_device_quirks()
2480 (features->type >= INTUOSHT && features->type <= BAMBOO_PT)) { in wacom_setup_device_quirks()
2481 if (features->pktlen == WACOM_PKGLEN_BBTOUCH3) { in wacom_setup_device_quirks()
2482 if (features->touch_max) in wacom_setup_device_quirks()
2483 features->device_type |= WACOM_DEVICETYPE_TOUCH; in wacom_setup_device_quirks()
2484 if (features->type >= INTUOSHT && features->type <= BAMBOO_PT) in wacom_setup_device_quirks()
2485 features->device_type |= WACOM_DEVICETYPE_PAD; in wacom_setup_device_quirks()
2487 features->x_max = 4096; in wacom_setup_device_quirks()
2488 features->y_max = 4096; in wacom_setup_device_quirks()
2490 else if (features->pktlen == WACOM_PKGLEN_BBTOUCH) { in wacom_setup_device_quirks()
2491 features->device_type |= WACOM_DEVICETYPE_PAD; in wacom_setup_device_quirks()
2502 if (features->type == BAMBOO_PEN && in wacom_setup_device_quirks()
2503 features->pktlen == WACOM_PKGLEN_BBTOUCH3) in wacom_setup_device_quirks()
2504 features->device_type |= WACOM_DEVICETYPE_PAD; in wacom_setup_device_quirks()
2513 if (features->type == BAMBOO_PAD) in wacom_setup_device_quirks()
2514 features->device_type = WACOM_DEVICETYPE_TOUCH; in wacom_setup_device_quirks()
2516 if (features->type == REMOTE) in wacom_setup_device_quirks()
2517 features->device_type = WACOM_DEVICETYPE_PAD; in wacom_setup_device_quirks()
2520 features->quirks |= WACOM_QUIRK_BATTERY; in wacom_setup_device_quirks()
2523 if (features->type == BAMBOO_PT && in wacom_setup_device_quirks()
2524 features->pktlen == WACOM_PKGLEN_BBTOUCH) { in wacom_setup_device_quirks()
2525 features->x_max <<= 5; in wacom_setup_device_quirks()
2526 features->y_max <<= 5; in wacom_setup_device_quirks()
2527 features->x_fuzz <<= 5; in wacom_setup_device_quirks()
2528 features->y_fuzz <<= 5; in wacom_setup_device_quirks()
2529 features->quirks |= WACOM_QUIRK_BBTOUCH_LOWRES; in wacom_setup_device_quirks()
2532 if (features->type == WIRELESS) { in wacom_setup_device_quirks()
2533 if (features->device_type == WACOM_DEVICETYPE_WL_MONITOR) { in wacom_setup_device_quirks()
2534 features->quirks |= WACOM_QUIRK_BATTERY; in wacom_setup_device_quirks()
2542 struct wacom_features *features = &wacom_wac->features; in wacom_setup_pen_input_capabilities() local
2546 if (!(features->device_type & WACOM_DEVICETYPE_PEN)) in wacom_setup_pen_input_capabilities()
2549 if (features->type == HID_GENERIC) in wacom_setup_pen_input_capabilities()
2556 input_set_abs_params(input_dev, ABS_X, features->x_min, in wacom_setup_pen_input_capabilities()
2557 features->x_max, features->x_fuzz, 0); in wacom_setup_pen_input_capabilities()
2558 input_set_abs_params(input_dev, ABS_Y, features->y_min, in wacom_setup_pen_input_capabilities()
2559 features->y_max, features->y_fuzz, 0); in wacom_setup_pen_input_capabilities()
2561 features->pressure_max, features->pressure_fuzz, 0); in wacom_setup_pen_input_capabilities()
2564 input_abs_set_res(input_dev, ABS_X, features->x_resolution); in wacom_setup_pen_input_capabilities()
2565 input_abs_set_res(input_dev, ABS_Y, features->y_resolution); in wacom_setup_pen_input_capabilities()
2568 switch (features->type) { in wacom_setup_pen_input_capabilities()
2575 features->distance_max, in wacom_setup_pen_input_capabilities()
2637 features->distance_max, in wacom_setup_pen_input_capabilities()
2687 if (features->type == INTUOSHT2) { in wacom_setup_pen_input_capabilities()
2696 features->distance_max, in wacom_setup_pen_input_capabilities()
2710 struct wacom_features *features = &wacom_wac->features; in wacom_setup_touch_input_capabilities() local
2714 if (!(features->device_type & WACOM_DEVICETYPE_TOUCH)) in wacom_setup_touch_input_capabilities()
2717 if (features->type == HID_GENERIC) in wacom_setup_touch_input_capabilities()
2723 if (features->touch_max == 1) { in wacom_setup_touch_input_capabilities()
2725 features->x_max, features->x_fuzz, 0); in wacom_setup_touch_input_capabilities()
2727 features->y_max, features->y_fuzz, 0); in wacom_setup_touch_input_capabilities()
2729 features->x_resolution); in wacom_setup_touch_input_capabilities()
2731 features->y_resolution); in wacom_setup_touch_input_capabilities()
2733 else if (features->touch_max > 1) { in wacom_setup_touch_input_capabilities()
2735 features->x_max, features->x_fuzz, 0); in wacom_setup_touch_input_capabilities()
2737 features->y_max, features->y_fuzz, 0); in wacom_setup_touch_input_capabilities()
2739 features->x_resolution); in wacom_setup_touch_input_capabilities()
2741 features->y_resolution); in wacom_setup_touch_input_capabilities()
2744 switch (features->type) { in wacom_setup_touch_input_capabilities()
2753 input_set_abs_params(input_dev, ABS_MT_TOUCH_MAJOR, 0, features->x_max, 0, 0); in wacom_setup_touch_input_capabilities()
2754 input_set_abs_params(input_dev, ABS_MT_TOUCH_MINOR, 0, features->y_max, 0, 0); in wacom_setup_touch_input_capabilities()
2755 input_mt_init_slots(input_dev, features->touch_max, INPUT_MT_POINTER); in wacom_setup_touch_input_capabilities()
2759 input_set_abs_params(input_dev, ABS_MT_TOUCH_MAJOR, 0, features->x_max, 0, 0); in wacom_setup_touch_input_capabilities()
2760 input_set_abs_params(input_dev, ABS_MT_WIDTH_MAJOR, 0, features->x_max, 0, 0); in wacom_setup_touch_input_capabilities()
2761 input_set_abs_params(input_dev, ABS_MT_WIDTH_MINOR, 0, features->y_max, 0, 0); in wacom_setup_touch_input_capabilities()
2770 input_mt_init_slots(input_dev, features->touch_max, INPUT_MT_DIRECT); in wacom_setup_touch_input_capabilities()
2786 if (features->pktlen == WACOM_PKGLEN_BBTOUCH3) { in wacom_setup_touch_input_capabilities()
2789 0, features->x_max, 0, 0); in wacom_setup_touch_input_capabilities()
2792 0, features->y_max, 0, 0); in wacom_setup_touch_input_capabilities()
2794 input_mt_init_slots(input_dev, features->touch_max, INPUT_MT_POINTER); in wacom_setup_touch_input_capabilities()
2798 input_mt_init_slots(input_dev, features->touch_max, in wacom_setup_touch_input_capabilities()
2823 struct wacom_features *features = &wacom_wac->features; in wacom_setup_pad_input_capabilities() local
2825 if (!(features->device_type & WACOM_DEVICETYPE_PAD)) in wacom_setup_pad_input_capabilities()
2840 wacom_setup_numbered_buttons(input_dev, features->numbered_buttons); in wacom_setup_pad_input_capabilities()
2842 switch (features->type) { in wacom_setup_pad_input_capabilities()