From: "Jon Smirl" <jonsmirl@gmail.com>
To: "Jarod Wilson" <jarod@wilsonet.com>,
"Dmitry Torokhov" <dtor_core@ameritech.net>
Cc: "Pavel Machek" <pavel@suse.cz>,
lirc-list@lists.sourceforge.net, linux-kernel@vger.kernel.org
Subject: Re: [RFC PATCH 0/4] V3 - Implementation of IR support using the input subsystem
Date: Fri, 10 Oct 2008 10:08:19 -0400 [thread overview]
Message-ID: <9e4733910810100708sa321030g70eab786ac3fe176@mail.gmail.com> (raw)
In-Reply-To: <1223646159.15204.12.camel@xavier.wilsonet.com>
On Fri, Oct 10, 2008 at 9:42 AM, Jarod Wilson <jarod@wilsonet.com> wrote:
> On Fri, 2008-10-10 at 01:04 -0400, Jon Smirl wrote:
>> On Fri, Oct 10, 2008 at 12:11 AM, Jarod Wilson <jarod@wilsonet.com> wrote:
>> > On Thu, 2008-10-09 at 14:03 +0200, Pavel Machek wrote:
> [...]
>> >> > How should multiple remotes be handled? Split them out into
>> >> > individual input devices, or group them onto a single IR device? I
>> >> > can implement either.
>> >>
>> >> Individual input devices, I'd say... so that app can only listen for
>> >> 'its' remote.
>> >
>> > I don't quite get it. How can we tell there are multiple remotes to set
>> > up multiple input devices when the system comes up? All we can know
>> > about at driver init time is the receiver(s), no? Or would this be keyed
>> > off a config file? Or ______ ?
>>
>>
>> We could create a sysfs attribut named ir_config. For each config file
>> you copy to it it creates a new input device. The config files have
>> lists of map this protocol, device, command tuple to this key. When a
>> remote button is pressed the raw codes are fed to the in-kernel
>> protocol engine. That engine turns the raw codes into tuples. Tuples
>> are matched against the configs that have been loaded until a hit is
>> found. If no hit they get sent out the catch-all device.
>
> Okay. I presume the catch-all device would simply note that it saw
> something, and not actually take any action beyond that.
The catch-all device is an device in /dev/input. It gets the input
tuples in protocol/device/command form sent to it. I should probably
send all IR input to this device, and flag the events that were
translated and sent to another input device.
>
> Also, a minor clarification: If its config file based, then its not so
> much one input device per remote, its one input device per config file,
> so one could set up two separate config files that are actually commands
> from the same remote, but have them listened to by different apps, or
> one could group together commands from multiple remotes in a single
> config so that multiple remotes would all control the same thing. Sounds
> good to me, provides for a reasonable amount of flexibility.
That is how it works.
> Of course, this suggests a receiver wouldn't be able to do anything
> until the user provided a key mapping table of some sort. Would it make
> sense to provide a default IR-to-key mapping for each receiver type? A
> bit difficult to provide a sane default for something like a home-brew
> serial IR receiver, but you could certainly provide sane defaults for
> things like mceusb and imon (i.e., mappings for the remotes typically
> bundled with those receivers).
Receivers can process the raw tuples using the catch-all device.
You could write a little app like udev that listens to the catch-all
device and then search the config files for untranslated tuples. When
you match on an untranslated tuple, load that config file into the
kernel.
I'm taking the kids on their first trip to Disneyworld next week so I
won't be able to work on this for a while.
>
>> Most remotes send out unique codes, they have to or they would turn on
>> unintended devices.
>
> Yep, that's actually where the root of my concern was. I have at least a
> half dozen different remote-controlled devices in my AV cabinet near my
> myth box, and I obviously don't want anything but the codes I've set up
> for my myth box acted upon on the myth box. :)
>
>
> --
> Jarod Wilson
> jarod@wilsonet.com
>
>
--
Jon Smirl
jonsmirl@gmail.com
next prev parent reply other threads:[~2008-10-10 14:08 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-10-06 19:43 Jon Smirl
2008-10-06 19:43 ` [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 Jon Smirl
2009-05-28 23:23 ` Maxim Levitsky
2009-05-29 1:15 ` Jon Smirl
2008-10-06 19:43 ` [RFC PATCH 2/4] GPT driver for in-kernel IR support Jon Smirl
2008-10-06 19:43 ` [RFC PATCH 3/4] Example of PowerPC device tree support for GPT based IR Jon Smirl
2008-10-06 19:43 ` [RFC PATCH 4/4] Microsoft mceusb2 driver for in-kernel IR subsystem Jon Smirl
2008-10-06 19:46 ` [RFC PATCH 0/4] V3 - Implementation of IR support using the input subsystem Jon Smirl
2008-10-09 12:03 ` Pavel Machek
2008-10-10 4:11 ` Jarod Wilson
2008-10-10 5:04 ` Jon Smirl
2008-10-10 13:42 ` Jarod Wilson
2008-10-10 14:08 ` Jon Smirl [this message]
2008-10-10 21:10 ` Jarod Wilson
2009-05-28 15:06 ` Maxim Levitsky
2009-05-28 15:58 ` Maxim Levitsky
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=9e4733910810100708sa321030g70eab786ac3fe176@mail.gmail.com \
--to=jonsmirl@gmail.com \
--cc=dtor_core@ameritech.net \
--cc=jarod@wilsonet.com \
--cc=linux-kernel@vger.kernel.org \
--cc=lirc-list@lists.sourceforge.net \
--cc=pavel@suse.cz \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®