Re: [RFC PATCH 1/4] Changes to core input subsystem to allow send and receive of IR messages. Encode and decode state machines are provided for common IR porotocols such as Sony, JVC, NEC, Philips, etc.

From: Jon Smirl
Date: Thu May 28 2009 - 21:15:19 EST


On Thu, May 28, 2009 at 7:23 PM, Maxim Levitsky <maximlevitsky@xxxxxxxxx> wrote:
> On Mon, 2008-10-06 at 15:43 -0400, Jon Smirl wrote:
>> Received IR messages generate event in the input queue.
>> IR messages are sent using an input IOCTL.
>
> Another question.
>
> So input device sends its events as a special event type?
> This would mean that none of current drivers will be able to pick these
> events.

There is a later version of this patch set that uses configfs to map
IR events into keystrokes on the /dev/input device. I have later
additions to the code that haven't been posted. They fix issues with
calling configfs at interrupt time.

-------------------------------------------

I posted V4 of my in-kernel IR system to LKML. It supports mapping
from IR events to key strokes now.
http://lkml.org/lkml/2008/11/5/233

To do the mapping it uses configfs (part of the kernel). The main
directory is remotes. You use a shell script to build mappings between
the IR event and key stroke.

mkdir /config/remotes/sony
-- this creates a new evdev device
mkdir remotes/sony/one
echo 7 >remotes/sony/one/procotol
echo 264 >remotes/sony/one/command
echo 2 >remotes/sony/one/keycode

This transforms a button push of 1 on my remote into a key stroke for KEY_1

* configfs root
* --remotes
* ----specific remote
* ------keymap
* --------protocol
* --------device
* --------command
* --------keycode
* ------repeat keymaps
* --------....
* ----another remote
* ------more keymaps

You can map the 1 button from multiple remote to KEY_1 if you want. Or
you can use a single remote to create multiple virtual keyboards.

I'm always looking for help with this code. I've implemented support
for my embedded GPIO based receiver and Microsoft MCEUSB. I'd really
like to see IR added to existing Linux input family of keyboards,
mice, joystick, tablet, touchscreen and gameport.


>
>
> I think that input device should have better configuration support, like
> generic way to set a keymap (raw->keycode) for a device, and the IR
> timing can be set too.
> And send normal keypreses.
>
> Regards,
>        Maxim Levitsky
>
>



--
Jon Smirl
jonsmirl@xxxxxxxxx
--
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/