Re: [PATCH 6/6] rc-core: add protocol to EVIOC[GS]KEYCODE_V2 ioctl

Sean Young
2017-04-28T19:42:14Z

On Fri, Apr 28, 2017 at 06:59:11PM +0200, David Härdeman wrote:
> On Fri, Apr 28, 2017 at 08:31:33AM -0300, Mauro Carvalho Chehab wrote:
> >Em Thu, 27 Apr 2017 22:34:23 +0200
> >David Härdeman <david@hardeman.nu> escreveu:
> ...
> >> This patch changes how the "input_keymap_entry" struct is interpreted
> >> by rc-core by casting it to "rc_keymap_entry":
> >>
> >> struct rc_scancode {
> >> __u16 protocol;
> >> __u16 reserved[3];
> >> __u64 scancode;
> >> }
> >>
> >> struct rc_keymap_entry {
> >> __u8 flags;
> >> __u8 len;
> >> __u16 index;
> >> __u32 keycode;
> >> union {
> >> struct rc_scancode rc;
> >> __u8 raw[32];
> >> };
> >> };
> >>
> ...
> >
> >Nack.
>
> That's not a very constructive approach. If you have a better approach
> in mind I'm all ears. Because you're surely not suggesting that we stay
> with the current protocol-less approach forever?

Well, what problem are we trying to solve actually?

Looking at the keymaps we have already, there are many scancodes which
overlap and only a few of them use a different protocol. So having this
feature will not suddenly make it possible to load all our keymaps, it
will just make it possible to simultaneously load a few more.

> >No userspace breakages are allowed.
>
> That's a gross oversimplification.

This can be implemented without breaking userspace.

Sean