Sean Young figured out that the Xbox Remote sends 24 bits, the first 12 bits are repeated
and inverted so only 12 bits are used. Turns out this is a modified nec protocol.
For increased accuracy and compliance with the upstream, replace the historic 8 bit report
values with the proper 12 bit values.
Signed-off-by: Benjamin Valentin <benpicco@googlemail.com>
Signed-off-by: Sean Young <sean@mess.org>
Backport of proposed patch https://patchwork.linuxtv.org/patch/49409/
Setting the IR timeout on the Topseed mceusb receiver 1784:0011
causes strange behaviour. Disable use of MCE_CMD_SETIRTIMEOUT
on that device and use a software implementation instead.
Signed-off-by: Matthias Reichl <hias@horus.com>
See https://www.spinics.net/lists/linux-media/msg131804.htmlhttps://patchwork.linuxtv.org/patch/48681/https://patchwork.linuxtv.org/patch/48680/https://patchwork.linuxtv.org/patch/48782/
The current IR decoding is much too slow. Many IR protocols rely on
a trailing space for decoding (e.g. rc-6 needs to know when the bits
end). The trailing space is generated by the IR timeout, and if this
is longer than required, buttons can feel slow to respond.
The other issue is the keyup timer. IR has no concept of a keyup message,
this is implied by the absence of IR. So, minimising the timeout for
this makes buttons less "sticky"; the are released much quicker.
With these patches in place, using IR with the builtin decoders is much
improved and feels very snappy.
Signed-off-by: Matthias Reichl <hias@horus.com>