[media] dib0700: Fix IR keycode handling
Fixes Fedora 14 bug: https://bugzilla.redhat.com/show_bug.cgi?id=667157 There are a few bugs at the code that generates the scancode at dib0700: - RC keycode is wrong (it outputs a 24 bits keycode); - NEC extended outputs a keycode that have endiannes issues; - keycode tables for NEC extended remotes need to be updated. The last issue need to be done as we get reports, as we don't have the complete NEC-extended keycodes at the dibcom table. This patch fixes the first two issues. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
parent
312d63e4b0
commit
59aa346009
|
@ -514,8 +514,8 @@ struct dib0700_rc_response {
|
||||||
union {
|
union {
|
||||||
u16 system16;
|
u16 system16;
|
||||||
struct {
|
struct {
|
||||||
u8 system;
|
|
||||||
u8 not_system;
|
u8 not_system;
|
||||||
|
u8 system;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
u8 data;
|
u8 data;
|
||||||
|
@ -575,7 +575,7 @@ static void dib0700_rc_urb_completion(struct urb *purb)
|
||||||
if ((poll_reply->system ^ poll_reply->not_system) != 0xff) {
|
if ((poll_reply->system ^ poll_reply->not_system) != 0xff) {
|
||||||
deb_data("NEC extended protocol\n");
|
deb_data("NEC extended protocol\n");
|
||||||
/* NEC extended code - 24 bits */
|
/* NEC extended code - 24 bits */
|
||||||
keycode = poll_reply->system16 << 8 | poll_reply->data;
|
keycode = be16_to_cpu(poll_reply->system16) << 8 | poll_reply->data;
|
||||||
} else {
|
} else {
|
||||||
deb_data("NEC normal protocol\n");
|
deb_data("NEC normal protocol\n");
|
||||||
/* normal NEC code - 16 bits */
|
/* normal NEC code - 16 bits */
|
||||||
|
@ -587,7 +587,7 @@ static void dib0700_rc_urb_completion(struct urb *purb)
|
||||||
deb_data("RC5 protocol\n");
|
deb_data("RC5 protocol\n");
|
||||||
/* RC5 Protocol */
|
/* RC5 Protocol */
|
||||||
toggle = poll_reply->report_id;
|
toggle = poll_reply->report_id;
|
||||||
keycode = poll_reply->system16 << 8 | poll_reply->data;
|
keycode = poll_reply->system << 8 | poll_reply->data;
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue