From: Jarod Wilson <jarod@redhat.com>
To: "David Härdeman" <david@hardeman.nu>
Cc: Mauro Carvalho Chehab <mchehab@redhat.com>,
Jarod Wilson <jarod@wilsonet.com>,
linux-media@vger.kernel.org
Subject: Re: [RFC PATCH 0/2] Apple remote support
Date: Thu, 18 Nov 2010 11:33:04 -0500 [thread overview]
Message-ID: <20101118163304.GB16899@redhat.com> (raw)
In-Reply-To: <20101116232636.GA28261@hardeman.nu>
On Wed, Nov 17, 2010 at 12:26:36AM +0100, David Härdeman wrote:
> On Tue, Nov 16, 2010 at 10:08:29AM -0200, Mauro Carvalho Chehab wrote:
...
> >Also, changing the current tables to 32 bits will break userspace API, as all
> >userspace keytables for NEC will stop working, all due to a few vendors that
> >decided to abuse on the NEC protocol. This doesn't sound fair.
>
> The NEC protocol is hardly a standard. There's lot's of variations out
> there. And intentionally throwing away information inside the kernel
> doesn't sound fair either.
>
> >Considering that the new setkeycode/getkeycode ioctls support a variable
> >size for scancodes, it seems to me that the proper solution is properly
> >add support for variable-size scancode tables. By doing this, one of the
> >properties for a scancode table is the size of the scancode. The NEC decoding
> >logic can take the scancode size into account, when deciding to check checksum
> >or not.
>
> With that approach you'd have to have the same scancode mangling code in
> each driver which generates NEC scancodes as well as in the nec raw
> decoder.
>
> One suggestion would be to use a full 32-bit scancode table, but use the
> size from the ioctl to determine how to generate the scancode to be
> inserted into the table. So if the ioctl was called with a 2 byte
> scancode, assume NEC with addr(8 bits) + cmd(8 bits); 3 byte -> NEC
> Extended with addr(16 bits) + cmd(8 bits); 4 byte -> 32 bit scancode.
>
> That way the nec decoder and other scancode drivers can be kept simple,
> the scancode table has a full 32 bit scancode for all keys and userspace
> won't see the difference (though I still think we should use the new
> large scancode API to let userspace properly indicate the protocol along
> with the scancode in the future).
I hacked together a semi-nasty variant of this, which I already know Mauro
isn't too keen on, but its perhaps a step in the right direction. At
least, its hopefully better than a modparam approach... ;)
http://git.kernel.org/?p=linux/kernel/git/jarod/linux-2.6-ir.git;a=commitdiff;h=a2eabcb44fa72e98a912c05a23659d0c946a17e5
http://git.kernel.org/?p=linux/kernel/git/jarod/linux-2.6-ir.git;a=commitdiff;h=164dc9cf5dec582bda5f7a059957ac2da2b0c1aa
Mauro's suggestion, iirc, was that max scancode size should be a property
of the keytable uploaded, and something set at load time (and probably
exposed as a sysfs node, similar to protocols). However, the one issue I
see there is that if someone loads a 16-bit keytable, then does a single
scancode replacement with something much larger, how are we going to
handle that?
--
Jarod Wilson
jarod@redhat.com
next prev parent reply other threads:[~2010-11-18 16:33 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-10-29 3:11 [RFC PATCH 0/2] Apple remote support Jarod Wilson
2010-10-29 3:13 ` [RFC PATCH 1/2] ir-nec-decoder: decode Apple's NEC remote variant Jarod Wilson
2010-10-29 22:15 ` Andy Walls
2010-10-29 3:13 ` [RFC PATCH 2/2] IR: add Apple remote keymap Jarod Wilson
2010-10-29 3:15 ` [RFC PATCH 0/2] Apple remote support Jarod Wilson
2010-10-29 13:46 ` Mauro Carvalho Chehab
2010-10-29 15:11 ` Jarod Wilson
2010-10-29 19:17 ` David Härdeman
2010-10-29 19:27 ` Jarod Wilson
2010-10-29 19:59 ` David Härdeman
2010-10-29 20:09 ` Jarod Wilson
2010-10-30 23:36 ` David Härdeman
2010-10-31 2:32 ` Jarod Wilson
2010-11-01 21:56 ` David Härdeman
2010-11-02 20:42 ` Jarod Wilson
2010-11-04 12:16 ` David Härdeman
2010-11-04 15:54 ` Jarod Wilson
2010-11-04 19:38 ` David Härdeman
2010-11-04 19:43 ` Mauro Carvalho Chehab
2010-11-05 13:27 ` David Härdeman
2010-11-05 14:04 ` Christopher Harrington
2010-11-07 19:01 ` Jarod Wilson
2010-11-15 4:11 ` Jarod Wilson
2010-11-15 18:39 ` David Härdeman
2010-11-16 12:08 ` Mauro Carvalho Chehab
2010-11-16 23:26 ` David Härdeman
2010-11-18 16:33 ` Jarod Wilson [this message]
2010-11-18 20:43 ` David Härdeman
2010-11-18 20:49 ` Jarod Wilson
2010-11-18 20:59 ` Mauro Carvalho Chehab
2010-11-19 23:55 ` David Härdeman
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=20101118163304.GB16899@redhat.com \
--to=jarod@redhat.com \
--cc=david@hardeman.nu \
--cc=jarod@wilsonet.com \
--cc=linux-media@vger.kernel.org \
--cc=mchehab@redhat.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.