linux-input.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jon Smirl <jonsmirl@gmail.com>
To: Mauro Carvalho Chehab <mchehab@redhat.com>
Cc: Andy Walls <awalls@radix.net>,
	Dmitry Torokhov <dmitry.torokhov@gmail.com>,
	Jarod Wilson <jarod@wilsonet.com>,
	Krzysztof Halasa <khc@pm.waw.pl>,
	Christoph Bartelmus <lirc@bartelmus.de>,
	j@jannau.net, jarod@redhat.com, linux-input@vger.kernel.org,
	linux-kernel@vger.kernel.org, linux-media@vger.kernel.org,
	superm1@ubuntu.com
Subject: Re: [RFC] Should we create a raw input interface for IR's ? - Was: Re: [PATCH 1/3 v2] lirc core device driver infrastructure
Date: Tue, 8 Dec 2009 09:01:48 -0500	[thread overview]
Message-ID: <9e4733910912080601s1a814720qd909e47ac09f91fc@mail.gmail.com> (raw)
In-Reply-To: <4B1E5746.7010305@redhat.com>

On Tue, Dec 8, 2009 at 8:40 AM, Mauro Carvalho Chehab
<mchehab@redhat.com> wrote:
> Jon Smirl wrote:
>> On Tue, Dec 8, 2009 at 7:35 AM, Andy Walls <awalls@radix.net> wrote:
>>> On Mon, 2009-12-07 at 20:22 -0800, Dmitry Torokhov wrote:
>>>> On Mon, Dec 07, 2009 at 09:42:22PM -0500, Andy Walls wrote:
>>>>> So I'll whip up an RC-6 Mode 6A decoder for cx23885-input.c before the
>>>>> end of the month.
>>>>>
>>>>> I can setup the CX2388[58] hardware to look for both RC-5 and RC-6 with
>>>>> a common set of parameters, so I may be able to set up the decoders to
>>>>> handle decoding from two different remote types at once.  The HVR boards
>>>>> can ship with either type of remote AFAIK.
>>>>>
>>>>> I wonder if I can flip the keytables on the fly or if I have to create
>>>>> two different input devices?
>>>>>
>>>> Can you distinguish between the 2 remotes (not receivers)?
>>> Yes.  RC-6 and RC-5 are different enough to distinguish between the two.
>>> (Honestly I could pile on more protocols that have similar pulse time
>>> periods, but that's complexity for no good reason and I don't know of a
>>> vendor that bundles 3 types of remotes per TV card.)
>>>
>>>
>>>>  Like I said,
>>>> I think the preferred way is to represent every remote that can be
>>>> distinguished from each other as a separate input device.
>>> OK.  With RC-5, NEC, and RC-6 at least there is also an address or
>>> system byte or word to distingish different remotes.  However creating
>>> multiple input devices on the fly for detected remotes would be madness
>>> - especially with a decoding error in the address bits.
>>
>> I agree that creating devices on the fly has problems. Another
>> solution is to create one device for each map that is loaded. There
>> would be a couple built-in maps for bundled remotes - each would
>> create a device. Then the user could load more maps with each map
>> creating a device.
>
> No, please. We currently have already 89 different keymaps in-kernel. Creating
> 89 different interfaces per IR receiver is not useful at all.
>
> IMO, the interfaces should be created as the keymaps are associated
> to an specific IR receiver.

Each IR receiver device driver would have a built-in keymap for the
remote bundled with it. When you load the driver it will poke the
input system and install the map. Any additional keymaps would get
loaded from user space. You would load one keymap per input device.

You might have 89 maps in the kernel with each map being built into
the device driver for those 89 IR receivers. But you'll only own one
or two of those devices so only one or two of the 89 maps will load.
Building the map for the bundled receiver into the device driver is an
important part of achieving "just works".

I suspect we'll have a 1,000 maps defined after ten years, most of
these maps will be loaded from user space. But you'll only have two or
three loaded at any one time into your kernel. You need one map per
input device created. These maps are tiny, less than 1KB.

Having all of these maps is the price of allowing everyone to use any
more that they please. If you force the use of universal remotes most
of the maps can be eliminated.



>
>> Incoming scancodes are matched against all of the loaded maps and a
>> keycode event is generated if a match occurs.
>
> s/all of the loaded maps/all of the loaded maps per device/
>
> You may have more than one IR receiver on a given machine.
>
> IMO, we may have a mask filter matching also, associated with each keycode
> table, to minimize the keycode seek time. Something like:
>
>        if (scancode & scancode_mask)
>                check_scancode()
>
>> This illustrates why there should an EV_IR event which communicates
>> scancodes, without this event you can't see the scancodes that don't
>> match a map entry. A scancode would be first matched against the map,
>> then if there as no match an EV_IR event would be reported.
>
> There's nothing wrong on receiving a scancode that won't map. This can
> simply be an event that you don't want to handle (for example, an IR
> code sent to user's TV set).
>
> IMO, the better is to provide this scancode at KERN_DEBUG (if debug is
> enabled), and via an "observer" program.
>
> Cheers,
> Mauro.
>



-- 
Jon Smirl
jonsmirl@gmail.com
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

  reply	other threads:[~2009-12-08 14:01 UTC|newest]

Thread overview: 196+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-10-20 13:56 [PATCH 0/3 v2] linux infrared remote control drivers Jarod Wilson
2009-10-20 13:58 ` [PATCH 1/3 v2] lirc core device driver infrastructure Jarod Wilson
2009-11-23 11:47   ` Mauro Carvalho Chehab
2009-11-23 12:36     ` [RFC] Should we create a raw input interface for IR's ? - Was: " Mauro Carvalho Chehab
2009-11-23 14:14       ` Krzysztof Halasa
2009-11-23 15:20         ` Devin Heitmueller
2009-11-23 16:53           ` James Mastros
2009-11-23 20:09             ` Krzysztof Halasa
2009-11-23 17:05           ` James Mastros
2009-11-23 17:12             ` Devin Heitmueller
2009-11-23 17:50             ` Mauro Carvalho Chehab
2009-11-23 20:14               ` Krzysztof Halasa
2009-11-23 16:19         ` Stefan Richter
2009-11-23 17:39           ` Mauro Carvalho Chehab
2009-11-23 20:23             ` Krzysztof Halasa
2009-11-26 12:16               ` Mauro Carvalho Chehab
2009-11-26 18:18                 ` Krzysztof Halasa
2009-11-26 19:06                   ` Mauro Carvalho Chehab
2009-11-28  2:39                     ` Mauro Carvalho Chehab
2009-11-28  2:54                       ` Dmitry Torokhov
2009-11-28  9:43                         ` Mauro Carvalho Chehab
2009-11-28 10:31                           ` Stefan Richter
2009-11-28 10:43                           ` Arnd Bergmann
2009-11-23 17:29         ` Mauro Carvalho Chehab
2009-11-23 19:17           ` Jarod Wilson
2009-11-23 20:46             ` Krzysztof Halasa
2009-11-23 21:10             ` Christoph Bartelmus
2009-11-24  4:18               ` Jarod Wilson
2009-11-23 20:41           ` Krzysztof Halasa
2009-11-26 12:36             ` Mauro Carvalho Chehab
2009-11-26 13:22               ` Andy Walls
2009-11-26 18:24               ` Krzysztof Halasa
2009-11-26 19:08                 ` Mauro Carvalho Chehab
2009-11-26 20:33                   ` Krzysztof Halasa
2009-11-26 21:05                     ` Mauro Carvalho Chehab
2009-11-26 21:27                       ` Krzysztof Halasa
2009-11-26 22:07                         ` Mauro Carvalho Chehab
2009-11-27  0:19                           ` Krzysztof Halasa
2009-11-27  0:34                             ` Arnd Bergmann
2009-11-26 23:14                         ` Dmitry Torokhov
2009-11-26 23:10                       ` Dmitry Torokhov
2009-11-26 22:59                   ` Trent Piepho
2009-11-27  0:45                     ` Krzysztof Halasa
2009-11-27  2:50                     ` hermann pitton
2009-11-26 20:37               ` Christoph Bartelmus
2009-11-26 20:59                 ` Mauro Carvalho Chehab
2009-11-26 22:05                   ` Christoph Bartelmus
2009-11-26 22:14                     ` Mauro Carvalho Chehab
2009-11-26 23:09                   ` Trent Piepho
2009-11-23 17:37         ` Dmitry Torokhov
2009-11-23 20:51           ` Krzysztof Halasa
2009-11-26  5:21             ` Dmitry Torokhov
2009-11-26 17:46               ` Krzysztof Halasa
2009-11-26 17:50                 ` Mauro Carvalho Chehab
2009-11-26 21:39                 ` Dmitry Torokhov
2009-11-27  0:13                   ` Krzysztof Halasa
2009-11-27  0:26                     ` Dmitry Torokhov
2009-11-27  0:37                       ` Krzysztof Halasa
2009-11-24  4:37           ` Jarod Wilson
2009-11-24 23:32             ` IR raw input is not sutable for input system Maxim Levitsky
2009-11-25  3:32               ` Trent Piepho
2009-11-25 13:28                 ` Maxim Levitsky
2009-11-25 21:32                   ` Sean Young
2009-11-25 22:30                     ` Krzysztof Halasa
2009-11-25 22:52                       ` Maxim Levitsky
2009-11-26 18:36                         ` Krzysztof Halasa
2009-11-25 17:18                 ` Krzysztof Halasa
2009-11-26  5:41                 ` Dmitry Torokhov
2009-11-25 17:12               ` Krzysztof Halasa
2009-11-26  5:38               ` Dmitry Torokhov
2009-11-26  5:31             ` [RFC] Should we create a raw input interface for IR's ? - Was: Re: [PATCH 1/3 v2] lirc core device driver infrastructure Dmitry Torokhov
2009-11-26  6:16               ` Jarod Wilson
2009-11-26 16:07                 ` Mauro Carvalho Chehab
2009-11-26 23:23                 ` Dmitry Torokhov
2009-11-27  2:28                   ` Jarod Wilson
2009-11-27  3:08                     ` Jon Smirl
2009-11-27  4:33                       ` Dmitry Torokhov
2009-11-27  5:06                         ` Jon Smirl
2009-11-27  7:33                           ` Christoph Bartelmus
2009-11-27 15:33                             ` Jon Smirl
2009-11-30  5:01                           ` Jarod Wilson
2009-11-27  4:30                     ` Dmitry Torokhov
2009-11-23 21:11         ` Christoph Bartelmus
2009-11-23 21:46           ` Krzysztof Halasa
2009-11-23 21:54             ` Devin Heitmueller
2009-11-23 22:31               ` Krzysztof Halasa
2009-11-23 22:37                 ` Devin Heitmueller
2009-11-23 22:53                   ` Krzysztof Halasa
2009-12-12 22:04                 ` david
2009-11-24  1:14             ` Andy Walls
2009-11-26 13:25               ` Mauro Carvalho Chehab
2009-11-26 13:48                 ` Andy Walls
2009-11-26 16:35                   ` Mauro Carvalho Chehab
2009-11-24  0:53           ` Andy Walls
2009-11-24 13:32             ` Jarod Wilson
2009-11-25 16:53               ` Krzysztof Halasa
2009-11-25 17:20                 ` Christoph Bartelmus
2009-11-25 17:40                   ` Krzysztof Halasa
2009-11-25 18:07                     ` Jarod Wilson
2009-11-25 18:20                       ` Devin Heitmueller
2009-11-25 18:43                         ` [RFC] Should we create a raw input interface for IR's ? Jarod Wilson
2009-11-25 20:49                           ` Krzysztof Halasa
2009-11-26  5:53                             ` Dmitry Torokhov
2009-11-26 18:40                               ` Krzysztof Halasa
2009-11-26 23:28                                 ` Dmitry Torokhov
2009-11-27  0:28                                   ` Krzysztof Halasa
2009-11-25 20:47                         ` [RFC] Should we create a raw input interface for IR's ? - Was: Re: [PATCH 1/3 v2] lirc core device driver infrastructure Krzysztof Halasa
2009-11-25 21:58                         ` Gerd Hoffmann
2009-11-25 22:31                           ` Christoph Bartelmus
2009-11-25 23:22                             ` Gerd Hoffmann
2009-11-26  7:28                               ` Christoph Bartelmus
2009-11-26  8:39                                 ` Gerd Hoffmann
2009-11-26 16:41                               ` Krzysztof Halasa
2009-11-26  4:26                           ` Andy Walls
2009-11-26 14:45                           ` Mauro Carvalho Chehab
2009-11-26 15:48                             ` Jon Smirl
2009-11-26 16:03                               ` Jon Smirl
2009-11-26 23:45                           ` Dmitry Torokhov
2009-11-26  3:50                         ` Andy Walls
2009-11-25 20:44                       ` Krzysztof Halasa
2009-11-26  3:31                       ` Andy Walls
2009-11-26  4:00                         ` hermann pitton
2009-11-26  5:41                         ` Jarod Wilson
2009-11-26 14:28                       ` Mauro Carvalho Chehab
2009-11-25 17:44                 ` Jarod Wilson
2009-11-25 19:27                   ` Krzysztof Halasa
2009-11-26  4:46                     ` Jarod Wilson
2009-11-26  8:01                   ` Christoph Bartelmus
2009-11-26  8:08                     ` Dmitry Torokhov
2009-11-26 16:25                     ` Mauro Carvalho Chehab
2009-11-26 18:13                       ` Krzysztof Halasa
2009-11-26 18:55                         ` Mauro Carvalho Chehab
2009-11-26 20:28                           ` Krzysztof Halasa
2009-11-26 21:28                             ` Mauro Carvalho Chehab
2009-11-27  7:45                       ` Christoph Bartelmus
2009-11-26 13:54               ` Mauro Carvalho Chehab
2009-11-26 17:32                 ` Jarod Wilson
2009-11-26 17:49                   ` Mauro Carvalho Chehab
2009-11-26 23:50                     ` Dmitry Torokhov
2009-11-27  1:45                       ` Mauro Carvalho Chehab
2009-11-25 16:45             ` Krzysztof Halasa
2009-11-26 14:05               ` Mauro Carvalho Chehab
2009-11-26 19:43                 ` Andy Walls
2009-12-07 18:19                   ` Jarod Wilson
2009-12-07 23:02                     ` Mauro Carvalho Chehab
2009-12-08  2:42                     ` Andy Walls
2009-12-08  4:22                       ` Dmitry Torokhov
2009-12-08 11:44                         ` Mauro Carvalho Chehab
2009-12-08 14:13                           ` Krzysztof Halasa
2009-12-08 14:25                             ` Mauro Carvalho Chehab
2009-12-08 17:06                           ` Dmitry Torokhov
2009-12-08 12:35                         ` Andy Walls
2009-12-08 12:52                           ` Jon Smirl
2009-12-08 13:40                             ` Mauro Carvalho Chehab
2009-12-08 14:01                               ` Jon Smirl [this message]
2009-12-08 14:16                                 ` Mauro Carvalho Chehab
2009-12-08 14:31                                   ` Jon Smirl
2009-12-08 14:40                                     ` Mauro Carvalho Chehab
2009-12-08 16:19                                       ` Jon Smirl
2009-12-08 23:30                                         ` Krzysztof Halasa
2009-12-09  0:04                                           ` Mauro Carvalho Chehab
2009-12-08 17:16                             ` Dmitry Torokhov
2009-12-08 13:30                           ` Mauro Carvalho Chehab
2009-12-08 13:47                             ` Jon Smirl
2009-12-08 13:59                               ` Mauro Carvalho Chehab
2009-12-08 14:19                                 ` Jon Smirl
2009-12-08 14:34                                   ` Mauro Carvalho Chehab
2009-12-08 15:56                                     ` Jon Smirl
2009-12-08 16:27                                       ` Mauro Carvalho Chehab
2009-12-08 18:15                                         ` Jon Smirl
2009-12-09  0:28                                           ` Mauro Carvalho Chehab
2009-12-08 16:22                                     ` Ferenc Wagner
2009-12-08 11:32                       ` Mauro Carvalho Chehab
2009-12-08 12:46                         ` Andy Walls
2009-12-08 17:19                           ` Dmitry Torokhov
2009-12-09  0:07                             ` Mauro Carvalho Chehab
2009-11-26  5:49             ` Dmitry Torokhov
2009-11-26  6:23               ` Jarod Wilson
2009-11-26  9:14                 ` Gerd Hoffmann
2009-11-26 17:15                   ` Jarod Wilson
2009-11-26 12:28                 ` Andy Walls
2009-11-26 13:17             ` Mauro Carvalho Chehab
2009-11-23 22:25       ` Krzysztof Halasa
2009-11-24 23:23       ` Matthieu CASTET
2009-10-20 14:00 ` [PATCH 2/3 v2] lirc driver for Windows MCE IR transceivers Jarod Wilson
2009-11-13 20:43   ` Stefan Lippers-Hollmann
2009-11-15  6:55     ` Jarod Wilson
2009-11-23 12:46   ` Mauro Carvalho Chehab
2009-10-20 14:00 ` [PATCH 3/3 v2] lirc driver for SoundGraph iMON IR receivers and displays Jarod Wilson
2009-11-23 12:58   ` Mauro Carvalho Chehab
2009-11-24  4:31     ` Jarod Wilson
2009-11-04 22:56 ` [PATCH 0/3 v2] linux infrared remote control drivers Jarod Wilson
2009-11-05  0:07   ` Andy Walls
2009-11-05  3:28     ` Jarod Wilson
2009-11-05  0:31   ` Mauro Carvalho Chehab
2009-11-05  3:41     ` Jarod Wilson

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=9e4733910912080601s1a814720qd909e47ac09f91fc@mail.gmail.com \
    --to=jonsmirl@gmail.com \
    --cc=awalls@radix.net \
    --cc=dmitry.torokhov@gmail.com \
    --cc=j@jannau.net \
    --cc=jarod@redhat.com \
    --cc=jarod@wilsonet.com \
    --cc=khc@pm.waw.pl \
    --cc=linux-input@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=lirc@bartelmus.de \
    --cc=mchehab@redhat.com \
    --cc=superm1@ubuntu.com \
    /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;
as well as URLs for NNTP newsgroup(s).