Lines Matching refs:usage

1856 static int wacom_offset_rotation(struct input_dev *input, struct hid_usage *usage,
1859 struct input_absinfo *abs = &input->absinfo[usage->code];
1870 int wacom_equivalent_usage(int usage)
1872 if ((usage & HID_USAGE_PAGE) == WACOM_HID_UP_WACOMDIGITIZER) {
1873 int subpage = (usage & 0xFF00) << 8;
1874 int subusage = (usage & 0xFF);
1880 usage == WACOM_HID_WD_SENSE ||
1881 usage == WACOM_HID_WD_SERIALHI ||
1882 usage == WACOM_HID_WD_TOOLTYPE ||
1883 usage == WACOM_HID_WD_DISTANCE ||
1884 usage == WACOM_HID_WD_TOUCHSTRIP ||
1885 usage == WACOM_HID_WD_TOUCHSTRIP2 ||
1886 usage == WACOM_HID_WD_TOUCHRING ||
1887 usage == WACOM_HID_WD_TOUCHRINGSTATUS ||
1888 usage == WACOM_HID_WD_REPORT_VALID) {
1889 return usage;
1898 if ((usage & HID_USAGE_PAGE) == WACOM_HID_UP_WACOMTOUCH) {
1899 int subpage = (usage & 0xFF00) << 8;
1900 int subusage = (usage & 0xFF);
1902 if (usage == WACOM_HID_WT_REPORT_VALID)
1903 return usage;
1911 return usage;
1914 static void wacom_map_usage(struct input_dev *input, struct hid_usage *usage,
1922 unsigned int equivalent_usage = wacom_equivalent_usage(usage->hid);
1939 usage->type = type;
1940 usage->code = code;
1948 /* older tablet may miss physical usage */
1952 "Wacom usage (%d) missing resolution \n",
1970 struct hid_field *field, struct hid_usage *usage)
1976 struct hid_usage *usage, __s32 value)
1980 unsigned equivalent_usage = wacom_equivalent_usage(usage->hid);
2035 struct hid_field *field, struct hid_usage *usage)
2041 unsigned equivalent_usage = wacom_equivalent_usage(usage->hid);
2046 wacom_map_usage(input, usage, field, EV_ABS, ABS_X, 0);
2051 wacom_map_usage(input, usage, field, EV_ABS, ABS_Y, 0);
2056 wacom_map_usage(input, usage, field, EV_ABS, ABS_Z, 0);
2065 wacom_map_usage(input, usage, field, EV_KEY,
2074 * This usage, which is used to mute touch events, comes
2078 * order to process this usage when we receive it, we set
2079 * the usage type and code directly.
2082 usage->type = EV_SW;
2083 usage->code = SW_MUTE_DEVICE;
2086 wacom_map_usage(input, usage, field, EV_ABS, ABS_RX, 0);
2090 wacom_map_usage(input, usage, field, EV_ABS, ABS_RY, 0);
2094 wacom_map_usage(input, usage, field, EV_ABS, ABS_WHEEL, 0);
2100 * this usage may overwrite the axis resolution and range.
2102 usage->type = EV_ABS;
2103 usage->code = ABS_WHEEL;
2108 wacom_map_usage(input, usage, field, EV_KEY, KEY_BUTTONCONFIG, 0);
2112 wacom_map_usage(input, usage, field, EV_KEY, KEY_ONSCREEN_KEYBOARD, 0);
2116 wacom_map_usage(input, usage, field, EV_KEY, KEY_CONTROLPANEL, 0);
2131 wacom_map_usage(input, usage, field, EV_KEY,
2141 struct hid_usage *usage, __s32 value)
2147 unsigned equivalent_usage = wacom_equivalent_usage(usage->hid);
2152 * Avoid reporting this event and setting inrange_state if this usage
2155 if (!usage->type && equivalent_usage != WACOM_HID_WD_MODE_CHANGE)
2159 if (usage->hid != WACOM_HID_WD_TOUCHRING)
2206 value = wacom_offset_rotation(input, usage, value, 3, 16);
2210 value = wacom_offset_rotation(input, usage, value, 1, 2);
2213 value = wacom_offset_rotation(input, usage, value, 1, 4);
2219 input_event(input, usage->type, usage->code, 0);
2240 input_event(input, usage->type, usage->code, value);
2273 struct hid_field *field, struct hid_usage *usage)
2279 unsigned equivalent_usage = wacom_equivalent_usage(usage->hid);
2283 wacom_map_usage(input, usage, field, EV_ABS, ABS_X, 4);
2286 wacom_map_usage(input, usage, field, EV_ABS, ABS_Y, 4);
2290 wacom_map_usage(input, usage, field, EV_ABS, ABS_DISTANCE, 0);
2293 wacom_map_usage(input, usage, field, EV_ABS, ABS_PRESSURE, 0);
2296 wacom_map_usage(input, usage, field, EV_KEY, BTN_TOOL_PEN, 0);
2299 wacom_map_usage(input, usage, field, EV_KEY,
2303 wacom_map_usage(input, usage, field, EV_ABS, ABS_TILT_X, 0);
2306 wacom_map_usage(input, usage, field, EV_ABS, ABS_TILT_Y, 0);
2309 wacom_map_usage(input, usage, field, EV_ABS, ABS_Z, 0);
2313 wacom_map_usage(input, usage, field, EV_KEY, BTN_TOUCH, 0);
2316 wacom_map_usage(input, usage, field, EV_KEY, BTN_STYLUS, 0);
2319 wacom_map_usage(input, usage, field, EV_KEY, BTN_STYLUS2, 0);
2323 wacom_map_usage(input, usage, field, EV_MSC, MSC_SERIAL, 0);
2327 wacom_map_usage(input, usage, field, EV_KEY, BTN_TOOL_PEN, 0);
2330 wacom_map_usage(input, usage, field, EV_ABS, ABS_MISC, 0);
2346 wacom_map_usage(input, usage, field, EV_ABS, ABS_WHEEL, 0);
2352 struct hid_usage *usage, __s32 value)
2358 unsigned equivalent_usage = wacom_equivalent_usage(usage->hid);
2406 value = wacom_offset_rotation(input, usage, value, 1, 4);
2431 * type in their WACOM_HID_WD_TOOLTYPE usage. Use a
2473 if (!usage->type || delay_pen_events(wacom_wac))
2478 input_event(input, usage->type, usage->code, value);
2480 input_event(input, usage->type, usage->code, 0);
2567 struct hid_field *field, struct hid_usage *usage)
2573 unsigned equivalent_usage = wacom_equivalent_usage(usage->hid);
2578 wacom_map_usage(input, usage, field, EV_ABS, ABS_X, 4);
2580 wacom_map_usage(input, usage, field, EV_ABS,
2585 wacom_map_usage(input, usage, field, EV_ABS, ABS_Y, 4);
2587 wacom_map_usage(input, usage, field, EV_ABS,
2592 wacom_map_usage(input, usage, field, EV_ABS, ABS_MT_TOUCH_MAJOR, 0);
2593 wacom_map_usage(input, usage, field, EV_ABS, ABS_MT_TOUCH_MINOR, 0);
2597 wacom_map_usage(input, usage, field, EV_KEY, BTN_TOUCH, 0);
2602 wacom_wac->hid_data.cc_value_index = usage->usage_index;
2663 struct hid_field *field, struct hid_usage *usage, __s32 value)
2667 unsigned equivalent_usage = wacom_equivalent_usage(usage->hid);
2708 if (usage->usage_index + 1 == field->report_count) {
2735 struct hid_usage *usage = &field->usage[j];
2737 wacom_equivalent_usage(usage->hid);
2801 struct hid_field *field, struct hid_usage *usage)
2810 /* usage tests must precede field tests */
2811 if (WACOM_BATTERY_USAGE(usage))
2812 wacom_wac_battery_usage_mapping(hdev, field, usage);
2814 wacom_wac_pad_usage_mapping(hdev, field, usage);
2816 wacom_wac_pen_usage_mapping(hdev, field, usage);
2818 wacom_wac_finger_usage_mapping(hdev, field, usage);
2822 struct hid_usage *usage, __s32 value)
2832 /* usage tests must precede field tests */
2833 if (WACOM_BATTERY_USAGE(usage))
2834 wacom_wac_battery_event(hdev, field, usage, value);
2836 wacom_wac_pad_event(hdev, field, usage, value);
2838 wacom_wac_pen_event(hdev, field, usage, value);
2840 wacom_wac_finger_event(hdev, field, usage, value);
2860 if (field->usage[n].collection_index == collection_index)
2861 wacom_wac_event(hdev, field, &field->usage[n],
2935 if (field->usage[0].collection_index != prev_collection) {
2937 field->usage[0].collection_index, field, r) < 0)
2939 prev_collection = field->usage[0].collection_index;
3585 * 0, whose HID descriptor has an application usage of 0xFF0D