[PATCH] [uvc] The button on the camera is KEY_CAMERA

From: Bastien Nocera
Date: Tue Dec 02 2008 - 14:08:59 EST


Not BTN_0. Also call input_sync() on the device once the button
has been pressed.
---
drivers/media/video/uvc/uvc_status.c | 8 +++++---
1 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/drivers/media/video/uvc/uvc_status.c b/drivers/media/video/uvc/uvc_status.c
index 5d60b26..ca93245 100644
--- a/drivers/media/video/uvc/uvc_status.c
+++ b/drivers/media/video/uvc/uvc_status.c
@@ -48,7 +48,7 @@ static int uvc_input_init(struct uvc_device *dev)
input->dev.parent = &dev->intf->dev;

set_bit(EV_KEY, input->evbit);
- set_bit(BTN_0, input->keybit);
+ 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);
--
1.6.0.4


--=-bPYNWSZjO6lToD5AODxx--

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/