kernel_optimize_test/drivers/media/rc
Jarod Wilson f5f2cc646a [media] rc-core support for Microsoft IR keyboard/mouse
This is a custom IR protocol decoder, for the RC-6-ish protocol used by
the Microsoft Remote Keyboard, apparently developed internally at
Microsoft, and officially dubbed MCIR-2, per their March 2011 remote and
transceiver requirements and specifications document, which also touches
on this IR keyboard/mouse device.

Its a standard keyboard with embedded thumb stick mouse pointer and
mouse buttons, along with a number of media keys. The media keys are
standard RC-6, identical to the signals from the stock MCE remotes, and
will be handled as such. The keyboard and mouse signals will be decoded
and delivered to the system by an input device registered specifically
by this driver.

Successfully tested with multiple mceusb-driven transceivers, as well as
with fintek-cir and redrat3 hardware. Essentially, any raw IR hardware
with enough sampling resolution should be able to use this decoder,
nothing about it is at all receiver-hardware-specific.

This work is inspired by lirc_mod_mce:

The documentation there and code aided in understanding and decoding the
protocol, but the bulk of the code is actually borrowed more from the
existing in-kernel decoders than anything. I did recycle the keyboard
keycode table, a few defines, and some of the keyboard and mouse data
parsing bits from lirc_mod_mce though.

Special thanks to James Meyer for providing the hardware, and being
patient with me as I took forever to get around to writing this.

callback routine to ensure we don't get any stuck keys, and used
symbolic names for the keytable. Also cc'ing Florian this time, who I
believe is the original mod-mce author...

CC: Florian Demski <fdemski@users.sourceforge.net>
Signed-off-by: Jarod Wilson <jarod@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-07-27 17:55:59 -03:00
..
keymaps [media] rc-rc6-mce: minor keymap updates 2011-07-27 17:55:56 -03:00
ene_ir.c [media] rc-core: lirc use unsigned int 2011-07-27 17:52:59 -03:00
ene_ir.h [media] rc-core: lirc use unsigned int 2011-07-27 17:52:59 -03:00
fintek-cir.c [media] fintek-cir: make suspend with active IR more reliable 2011-06-11 09:03:35 -03:00
fintek-cir.h [media] fintek-cir: new driver for Fintek LPC SuperIO CIR function 2011-05-25 20:07:58 -03:00
imon.c [media] imon: allow either proto on unknown 0xffdc 2011-07-01 16:34:01 -03:00
ir-jvc-decoder.c [media] rc: Rename remote controller type to rc_type instead of ir_type 2010-12-29 08:16:50 -02:00
ir-lirc-codec.c [media] rc-core: lirc use unsigned int 2011-07-27 17:52:59 -03:00
ir-mce_kbd-decoder.c [media] rc-core support for Microsoft IR keyboard/mouse 2011-07-27 17:55:59 -03:00
ir-nec-decoder.c [media] rc: interim support for 32-bit NEC-ish scancodes 2011-03-22 19:24:23 -03:00
ir-raw.c [media] rc-core support for Microsoft IR keyboard/mouse 2011-07-27 17:55:59 -03:00
ir-rc5-decoder.c [media] rc: Rename remote controller type to rc_type instead of ir_type 2010-12-29 08:16:50 -02:00
ir-rc5-sz-decoder.c [media] rc: Rename remote controller type to rc_type instead of ir_type 2010-12-29 08:16:50 -02:00
ir-rc6-decoder.c [media] rc: Rename remote controller type to rc_type instead of ir_type 2010-12-29 08:16:50 -02:00
ir-sony-decoder.c [media] rc: Rename remote controller type to rc_type instead of ir_type 2010-12-29 08:16:50 -02:00
ite-cir.c [media] rc-core: lirc use unsigned int 2011-07-27 17:52:59 -03:00
ite-cir.h [media] ite-cir: 8709 needs to use pnp resource 2 2011-07-01 16:31:38 -03:00
Kconfig [media] rc-core support for Microsoft IR keyboard/mouse 2011-07-27 17:55:59 -03:00
lirc_dev.c [media] lirc_dev: store cdev in irctl, up maxdevs 2011-06-11 09:03:20 -03:00
Makefile [media] rc-core support for Microsoft IR keyboard/mouse 2011-07-27 17:55:59 -03:00
mceusb.c [media] rc-core: lirc use unsigned int 2011-07-27 17:52:59 -03:00
nuvoton-cir.c [media] rc-core: lirc use unsigned int 2011-07-27 17:52:59 -03:00
nuvoton-cir.h [media] nuvoton-cir: in_use isn't actually in use, remove it 2011-06-11 09:03:46 -03:00
rc-core-priv.h [media] rc-core support for Microsoft IR keyboard/mouse 2011-07-27 17:55:59 -03:00
rc-loopback.c [media] rc-core: lirc use unsigned int 2011-07-27 17:52:59 -03:00
rc-main.c [media] rc-core support for Microsoft IR keyboard/mouse 2011-07-27 17:55:59 -03:00
redrat3.c [media] rc/redrat3: dereferencing null pointer 2011-07-27 17:52:24 -03:00
streamzap.c [media] rc/streamzap: fix reporting response times 2011-01-31 12:22:13 -02:00
winbond-cir.c [media] rc-core: lirc use unsigned int 2011-07-27 17:52:59 -03:00