HID: input: call input_sync() when automatically releasing a key
We need to emit EV_SYN/SYN_REPORT between key press and release, otherwise userspace is allowed to "swallow" the event. [jkosina@suse.com: Dmitry says that he's observing this behavior with Plantronics headset] Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> Signed-off-by: Jiri Kosina <jkosina@suse.com>
This commit is contained in:
parent
67e123ff0e
commit
3eb4351af4
|
@ -1163,8 +1163,11 @@ void hidinput_hid_event(struct hid_device *hid, struct hid_field *field, struct
|
||||||
|
|
||||||
input_event(input, usage->type, usage->code, value);
|
input_event(input, usage->type, usage->code, value);
|
||||||
|
|
||||||
if ((field->flags & HID_MAIN_ITEM_RELATIVE) && (usage->type == EV_KEY))
|
if ((field->flags & HID_MAIN_ITEM_RELATIVE) &&
|
||||||
|
usage->type == EV_KEY && value) {
|
||||||
|
input_sync(input);
|
||||||
input_event(input, usage->type, usage->code, 0);
|
input_event(input, usage->type, usage->code, 0);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void hidinput_report_event(struct hid_device *hid, struct hid_report *report)
|
void hidinput_report_event(struct hid_device *hid, struct hid_report *report)
|
||||||
|
|
Loading…
Reference in New Issue