Lines Matching +full:input +full:- +full:value

1 // SPDX-License-Identifier: GPL-2.0-or-later
10 * - tested with a Tesun USB-703 game controller.
18 #include <linux/input.h>
23 #include "hid-ids.h"
38 strong = effect->u.rumble.strong_magnitude; in drff_play()
39 weak = effect->u.rumble.weak_magnitude; in drff_play()
48 this value is set, it causes the strong rumble to function in drff_play()
53 drff->report->field[0]->value[0] = 0x51; in drff_play()
54 drff->report->field[0]->value[1] = 0x00; in drff_play()
55 drff->report->field[0]->value[2] = weak; in drff_play()
56 drff->report->field[0]->value[4] = strong; in drff_play()
57 hid_hw_request(hid, drff->report, HID_REQ_SET_REPORT); in drff_play()
59 drff->report->field[0]->value[0] = 0xfa; in drff_play()
60 drff->report->field[0]->value[1] = 0xfe; in drff_play()
62 drff->report->field[0]->value[0] = 0xf3; in drff_play()
63 drff->report->field[0]->value[1] = 0x00; in drff_play()
66 drff->report->field[0]->value[2] = 0x00; in drff_play()
67 drff->report->field[0]->value[4] = 0x00; in drff_play()
69 hid_hw_request(hid, drff->report, HID_REQ_SET_REPORT); in drff_play()
80 &hid->report_enum[HID_OUTPUT_REPORT].report_list; in drff_init()
84 if (list_empty(&hid->inputs)) { in drff_init()
86 return -ENODEV; in drff_init()
88 hidinput = list_first_entry(&hid->inputs, struct hid_input, list); in drff_init()
89 dev = hidinput->input; in drff_init()
93 return -ENODEV; in drff_init()
97 if (report->maxfield < 1) { in drff_init()
99 return -ENODEV; in drff_init()
102 if (report->field[0]->report_count < 7) { in drff_init()
104 return -ENODEV; in drff_init()
109 return -ENOMEM; in drff_init()
111 set_bit(FF_RUMBLE, dev->ffbit); in drff_init()
119 drff->report = report; in drff_init()
120 drff->report->field[0]->value[0] = 0xf3; in drff_init()
121 drff->report->field[0]->value[1] = 0x00; in drff_init()
122 drff->report->field[0]->value[2] = 0x00; in drff_init()
123 drff->report->field[0]->value[3] = 0x00; in drff_init()
124 drff->report->field[0]->value[4] = 0x00; in drff_init()
125 drff->report->field[0]->value[5] = 0x00; in drff_init()
126 drff->report->field[0]->value[6] = 0x00; in drff_init()
127 hid_hw_request(hid, drff->report, HID_REQ_SET_REPORT); in drff_init()
157 * Usage (X), ; X (30h, dynamic value)
158 * Usage (X), ; X (30h, dynamic value)
159 * Usage (X), ; X (30h, dynamic value)
160 * Usage (X), ; X (30h, dynamic value)
161 * Usage (Y), ; Y (31h, dynamic value)
162 * Input (Variable),
169 * Input (Variable, Null State),
178 * Input (Variable),
179 * Usage Page (FF00h), ; FF00h, vendor-defined
185 * Input (Variable),
210 0x81, 0x01, /* Input (Constant), */
215 0x81, 0x02, /* Input (Variable), */
218 0x81, 0x01, /* Input (Constant), */
224 0x81, 0x02, /* Input (Variable), */
226 0x81, 0x01, /* Input (Constant), */
234 switch (hdev->product) { in dr_report_fixup()
252 switch (usage->hid) { in dr_input_mapping()
254 * revert to the old hid-input behavior where axes in dr_input_mapping()
255 * can be randomly assigned when hid->usage is reused. in dr_input_mapping()
259 if (field->flags & HID_MAIN_ITEM_RELATIVE) in dr_input_mapping()
260 map_rel(usage->hid & 0xf); in dr_input_mapping()
262 map_abs(usage->hid & 0xf); in dr_input_mapping()
273 dev_dbg(&hdev->dev, "DragonRise Inc. HID hardware probe..."); in dr_probe()
287 switch (hdev->product) { in dr_probe()
291 dev_err(&hdev->dev, "force feedback init failed\n"); in dr_probe()