linux-input.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [RFC v2] Another approach to IR
@ 2009-12-01 15:08 Jon Smirl
  2009-12-01 15:47 ` Maxim Levitsky
  0 siblings, 1 reply; 72+ messages in thread
From: Jon Smirl @ 2009-12-01 15:08 UTC (permalink / raw)
  To: awalls, dmitry.torokhov, j, jarod, jarod, khc, linux-input,
	linux-kernel, linux-media@

While reading all of these IR threads another way of handling IR
occurred to me that pretty much eliminates the need for LIRC and
configuration files in default cases. The best way to make everything
"just work" is to eliminate it.

The first observation is that the IR profile of various devices are
well known. Most devices profiles are in the published One-for-All
database. These device profiles consist of vendor/device/command
triplets. There is one triplet for each command like play, pause, 1,
2, 3, power, etc.

The second observation is that universal remotes know how to generate
commands for all of the common devices.

Let's define evdev messages for IR than contain vendor/device/command
triplets. I already posted code for doing that in my original patch
set. These messages are generated from in-kernel code.

Now add a small amount of code to MythTV, etc to act on these evdev
messages. Default MythTV, etc to respond to the IR commands for a
common DVR device. Program your universal remote to send the commands
for this device. You're done. Everything will "just work" - no LIRC,
no irrecord, no config files, no command mapping, etc.

Of course there are details involved in making this work. MythTV will
have to have a config option to allow it to emulate several different
DVR devices so that you can pick one that you don't own. It should
also have choices for emulating the common devices defined for the
remotes included with various Linux video board like the Hauppauge
remote.

For apps that haven't been modified you will have to run a daemon
which will capture vendor/device/command evdev events and convert them
into keystroke commands than work the menus. You'll need a config file
for this and have to write scripts. Instead I'd just go modify the app
the respond to the IR events, it is easy to do.

Long run, we define a MythTV IR profile, mplayer profile, etc and get
these into the IR database for universal remotes. Now MythTV can stop
emulating another vendor's device.

For the default MythTV case no external support will need to be
installed if the protocol decode engines are in the kernel. The raw
data will come in, run through the engines, and pop out as evdev
messages with a vendor/device/command triplet. Devices that decode in
hardware will just send vendor/device/command triplets.

-- 
Jon Smirl
jonsmirl@gmail.com

^ permalink raw reply	[flat|nested] 72+ messages in thread
* Re: [RFC v2] Another approach to IR
@ 2009-12-03 19:47 Guus Sliepen
  2009-12-03 21:53 ` Jarod Wilson
  0 siblings, 1 reply; 72+ messages in thread
From: Guus Sliepen @ 2009-12-03 19:47 UTC (permalink / raw)
  To: Jon Smirl; +Cc: linux-input

[-- Attachment #1: Type: text/plain, Size: 893 bytes --]

Hello,

Some years ago I wrote a tool called "inputlirc" that translates evdev events
into LIRC events, to allow remotes that then already used the input system to
work with LIRC.  At the time, lircd itself could do this, but you had to
"train" it to "decode" evdev bitstreams. Instead, inputlirc uses a fixed
mapping between evdev names and LIRC key names, so you don't need to train or
configure anything.

It seems that if you want to merge LIRC into the kernel, and have it generate
standard events, then inputlirc can be used to provide backwards compatibility
to those applications that only work with LIRC, or that rely on LIRC specific
behaviour (such as mode switching).

Debian package:  http://packages.debian.org/inputlirc
Git repository:  http://git.sliepen.org/inputlirc/

-- 
Met vriendelijke groet / with kind regards,
      Guus Sliepen <guus@sliepen.org>

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply	[flat|nested] 72+ messages in thread

end of thread, other threads:[~2009-12-05 11:23 UTC | newest]

Thread overview: 72+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-12-01 15:08 [RFC v2] Another approach to IR Jon Smirl
2009-12-01 15:47 ` Maxim Levitsky
2009-12-01 16:16   ` Jon Smirl
2009-12-01 17:03     ` Mauro Carvalho Chehab
2009-12-01 17:09       ` Devin Heitmueller
2009-12-01 17:29         ` Mauro Carvalho Chehab
2009-12-01 17:54           ` Dmitry Torokhov
2009-12-01 19:00             ` Mauro Carvalho Chehab
2009-12-01 19:27               ` Jon Smirl
2009-12-01 20:11               ` Dmitry Torokhov
2009-12-01 21:05                 ` Mauro Carvalho Chehab
2009-12-02  9:38                   ` Dmitry Torokhov
2009-12-02 12:44                     ` Mauro Carvalho Chehab
2009-12-02 17:10                       ` Dmitry Torokhov
2009-12-02 17:30                         ` Jon Smirl
2009-12-02 18:23                           ` Dmitry Torokhov
2009-12-02 18:57                             ` Jon Smirl
2009-12-02 20:54                               ` Mauro Carvalho Chehab
2009-12-02 19:22                           ` Jarod Wilson
2009-12-02 19:56                             ` Dmitry Torokhov
2009-12-02 20:04                               ` Jarod Wilson
2009-12-02 20:14                                 ` Dmitry Torokhov
2009-12-02 20:23                                   ` Mauro Carvalho Chehab
2009-12-02 20:53                                     ` Dmitry Torokhov
2009-12-02 21:13                                       ` Mauro Carvalho Chehab
2009-12-03 16:03                                         ` Ferenc Wagner
2009-12-03 16:33                                           ` Mauro Carvalho Chehab
2009-12-03 16:50                                             ` Jon Smirl
2009-12-03 17:19                                               ` Mauro Carvalho Chehab
2009-12-03 17:31                                             ` Dmitry Torokhov
2009-12-04 16:11                                               ` Ferenc Wagner
2009-12-02 20:42                                   ` Jarod Wilson
2009-12-02 20:48                                     ` Dmitry Torokhov
2009-12-02 20:57                                       ` Jarod Wilson
2009-12-02 21:12                                         ` Trent Piepho
2009-12-02 21:28                                           ` Jarod Wilson
2009-12-02 21:40                                             ` Mauro Carvalho Chehab
2009-12-03 18:06                                             ` Krzysztof Halasa
2009-12-03  1:19                                   ` Andy Walls
2009-12-03  2:27                                     ` hermann pitton
2009-12-03  0:20                                 ` Jon Smirl
2009-12-03  2:22                                   ` Mauro Carvalho Chehab
2009-12-03  5:08                                     ` Jon Smirl
2009-12-03 11:09                                       ` Mauro Carvalho Chehab
2009-12-03 18:18                                         ` Krzysztof Halasa
2009-12-03 20:54                                           ` Mauro Carvalho Chehab
2009-12-03  2:48                                   ` Trent Piepho
2009-12-03  4:13                                     ` Jarod Wilson
2009-12-03  5:18                                       ` Jon Smirl
2009-12-03 11:20                                         ` Mauro Carvalho Chehab
2009-12-03 19:48                                   ` alhaz
2009-12-02 19:33                         ` Mauro Carvalho Chehab
2009-12-02 19:50                           ` Jon Smirl
2009-12-02 19:58                             ` Jon Smirl
2009-12-02 20:47                             ` Mauro Carvalho Chehab
2009-12-02 19:55                           ` Jarod Wilson
2009-12-03  1:02                             ` Andy Walls
2009-12-03 10:00                               ` Mauro Carvalho Chehab
2009-12-03 12:02                                 ` Andy Walls
2009-12-03 11:09                               ` Mauro Carvalho Chehab
2009-12-02 20:01                           ` Dmitry Torokhov
2009-12-02 15:37                     ` Jon Smirl
2009-12-02 17:00                       ` Dmitry Torokhov
2009-12-02 11:26                   ` Gerd Hoffmann
2009-12-02 12:45                     ` Mauro Carvalho Chehab
2009-12-01 17:35         ` Patrick Boettcher
2009-12-01 17:41           ` Mauro Carvalho Chehab
2009-12-01 18:19       ` Jon Smirl
2009-12-01 17:37   ` Mauro Carvalho Chehab
  -- strict thread matches above, loose matches on Subject: below --
2009-12-03 19:47 Guus Sliepen
2009-12-03 21:53 ` Jarod Wilson
2009-12-05 11:23   ` Guus Sliepen

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).