Lines Matching refs:features
115 struct wacom_features *features = &wacom->features; in wacom_pl_irq() local
131 if (features->pressure_max > 255) in wacom_pl_irq()
133 pressure += (features->pressure_max + 1) / 2; in wacom_pl_irq()
298 struct wacom_features *features = &wacom->features; in wacom_graphire_irq() local
307 if (features->type == GRAPHIRE_BT) { in wacom_graphire_irq()
348 if (features->type == GRAPHIRE_BT) in wacom_graphire_irq()
360 if (features->type == WACOM_G4 || in wacom_graphire_irq()
361 features->type == WACOM_MO) { in wacom_graphire_irq()
364 } else if (features->type == GRAPHIRE_BT) { in wacom_graphire_irq()
393 switch (features->type) { in wacom_graphire_irq()
439 if (features->type == GRAPHIRE_BT) { in wacom_graphire_irq()
465 struct wacom_features *features = &wacom->features; in wacom_intuos_inout() local
471 if (features->type == INTUOS) in wacom_intuos_inout()
569 (features->type == WACOM_21UX2)) || in wacom_intuos_inout()
572 (features->type == INTUOS3 || in wacom_intuos_inout()
573 features->type == INTUOS3S || in wacom_intuos_inout()
574 features->type == INTUOS4 || in wacom_intuos_inout()
575 features->type == INTUOS4S || in wacom_intuos_inout()
576 features->type == INTUOS5 || in wacom_intuos_inout()
577 features->type == INTUOS5S || in wacom_intuos_inout()
578 features->type == INTUOSPM || in wacom_intuos_inout()
579 features->type == INTUOSPS)) || in wacom_intuos_inout()
581 (features->type == CINTIQ && !(data[1] & 0x40))) in wacom_intuos_inout()
592 input_report_abs(input, ABS_DISTANCE, wacom->features.distance_max); in wacom_intuos_inout()
628 if (features->type >= INTUOS3S) in wacom_intuos_inout()
650 struct wacom_features *features = &wacom->features; in wacom_intuos_general() local
658 if (features->type >= INTUOS4S && features->type <= CINTIQ_HYBRID) { in wacom_intuos_general()
682 struct wacom_features *features = &wacom->features; in wacom_intuos_irq() local
701 if (features->type == INTUOS) in wacom_intuos_irq()
708 if (features->type >= INTUOS4S && features->type <= INTUOS4L) { in wacom_intuos_irq()
722 if (features->type != INTUOS4S) { in wacom_intuos_irq()
731 } else if (features->type == DTK) { in wacom_intuos_irq()
743 } else if (features->type == WACOM_13HD) { in wacom_intuos_irq()
758 } else if (features->type == WACOM_24HD) { in wacom_intuos_irq()
806 } else if (features->type == WACOM_27QHD) { in wacom_intuos_irq()
819 } else if (features->type == CINTIQ_HYBRID) { in wacom_intuos_irq()
841 } else if (features->type >= INTUOS5S && features->type <= INTUOSPL) { in wacom_intuos_irq()
868 if (features->type == WACOM_21UX2 || features->type == WACOM_22HD) { in wacom_intuos_irq()
888 if (features->type == WACOM_22HD) { in wacom_intuos_irq()
924 if (features->type >= INTUOS3S) { in wacom_intuos_irq()
942 if (features->type >= INTUOS3S) { in wacom_intuos_irq()
955 } else if (!(data[1] & 0x10) && features->type < INTUOS3S) { in wacom_intuos_irq()
968 if (features->type >= INTUOS4S && features->type <= INTUOSPL) { in wacom_intuos_irq()
989 if (features->type >= INTUOS3S && features->type <= INTUOS3L) { in wacom_intuos_irq()
994 } else if ((features->type < INTUOS3S || features->type == INTUOS3L || in wacom_intuos_irq()
995 features->type == INTUOS4L || features->type == INTUOS5L || in wacom_intuos_irq()
996 features->type == INTUOSPL) && in wacom_intuos_irq()
1071 unsigned touch_max = wacom->features.touch_max; in wacom_wac_finger_count_touches()
1079 if ((touch_max == 1) && (wacom->features.type == HID_GENERIC)) in wacom_wac_finger_count_touches()
1104 if (wacom->features.type == WACOM_27QHDT) { in wacom_24hdt_irq()
1137 if (wacom->features.type != WACOM_27QHDT) { in wacom_24hdt_irq()
1171 if (wacom->features.type == MTTPC || wacom->features.type == MTTPC_B) in wacom_mt_touch()
1247 if (wacom->features.touch_max > 1 || len > WACOM_PKGLEN_TPC2FG) in wacom_tpc_single_touch()
1470 struct wacom_features *features = &wacom_wac->features; in wacom_wac_finger_usage_mapping() local
1471 unsigned touch_max = wacom_wac->features.touch_max; in wacom_wac_finger_usage_mapping()
1475 features->last_slot_field = usage->hid; in wacom_wac_finger_usage_mapping()
1483 features->last_slot_field = usage->hid; in wacom_wac_finger_usage_mapping()
1491 features->last_slot_field = usage->hid; in wacom_wac_finger_usage_mapping()
1494 features->last_slot_field = usage->hid; in wacom_wac_finger_usage_mapping()
1497 features->last_slot_field = usage->hid; in wacom_wac_finger_usage_mapping()
1500 features->last_slot_field = usage->hid; in wacom_wac_finger_usage_mapping()
1510 bool mt = wacom_wac->features.touch_max > 1; in wacom_wac_finger_slot()
1556 if (usage->hid == wacom_wac->features.last_slot_field) in wacom_wac_finger_event()
1569 unsigned touch_max = wacom_wac->features.touch_max; in wacom_wac_finger_report()
1602 if (wacom->wacom_wac.features.type != HID_GENERIC) in wacom_wac_event()
1620 if (wacom_wac->features.type != HID_GENERIC) in wacom_wac_report()
1632 struct wacom_features *features = &wacom->features; in wacom_bpt_touch() local
1658 if (features->quirks & WACOM_QUIRK_BBTOUCH_LOWRES) { in wacom_bpt_touch()
1680 struct wacom_features *features = &wacom->features; in wacom_bpt3_touch_msg() local
1698 if (features->type >= INTUOSPS && features->type <= INTUOSPL) { in wacom_bpt3_touch_msg()
1724 struct wacom_features *features = &wacom->features; in wacom_bpt3_button_msg() local
1726 if (features->type == INTUOSHT) { in wacom_bpt3_button_msg()
1766 struct wacom_features *features = &wacom->features; in wacom_bpt_pen() local
1810 if (data[8] <= features->distance_max) in wacom_bpt_pen()
1811 d = features->distance_max - data[8]; in wacom_bpt_pen()
1884 for (id = 0; id < wacom->features.touch_max; id++) { in wacom_bamboo_pad_touch_event()
1976 struct wacom_features *features = &wacom_wac->features; in wacom_status_irq() local
1982 if (features->type == INTUOSHT && in wacom_status_irq()
1984 features->touch_max) { in wacom_status_irq()
1998 !(features->quirks & WACOM_QUIRK_BATTERY)) { in wacom_status_irq()
1999 features->quirks |= WACOM_QUIRK_BATTERY; in wacom_status_irq()
2004 else if ((features->quirks & WACOM_QUIRK_BATTERY) && in wacom_status_irq()
2006 features->quirks &= ~WACOM_QUIRK_BATTERY; in wacom_status_irq()
2018 switch (wacom_wac->features.type) { in wacom_wac_irq()
2141 0, wacom_wac->features.distance_max, 0, 0); in wacom_setup_cintiq()
2170 void wacom_setup_device_quirks(struct wacom_features *features) in wacom_setup_device_quirks() argument
2174 if (features->device_type == BTN_TOOL_FINGER && !features->x_max) { in wacom_setup_device_quirks()
2175 features->x_max = 1023; in wacom_setup_device_quirks()
2176 features->y_max = 1023; in wacom_setup_device_quirks()
2180 if (features->type == BAMBOO_PT && in wacom_setup_device_quirks()
2181 features->pktlen == WACOM_PKGLEN_BBTOUCH) { in wacom_setup_device_quirks()
2182 features->x_max <<= 5; in wacom_setup_device_quirks()
2183 features->y_max <<= 5; in wacom_setup_device_quirks()
2184 features->x_fuzz <<= 5; in wacom_setup_device_quirks()
2185 features->y_fuzz <<= 5; in wacom_setup_device_quirks()
2186 features->quirks |= WACOM_QUIRK_BBTOUCH_LOWRES; in wacom_setup_device_quirks()
2189 if (features->type == WIRELESS) { in wacom_setup_device_quirks()
2192 features->quirks |= WACOM_QUIRK_NO_INPUT; in wacom_setup_device_quirks()
2195 if (!features->device_type) { in wacom_setup_device_quirks()
2196 features->quirks |= WACOM_QUIRK_MONITOR; in wacom_setup_device_quirks()
2197 features->quirks |= WACOM_QUIRK_BATTERY; in wacom_setup_device_quirks()
2205 struct wacom_features *features = &wacom_wac->features; in wacom_abs_set_axis() local
2207 if (features->device_type == BTN_TOOL_PEN) { in wacom_abs_set_axis()
2208 input_set_abs_params(input_dev, ABS_X, features->x_min, in wacom_abs_set_axis()
2209 features->x_max, features->x_fuzz, 0); in wacom_abs_set_axis()
2210 input_set_abs_params(input_dev, ABS_Y, features->y_min, in wacom_abs_set_axis()
2211 features->y_max, features->y_fuzz, 0); in wacom_abs_set_axis()
2213 features->pressure_max, features->pressure_fuzz, 0); in wacom_abs_set_axis()
2216 input_abs_set_res(input_dev, ABS_X, features->x_resolution); in wacom_abs_set_axis()
2217 input_abs_set_res(input_dev, ABS_Y, features->y_resolution); in wacom_abs_set_axis()
2219 if (features->touch_max == 1) { in wacom_abs_set_axis()
2221 features->x_max, features->x_fuzz, 0); in wacom_abs_set_axis()
2223 features->y_max, features->y_fuzz, 0); in wacom_abs_set_axis()
2225 features->x_resolution); in wacom_abs_set_axis()
2227 features->y_resolution); in wacom_abs_set_axis()
2230 if (features->touch_max > 1) { in wacom_abs_set_axis()
2232 features->x_max, features->x_fuzz, 0); in wacom_abs_set_axis()
2234 features->y_max, features->y_fuzz, 0); in wacom_abs_set_axis()
2236 features->x_resolution); in wacom_abs_set_axis()
2238 features->y_resolution); in wacom_abs_set_axis()
2246 struct wacom_features *features = &wacom_wac->features; in wacom_setup_pentouch_input_capabilities() local
2250 if (features->type == HID_GENERIC) in wacom_setup_pentouch_input_capabilities()
2259 switch (features->type) { in wacom_setup_pentouch_input_capabilities()
2266 features->distance_max, in wacom_setup_pentouch_input_capabilities()
2326 if (features->device_type == BTN_TOOL_PEN) { in wacom_setup_pentouch_input_capabilities()
2328 features->distance_max, in wacom_setup_pentouch_input_capabilities()
2335 } else if (features->device_type == BTN_TOOL_FINGER) { in wacom_setup_pentouch_input_capabilities()
2339 0, features->x_max, 0, 0); in wacom_setup_pentouch_input_capabilities()
2341 0, features->y_max, 0, 0); in wacom_setup_pentouch_input_capabilities()
2342 input_mt_init_slots(input_dev, features->touch_max, INPUT_MT_POINTER); in wacom_setup_pentouch_input_capabilities()
2347 if (features->device_type == BTN_TOOL_FINGER) { in wacom_setup_pentouch_input_capabilities()
2348 input_set_abs_params(input_dev, ABS_MT_TOUCH_MAJOR, 0, features->x_max, 0, 0); in wacom_setup_pentouch_input_capabilities()
2349 input_set_abs_params(input_dev, ABS_MT_WIDTH_MAJOR, 0, features->x_max, 0, 0); in wacom_setup_pentouch_input_capabilities()
2350 input_set_abs_params(input_dev, ABS_MT_WIDTH_MINOR, 0, features->y_max, 0, 0); in wacom_setup_pentouch_input_capabilities()
2360 if (features->device_type == BTN_TOOL_FINGER && features->touch_max > 1) in wacom_setup_pentouch_input_capabilities()
2361 input_mt_init_slots(input_dev, features->touch_max, INPUT_MT_DIRECT); in wacom_setup_pentouch_input_capabilities()
2370 if (features->device_type != BTN_TOOL_PEN) in wacom_setup_pentouch_input_capabilities()
2400 if (features->touch_max && in wacom_setup_pentouch_input_capabilities()
2401 features->device_type == BTN_TOOL_FINGER) { in wacom_setup_pentouch_input_capabilities()
2410 if (features->device_type == BTN_TOOL_FINGER) { in wacom_setup_pentouch_input_capabilities()
2412 if (features->touch_max) { in wacom_setup_pentouch_input_capabilities()
2413 if (features->pktlen == WACOM_PKGLEN_BBTOUCH3) { in wacom_setup_pentouch_input_capabilities()
2416 0, features->x_max, 0, 0); in wacom_setup_pentouch_input_capabilities()
2419 0, features->y_max, 0, 0); in wacom_setup_pentouch_input_capabilities()
2421 input_mt_init_slots(input_dev, features->touch_max, INPUT_MT_POINTER); in wacom_setup_pentouch_input_capabilities()
2431 } else if (features->device_type == BTN_TOOL_PEN) { in wacom_setup_pentouch_input_capabilities()
2438 features->distance_max, in wacom_setup_pentouch_input_capabilities()
2444 input_mt_init_slots(input_dev, features->touch_max, in wacom_setup_pentouch_input_capabilities()
2456 struct wacom_features *features = &wacom_wac->features; in wacom_setup_pad_input_capabilities() local
2471 switch (features->type) { in wacom_setup_pad_input_capabilities()
2596 if (features->device_type != BTN_TOOL_PEN) in wacom_setup_pad_input_capabilities()
2641 if ((features->device_type != BTN_TOOL_FINGER) || in wacom_setup_pad_input_capabilities()
2643 ((features->type == BAMBOO_PT) && !features->touch_max)) in wacom_setup_pad_input_capabilities()