Lines Matching refs:features
115 struct wacom_features *features = &wacom->features; in wacom_pl_irq() local
153 if (features->pressure_max > 255) in wacom_pl_irq()
155 pressure += (features->pressure_max + 1) / 2; in wacom_pl_irq()
286 struct wacom_features *features = &wacom->features; in wacom_graphire_irq() local
295 if (features->type == GRAPHIRE_BT) { in wacom_graphire_irq()
336 if (features->type == GRAPHIRE_BT) in wacom_graphire_irq()
348 if (features->type == WACOM_G4 || in wacom_graphire_irq()
349 features->type == WACOM_MO) { in wacom_graphire_irq()
352 } else if (features->type == GRAPHIRE_BT) { in wacom_graphire_irq()
381 switch (features->type) { in wacom_graphire_irq()
427 if (features->type == GRAPHIRE_BT) { in wacom_graphire_irq()
453 struct wacom_features *features = &wacom->features; in wacom_intuos_inout() local
459 if (features->type == INTUOS) in wacom_intuos_inout()
557 (features->type == WACOM_21UX2)) || in wacom_intuos_inout()
560 (features->type == INTUOS3 || in wacom_intuos_inout()
561 features->type == INTUOS3S || in wacom_intuos_inout()
562 features->type == INTUOS4 || in wacom_intuos_inout()
563 features->type == INTUOS4S || in wacom_intuos_inout()
564 features->type == INTUOS5 || in wacom_intuos_inout()
565 features->type == INTUOS5S || in wacom_intuos_inout()
566 features->type == INTUOSPM || in wacom_intuos_inout()
567 features->type == INTUOSPS)) || in wacom_intuos_inout()
569 (features->type == CINTIQ && !(data[1] & 0x40))) in wacom_intuos_inout()
580 input_report_abs(input, ABS_DISTANCE, wacom->features.distance_max); in wacom_intuos_inout()
616 if (features->type >= INTUOS3S) in wacom_intuos_inout()
641 struct wacom_features *features = &wacom_wac->features; in wacom_remote_irq() local
700 !(features->quirks & WACOM_QUIRK_BATTERY)) { in wacom_remote_irq()
701 features->quirks |= WACOM_QUIRK_BATTERY; in wacom_remote_irq()
762 struct wacom_features *features = &wacom->features; in wacom_intuos_general() local
770 if (features->pressure_max == 2047) { in wacom_intuos_general()
774 if (features->type != INTUOSHT2) { in wacom_intuos_general()
796 struct wacom_features *features = &wacom->features; in wacom_intuos_irq() local
816 if (features->type == INTUOS) in wacom_intuos_irq()
823 if (features->type >= INTUOS4S && features->type <= INTUOS4L) { in wacom_intuos_irq()
837 if (features->type != INTUOS4S) { in wacom_intuos_irq()
846 } else if (features->type == DTK) { in wacom_intuos_irq()
858 } else if (features->type == WACOM_13HD) { in wacom_intuos_irq()
873 } else if (features->type == WACOM_24HD) { in wacom_intuos_irq()
921 } else if (features->type == WACOM_27QHD) { in wacom_intuos_irq()
934 } else if (features->type == CINTIQ_HYBRID) { in wacom_intuos_irq()
957 } else if (features->type == CINTIQ_COMPANION_2) { in wacom_intuos_irq()
977 } else if (features->type >= INTUOS5S && features->type <= INTUOSPL) { in wacom_intuos_irq()
1004 if (features->type == WACOM_21UX2 || features->type == WACOM_22HD) { in wacom_intuos_irq()
1024 if (features->type == WACOM_22HD) { in wacom_intuos_irq()
1060 if (features->type >= INTUOS3S) { in wacom_intuos_irq()
1078 if (features->type >= INTUOS3S) { in wacom_intuos_irq()
1091 } else if (!(data[1] & 0x10) && features->type < INTUOS3S) { in wacom_intuos_irq()
1104 if (features->type >= INTUOS4S && features->type <= INTUOSPL) { in wacom_intuos_irq()
1125 if (features->type >= INTUOS3S && features->type <= INTUOS3L) { in wacom_intuos_irq()
1130 } else if ((features->type < INTUOS3S || features->type == INTUOS3L || in wacom_intuos_irq()
1131 features->type == INTUOS4L || features->type == INTUOS5L || in wacom_intuos_irq()
1132 features->type == INTUOSPL) && in wacom_intuos_irq()
1207 unsigned touch_max = wacom->features.touch_max; in wacom_wac_finger_count_touches()
1239 if (wacom->features.type == WACOM_27QHDT) { in wacom_24hdt_irq()
1272 if (wacom->features.type != WACOM_27QHDT) { in wacom_24hdt_irq()
1306 if (wacom->features.type == MTTPC || wacom->features.type == MTTPC_B) in wacom_mt_touch()
1382 if (wacom->features.touch_max > 1 || len > WACOM_PKGLEN_TPC2FG) in wacom_tpc_single_touch()
1616 struct wacom_features *features = &wacom_wac->features; in wacom_wac_finger_usage_mapping() local
1618 unsigned touch_max = wacom_wac->features.touch_max; in wacom_wac_finger_usage_mapping()
1622 features->last_slot_field = usage->hid; in wacom_wac_finger_usage_mapping()
1630 features->last_slot_field = usage->hid; in wacom_wac_finger_usage_mapping()
1639 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()
1654 features->last_slot_field = usage->hid; in wacom_wac_finger_usage_mapping()
1669 bool mt = wacom_wac->features.touch_max > 1; in wacom_wac_finger_slot()
1732 if (usage->hid == wacom_wac->features.last_slot_field) in wacom_wac_finger_event()
1778 hid_data->num_expected = wacom_wac->features.touch_max; in wacom_wac_finger_pre_report()
1788 unsigned touch_max = wacom_wac->features.touch_max; in wacom_wac_finger_report()
1829 if (wacom->wacom_wac.features.type != HID_GENERIC) in wacom_wac_event()
1866 if (wacom_wac->features.type != HID_GENERIC) in wacom_wac_report()
1886 struct wacom_features *features = &wacom->features; in wacom_bpt_touch() local
1912 if (features->quirks & WACOM_QUIRK_BBTOUCH_LOWRES) { in wacom_bpt_touch()
1934 struct wacom_features *features = &wacom->features; in wacom_bpt3_touch_msg() local
1952 if (features->type >= INTUOSPS && features->type <= INTUOSHT2) { in wacom_bpt3_touch_msg()
1978 struct wacom_features *features = &wacom->features; in wacom_bpt3_button_msg() local
1980 if (features->type == INTUOSHT || features->type == INTUOSHT2) { in wacom_bpt3_button_msg()
2024 struct wacom_features *features = &wacom->features; in wacom_bpt_pen() local
2068 if (data[8] <= features->distance_max) in wacom_bpt_pen()
2069 d = features->distance_max - data[8]; in wacom_bpt_pen()
2095 struct wacom_features *features = &wacom->features; in wacom_bpt_irq() local
2097 if ((features->type == INTUOSHT2) && in wacom_bpt_irq()
2098 (features->device_type & WACOM_DEVICETYPE_PEN)) in wacom_bpt_irq()
2147 for (id = 0; id < wacom->features.touch_max; id++) { in wacom_bamboo_pad_touch_event()
2240 struct wacom_features *features = &wacom_wac->features; in wacom_status_irq() local
2246 if ((features->type == INTUOSHT || in wacom_status_irq()
2247 features->type == INTUOSHT2) && in wacom_status_irq()
2249 features->touch_max) { in wacom_status_irq()
2263 !(features->quirks & WACOM_QUIRK_BATTERY)) { in wacom_status_irq()
2264 features->quirks |= WACOM_QUIRK_BATTERY; in wacom_status_irq()
2269 else if ((features->quirks & WACOM_QUIRK_BATTERY) && in wacom_status_irq()
2271 features->quirks &= ~WACOM_QUIRK_BATTERY; in wacom_status_irq()
2283 switch (wacom_wac->features.type) { in wacom_wac_irq()
2416 0, wacom_wac->features.distance_max, 0, 0); in wacom_setup_basic_pro_pen()
2460 struct wacom_features *features = &wacom->wacom_wac.features; in wacom_setup_device_quirks() local
2463 if (features->type == GRAPHIRE_BT || features->type == WACOM_G4 || in wacom_setup_device_quirks()
2464 features->type == DTUS || in wacom_setup_device_quirks()
2465 (features->type >= INTUOS3S && features->type <= WACOM_MO)) { in wacom_setup_device_quirks()
2466 if (features->device_type & WACOM_DEVICETYPE_PEN) in wacom_setup_device_quirks()
2467 features->device_type |= WACOM_DEVICETYPE_PAD; in wacom_setup_device_quirks()
2471 if (features->device_type & WACOM_DEVICETYPE_TOUCH && !features->x_max) { in wacom_setup_device_quirks()
2472 features->x_max = 1023; in wacom_setup_device_quirks()
2473 features->y_max = 1023; in wacom_setup_device_quirks()
2482 if ((features->type >= INTUOS5S && features->type <= INTUOSPL) || in wacom_setup_device_quirks()
2483 (features->type >= INTUOSHT && features->type <= BAMBOO_PT)) { in wacom_setup_device_quirks()
2484 if (features->pktlen == WACOM_PKGLEN_BBTOUCH3) { in wacom_setup_device_quirks()
2485 if (features->touch_max) in wacom_setup_device_quirks()
2486 features->device_type |= WACOM_DEVICETYPE_TOUCH; in wacom_setup_device_quirks()
2487 if (features->type >= INTUOSHT && features->type <= BAMBOO_PT) in wacom_setup_device_quirks()
2488 features->device_type |= WACOM_DEVICETYPE_PAD; in wacom_setup_device_quirks()
2490 if (features->type == INTUOSHT2) { in wacom_setup_device_quirks()
2491 features->x_max = features->x_max / 10; in wacom_setup_device_quirks()
2492 features->y_max = features->y_max / 10; in wacom_setup_device_quirks()
2495 features->x_max = 4096; in wacom_setup_device_quirks()
2496 features->y_max = 4096; in wacom_setup_device_quirks()
2499 else if (features->pktlen == WACOM_PKGLEN_BBTOUCH) { in wacom_setup_device_quirks()
2500 features->device_type |= WACOM_DEVICETYPE_PAD; in wacom_setup_device_quirks()
2511 if (features->type == BAMBOO_PEN && in wacom_setup_device_quirks()
2512 features->pktlen == WACOM_PKGLEN_BBTOUCH3) in wacom_setup_device_quirks()
2513 features->device_type |= WACOM_DEVICETYPE_PAD; in wacom_setup_device_quirks()
2522 if (features->type == BAMBOO_PAD) in wacom_setup_device_quirks()
2523 features->device_type = WACOM_DEVICETYPE_TOUCH; in wacom_setup_device_quirks()
2525 if (features->type == REMOTE) in wacom_setup_device_quirks()
2526 features->device_type = WACOM_DEVICETYPE_PAD; in wacom_setup_device_quirks()
2529 features->quirks |= WACOM_QUIRK_BATTERY; in wacom_setup_device_quirks()
2532 if (features->type == BAMBOO_PT && in wacom_setup_device_quirks()
2533 features->pktlen == WACOM_PKGLEN_BBTOUCH) { in wacom_setup_device_quirks()
2534 features->x_max <<= 5; in wacom_setup_device_quirks()
2535 features->y_max <<= 5; in wacom_setup_device_quirks()
2536 features->x_fuzz <<= 5; in wacom_setup_device_quirks()
2537 features->y_fuzz <<= 5; in wacom_setup_device_quirks()
2538 features->quirks |= WACOM_QUIRK_BBTOUCH_LOWRES; in wacom_setup_device_quirks()
2541 if (features->type == WIRELESS) { in wacom_setup_device_quirks()
2542 if (features->device_type == WACOM_DEVICETYPE_WL_MONITOR) { in wacom_setup_device_quirks()
2543 features->quirks |= WACOM_QUIRK_BATTERY; in wacom_setup_device_quirks()
2551 struct wacom_features *features = &wacom_wac->features; in wacom_setup_pen_input_capabilities() local
2555 if (!(features->device_type & WACOM_DEVICETYPE_PEN)) in wacom_setup_pen_input_capabilities()
2558 if (features->type == HID_GENERIC) in wacom_setup_pen_input_capabilities()
2565 input_set_abs_params(input_dev, ABS_X, features->x_min, in wacom_setup_pen_input_capabilities()
2566 features->x_max, features->x_fuzz, 0); in wacom_setup_pen_input_capabilities()
2567 input_set_abs_params(input_dev, ABS_Y, features->y_min, in wacom_setup_pen_input_capabilities()
2568 features->y_max, features->y_fuzz, 0); in wacom_setup_pen_input_capabilities()
2570 features->pressure_max, features->pressure_fuzz, 0); in wacom_setup_pen_input_capabilities()
2573 input_abs_set_res(input_dev, ABS_X, features->x_resolution); in wacom_setup_pen_input_capabilities()
2574 input_abs_set_res(input_dev, ABS_Y, features->y_resolution); in wacom_setup_pen_input_capabilities()
2577 switch (features->type) { in wacom_setup_pen_input_capabilities()
2584 features->distance_max, in wacom_setup_pen_input_capabilities()
2646 features->distance_max, in wacom_setup_pen_input_capabilities()
2696 if (features->type == INTUOSHT2) { in wacom_setup_pen_input_capabilities()
2705 features->distance_max, in wacom_setup_pen_input_capabilities()
2719 struct wacom_features *features = &wacom_wac->features; in wacom_setup_touch_input_capabilities() local
2723 if (!(features->device_type & WACOM_DEVICETYPE_TOUCH)) in wacom_setup_touch_input_capabilities()
2726 if (features->type == HID_GENERIC) in wacom_setup_touch_input_capabilities()
2732 if (features->touch_max == 1) { in wacom_setup_touch_input_capabilities()
2734 features->x_max, features->x_fuzz, 0); in wacom_setup_touch_input_capabilities()
2736 features->y_max, features->y_fuzz, 0); in wacom_setup_touch_input_capabilities()
2738 features->x_resolution); in wacom_setup_touch_input_capabilities()
2740 features->y_resolution); in wacom_setup_touch_input_capabilities()
2742 else if (features->touch_max > 1) { in wacom_setup_touch_input_capabilities()
2744 features->x_max, features->x_fuzz, 0); in wacom_setup_touch_input_capabilities()
2746 features->y_max, features->y_fuzz, 0); in wacom_setup_touch_input_capabilities()
2748 features->x_resolution); in wacom_setup_touch_input_capabilities()
2750 features->y_resolution); in wacom_setup_touch_input_capabilities()
2753 switch (features->type) { in wacom_setup_touch_input_capabilities()
2762 input_set_abs_params(input_dev, ABS_MT_TOUCH_MAJOR, 0, features->x_max, 0, 0); in wacom_setup_touch_input_capabilities()
2763 input_set_abs_params(input_dev, ABS_MT_TOUCH_MINOR, 0, features->y_max, 0, 0); in wacom_setup_touch_input_capabilities()
2764 input_mt_init_slots(input_dev, features->touch_max, INPUT_MT_POINTER); in wacom_setup_touch_input_capabilities()
2768 input_set_abs_params(input_dev, ABS_MT_TOUCH_MAJOR, 0, features->x_max, 0, 0); in wacom_setup_touch_input_capabilities()
2769 input_set_abs_params(input_dev, ABS_MT_WIDTH_MAJOR, 0, features->x_max, 0, 0); in wacom_setup_touch_input_capabilities()
2770 input_set_abs_params(input_dev, ABS_MT_WIDTH_MINOR, 0, features->y_max, 0, 0); in wacom_setup_touch_input_capabilities()
2779 input_mt_init_slots(input_dev, features->touch_max, INPUT_MT_DIRECT); in wacom_setup_touch_input_capabilities()
2795 if (features->pktlen == WACOM_PKGLEN_BBTOUCH3) { in wacom_setup_touch_input_capabilities()
2798 0, features->x_max, 0, 0); in wacom_setup_touch_input_capabilities()
2801 0, features->y_max, 0, 0); in wacom_setup_touch_input_capabilities()
2803 input_mt_init_slots(input_dev, features->touch_max, INPUT_MT_POINTER); in wacom_setup_touch_input_capabilities()
2807 input_mt_init_slots(input_dev, features->touch_max, in wacom_setup_touch_input_capabilities()
2832 struct wacom_features *features = &wacom_wac->features; in wacom_setup_pad_input_capabilities() local
2834 if (!(features->device_type & WACOM_DEVICETYPE_PAD)) in wacom_setup_pad_input_capabilities()
2849 wacom_setup_numbered_buttons(input_dev, features->numbered_buttons); in wacom_setup_pad_input_capabilities()
2851 switch (features->type) { in wacom_setup_pad_input_capabilities()