Lines Matching +full:button +full:- +full:191
1 // SPDX-License-Identifier: GPL-2.0-or-later
6 * Copyright (c) 2000-2005 Vojtech Pavlik <vojtech@suse.cz>
7 * Copyright (c) 2005 Michael Haboustak <mike-@cinci.rr.com> for Concept2, Inc
8 * Copyright (c) 2006-2007 Jiri Kosina
25 #include "hid-ids.h"
26 #include "hid-lg.h"
27 #include "hid-lg4ff.h"
144 0x05, 0x09, /* Usage Page (Button), */
192 0x05, 0x09, /* Usage Page (Button), */
259 0x05, 0x09, /* Usage Page (Button), */
305 0x05, 0x09, /* Usage Page (Button), */
353 0x05, 0x09, /* Usage Page (Button), */
402 0x05, 0x09, /* Usage Page (Button), */
435 if ((drv_data->quirks & LG_RDESC) && *rsize >= 91 && rdesc[83] == 0x26 && in lg_report_fixup()
442 if ((drv_data->quirks & LG_RDESC_REL_ABS) && *rsize >= 51 && in lg_report_fixup()
450 switch (hdev->product) { in lg_report_fixup()
541 if ((usage->hid & HID_USAGE_PAGE) != HID_UP_LOGIVENDOR) in lg_ultrax_remote_mapping()
544 set_bit(EV_REP, hi->input->evbit); in lg_ultrax_remote_mapping()
545 switch (usage->hid & HID_USAGE) { in lg_ultrax_remote_mapping()
574 if ((usage->hid & HID_USAGE_PAGE) != HID_UP_LOGIVENDOR) in lg_dinovo_mapping()
577 switch (usage->hid & HID_USAGE) { in lg_dinovo_mapping()
590 if ((usage->hid & HID_USAGE_PAGE) != HID_UP_CONSUMER) in lg_wireless_mapping()
593 switch (usage->hid & HID_USAGE) { in lg_wireless_mapping()
662 188,189,190,191,192,193,194, 0, 0, 0 in lg_input_mapping()
665 unsigned int hid = usage->hid; in lg_input_mapping()
667 if (hdev->product == USB_DEVICE_ID_LOGITECH_RECEIVER && in lg_input_mapping()
671 if (hdev->product == USB_DEVICE_ID_DINOVO_MINI && in lg_input_mapping()
675 if ((drv_data->quirks & LG_WIRELESS) && lg_wireless_mapping(hi, usage, bit, max)) in lg_input_mapping()
684 if (field->application == HID_GD_MOUSE) { in lg_input_mapping()
685 if ((drv_data->quirks & LG_IGNORE_DOUBLED_WHEEL) && in lg_input_mapping()
687 return -1; in lg_input_mapping()
689 if ((drv_data->quirks & LG_EXPANDED_KEYMAP) && in lg_input_mapping()
707 if ((drv_data->quirks & LG_BAD_RELATIVE_KEYS) && usage->type == EV_KEY && in lg_input_mapped()
708 (field->flags & HID_MAIN_ITEM_RELATIVE)) in lg_input_mapped()
709 field->flags &= ~HID_MAIN_ITEM_RELATIVE; in lg_input_mapped()
711 if ((drv_data->quirks & LG_DUPLICATE_USAGES) && (usage->type == EV_KEY || in lg_input_mapped()
712 usage->type == EV_REL || usage->type == EV_ABS)) in lg_input_mapped()
713 clear_bit(usage->code, *bit); in lg_input_mapped()
716 if (usage->type == EV_ABS && (usage->code == ABS_X || in lg_input_mapped()
717 usage->code == ABS_Y || usage->code == ABS_Z || in lg_input_mapped()
718 usage->code == ABS_RZ)) { in lg_input_mapped()
719 switch (hdev->product) { in lg_input_mapped()
732 field->application = HID_GD_MULTIAXIS; in lg_input_mapped()
747 if ((drv_data->quirks & LG_INVERT_HWHEEL) && usage->code == REL_HWHEEL) { in lg_event()
748 input_event(field->hidinput->input, usage->type, usage->code, in lg_event()
749 -value); in lg_event()
752 if (drv_data->quirks & LG_FF4) { in lg_event()
764 if (drv_data->quirks & LG_FF4) in lg_raw_event()
772 struct usb_interface *iface = to_usb_interface(hdev->dev.parent); in lg_probe()
773 __u8 iface_num = iface->cur_altsetting->desc.bInterfaceNumber; in lg_probe()
779 if ((hdev->product == USB_DEVICE_ID_LOGITECH_G29_WHEEL) && in lg_probe()
782 return -ENODEV; in lg_probe()
788 return -ENOMEM; in lg_probe()
790 drv_data->quirks = id->driver_data; in lg_probe()
794 if (drv_data->quirks & LG_NOGET) in lg_probe()
795 hdev->quirks |= HID_QUIRK_NOGET; in lg_probe()
803 if (drv_data->quirks & (LG_FF | LG_FF2 | LG_FF3 | LG_FF4)) in lg_probe()
813 if (hdev->product == USB_DEVICE_ID_LOGITECH_WII_WHEEL) { in lg_probe()
820 ret = -ENOMEM; in lg_probe()
843 if (drv_data->quirks & LG_FF) in lg_probe()
845 else if (drv_data->quirks & LG_FF2) in lg_probe()
847 else if (drv_data->quirks & LG_FF3) in lg_probe()
849 else if (drv_data->quirks & LG_FF4) in lg_probe()
867 if (drv_data->quirks & LG_FF4) in lg_remove()