Lines Matching refs:usage

1858 static int wacom_offset_rotation(struct input_dev *input, struct hid_usage *usage,
1861 struct input_absinfo *abs = &input->absinfo[usage->code];
1872 int wacom_equivalent_usage(int usage)
1874 if ((usage & HID_USAGE_PAGE) == WACOM_HID_UP_WACOMDIGITIZER) {
1875 int subpage = (usage & 0xFF00) << 8;
1876 int subusage = (usage & 0xFF);
1882 usage == WACOM_HID_WD_SENSE ||
1883 usage == WACOM_HID_WD_SERIALHI ||
1884 usage == WACOM_HID_WD_TOOLTYPE ||
1885 usage == WACOM_HID_WD_DISTANCE ||
1886 usage == WACOM_HID_WD_TOUCHSTRIP ||
1887 usage == WACOM_HID_WD_TOUCHSTRIP2 ||
1888 usage == WACOM_HID_WD_TOUCHRING ||
1889 usage == WACOM_HID_WD_TOUCHRINGSTATUS ||
1890 usage == WACOM_HID_WD_REPORT_VALID ||
1891 usage == WACOM_HID_WD_BARRELSWITCH3 ||
1892 usage == WACOM_HID_WD_SEQUENCENUMBER) {
1893 return usage;
1902 if ((usage & HID_USAGE_PAGE) == WACOM_HID_UP_WACOMTOUCH) {
1903 int subpage = (usage & 0xFF00) << 8;
1904 int subusage = (usage & 0xFF);
1906 if (usage == WACOM_HID_WT_REPORT_VALID)
1907 return usage;
1915 return usage;
1918 static void wacom_map_usage(struct input_dev *input, struct hid_usage *usage,
1926 unsigned int equivalent_usage = wacom_equivalent_usage(usage->hid);
1943 usage->type = type;
1944 usage->code = code;
1950 /* older tablet may miss physical usage */
1954 "Wacom usage (%d) missing resolution \n",
1968 struct hid_field *field, struct hid_usage *usage)
1974 struct hid_usage *usage, __s32 value)
1978 unsigned equivalent_usage = wacom_equivalent_usage(usage->hid);
2033 struct hid_field *field, struct hid_usage *usage)
2039 unsigned equivalent_usage = wacom_equivalent_usage(usage->hid);
2044 wacom_map_usage(input, usage, field, EV_ABS, ABS_X, 0);
2049 wacom_map_usage(input, usage, field, EV_ABS, ABS_Y, 0);
2054 wacom_map_usage(input, usage, field, EV_ABS, ABS_Z, 0);
2063 wacom_map_usage(input, usage, field, EV_KEY,
2080 * the usage type and code directly.
2083 usage->type = EV_SW;
2084 usage->code = SW_MUTE_DEVICE;
2087 wacom_map_usage(input, usage, field, EV_ABS, ABS_RX, 0);
2091 wacom_map_usage(input, usage, field, EV_ABS, ABS_RY, 0);
2095 wacom_map_usage(input, usage, field, EV_ABS, ABS_WHEEL, 0);
2101 * this usage may overwrite the axis resolution and range.
2103 usage->type = EV_ABS;
2104 usage->code = ABS_WHEEL;
2109 wacom_map_usage(input, usage, field, EV_KEY, KEY_BUTTONCONFIG, 0);
2113 wacom_map_usage(input, usage, field, EV_KEY, KEY_ONSCREEN_KEYBOARD, 0);
2117 wacom_map_usage(input, usage, field, EV_KEY, KEY_CONTROLPANEL, 0);
2132 wacom_map_usage(input, usage, field, EV_KEY,
2142 struct hid_usage *usage, __s32 value)
2148 unsigned equivalent_usage = wacom_equivalent_usage(usage->hid);
2153 * Avoid reporting this event and setting inrange_state if this usage
2156 if (!usage->type && equivalent_usage != WACOM_HID_WD_MODE_CHANGE)
2160 if (usage->hid != WACOM_HID_WD_TOUCHRING)
2207 value = wacom_offset_rotation(input, usage, value, 3, 16);
2211 value = wacom_offset_rotation(input, usage, value, 1, 2);
2214 value = wacom_offset_rotation(input, usage, value, 1, 4);
2220 input_event(input, usage->type, usage->code, 0);
2241 input_event(input, usage->type, usage->code, value);
2289 struct hid_field *field, struct hid_usage *usage)
2295 unsigned equivalent_usage = wacom_equivalent_usage(usage->hid);
2299 wacom_map_usage(input, usage, field, EV_ABS, ABS_X, 4);
2302 wacom_map_usage(input, usage, field, EV_ABS, ABS_Y, 4);
2306 wacom_map_usage(input, usage, field, EV_ABS, ABS_DISTANCE, 0);
2309 wacom_map_usage(input, usage, field, EV_ABS, ABS_PRESSURE, 0);
2312 wacom_map_usage(input, usage, field, EV_KEY, BTN_TOOL_PEN, 0);
2315 wacom_map_usage(input, usage, field, EV_KEY,
2319 wacom_map_usage(input, usage, field, EV_ABS, ABS_TILT_X, 0);
2322 wacom_map_usage(input, usage, field, EV_ABS, ABS_TILT_Y, 0);
2325 wacom_map_usage(input, usage, field, EV_ABS, ABS_Z, 0);
2329 wacom_map_usage(input, usage, field, EV_KEY, BTN_TOUCH, 0);
2333 wacom_map_usage(input, usage, field, EV_KEY, BTN_TOUCH, 0);
2338 wacom_map_usage(input, usage, field, EV_KEY, BTN_STYLUS, 0);
2343 wacom_map_usage(input, usage, field, EV_KEY, BTN_STYLUS2, 0);
2347 wacom_map_usage(input, usage, field, EV_MSC, MSC_SERIAL, 0);
2350 wacom_map_usage(input, usage, field, EV_MSC, MSC_TIMESTAMP, 0);
2354 wacom_map_usage(input, usage, field, EV_KEY, BTN_TOOL_PEN, 0);
2359 wacom_map_usage(input, usage, field, EV_ABS, ABS_MISC, 0);
2363 wacom_map_usage(input, usage, field, EV_ABS, ABS_WHEEL, 0);
2367 wacom_map_usage(input, usage, field, EV_KEY, BTN_STYLUS3, 0);
2374 struct hid_usage *usage, __s32 value)
2380 unsigned equivalent_usage = wacom_equivalent_usage(usage->hid);
2428 value = wacom_offset_rotation(input, usage, value, 1, 4);
2453 * type in their WACOM_HID_WD_TOOLTYPE usage. Use a
2503 if (!usage->type || delay_pen_events(wacom_wac))
2508 input_event(input, usage->type, usage->code, value);
2510 input_event(input, usage->type, usage->code, 0);
2601 struct hid_field *field, struct hid_usage *usage)
2607 unsigned equivalent_usage = wacom_equivalent_usage(usage->hid);
2612 wacom_map_usage(input, usage, field, EV_ABS, ABS_X, 4);
2614 wacom_map_usage(input, usage, field, EV_ABS,
2619 wacom_map_usage(input, usage, field, EV_ABS, ABS_Y, 4);
2621 wacom_map_usage(input, usage, field, EV_ABS,
2626 wacom_map_usage(input, usage, field, EV_ABS, ABS_MT_TOUCH_MAJOR, 0);
2627 wacom_map_usage(input, usage, field, EV_ABS, ABS_MT_TOUCH_MINOR, 0);
2631 wacom_map_usage(input, usage, field, EV_KEY, BTN_TOUCH, 0);
2636 wacom_wac->hid_data.cc_value_index = usage->usage_index;
2649 wacom_map_usage(input, usage, field, EV_MSC, MSC_TIMESTAMP, 0);
2711 struct hid_field *field, struct hid_usage *usage, __s32 value)
2715 unsigned equivalent_usage = wacom_equivalent_usage(usage->hid);
2759 if (usage->usage_index + 1 == field->report_count) {
2789 struct hid_usage *usage = &field->usage[j];
2791 wacom_equivalent_usage(usage->hid);
2859 struct hid_field *field, struct hid_usage *usage)
2868 /* usage tests must precede field tests */
2869 if (WACOM_BATTERY_USAGE(usage))
2870 wacom_wac_battery_usage_mapping(hdev, field, usage);
2872 wacom_wac_pad_usage_mapping(hdev, field, usage);
2874 wacom_wac_pen_usage_mapping(hdev, field, usage);
2876 wacom_wac_finger_usage_mapping(hdev, field, usage);
2880 struct hid_usage *usage, __s32 value)
2890 /* usage tests must precede field tests */
2891 if (WACOM_BATTERY_USAGE(usage))
2892 wacom_wac_battery_event(hdev, field, usage, value);
2894 wacom_wac_pad_event(hdev, field, usage, value);
2896 wacom_wac_pen_event(hdev, field, usage, value);
2898 wacom_wac_finger_event(hdev, field, usage, value);
2918 if (field->usage[n].collection_index == collection_index)
2919 wacom_wac_event(hdev, field, &field->usage[n],
2993 if (field->usage[0].collection_index != prev_collection) {
2995 field->usage[0].collection_index, field, r) < 0)
2997 prev_collection = field->usage[0].collection_index;
3637 * 0, whose HID descriptor has an application usage of 0xFF0D