mirror of
https://github.com/adulau/aha.git
synced 2025-01-03 22:53:18 +00:00
Input: uvc - the button on the camera is KEY_CAMERA
Cameras should generate KEY_CAMERA, not BTN_0. Also call input_sync() on the device once the button has been pressed. Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
This commit is contained in:
parent
3c0340b774
commit
74ca11c205
1 changed files with 6 additions and 4 deletions
|
@ -47,8 +47,8 @@ static int uvc_input_init(struct uvc_device *dev)
|
|||
usb_to_input_id(udev, &input->id);
|
||||
input->dev.parent = &dev->intf->dev;
|
||||
|
||||
set_bit(EV_KEY, input->evbit);
|
||||
set_bit(BTN_0, input->keybit);
|
||||
__set_bit(EV_KEY, input->evbit);
|
||||
__set_bit(KEY_CAMERA, input->keybit);
|
||||
|
||||
if ((ret = input_register_device(input)) < 0)
|
||||
goto error;
|
||||
|
@ -71,8 +71,10 @@ static void uvc_input_cleanup(struct uvc_device *dev)
|
|||
static void uvc_input_report_key(struct uvc_device *dev, unsigned int code,
|
||||
int value)
|
||||
{
|
||||
if (dev->input)
|
||||
if (dev->input) {
|
||||
input_report_key(dev->input, code, value);
|
||||
input_sync(dev->input);
|
||||
}
|
||||
}
|
||||
|
||||
#else
|
||||
|
@ -97,7 +99,7 @@ static void uvc_event_streaming(struct uvc_device *dev, __u8 *data, int len)
|
|||
return;
|
||||
uvc_trace(UVC_TRACE_STATUS, "Button (intf %u) %s len %d\n",
|
||||
data[1], data[3] ? "pressed" : "released", len);
|
||||
uvc_input_report_key(dev, BTN_0, data[3]);
|
||||
uvc_input_report_key(dev, KEY_CAMERA, data[3]);
|
||||
} else {
|
||||
uvc_trace(UVC_TRACE_STATUS, "Stream %u error event %02x %02x "
|
||||
"len %d.\n", data[1], data[2], data[3], len);
|
||||
|
|
Loading…
Reference in a new issue