[PATCH wayland] protocol: spell out that we're using linux/input-event-codes.h key codes

Daniel Stone daniel at fooishbar.org
Thu Nov 10 10:22:41 UTC 2016


Hi,

On 10 November 2016 at 05:19, Peter Hutterer <peter.hutterer at who-t.net> wrote:
> A side-note here: my first version sent to Jonas privately had a reserved
> range for any key with the highest bit set. The idea here was to have a
> range defined that we'll never touch during protocol updates so that vendors
> who need some custom key code have a place to escape to.
>
> Note that by custom key code I don't mean "gaming mouse sends custom key X"
> but rather "this is an integrated compositor + client stack solution and the
> key only makes sense in this context".
>
> I took it out of this version now, maybe it makes sense to add this though.
>
> Also, I think the DTD needs a <whoops-shouldve-defined-this-earlier> tag :)
>
>  protocol/wayland.xml | 18 ++++++++++++++++++
>  1 file changed, 18 insertions(+)
>
> diff --git a/protocol/wayland.xml b/protocol/wayland.xml
> index 6c6d078..dcc29fe 100644
> --- a/protocol/wayland.xml
> +++ b/protocol/wayland.xml
> @@ -1893,6 +1893,14 @@
>         enter event.
>          The time argument is a timestamp with millisecond
>          granularity, with an undefined base.
> +
> +       The button is a button code as defined in the Linux kernel's
> +       linux/input-event-codes.h header file, e.g. BTN_LEFT.
> +
> +       Any 16-bit button code value is reserved for future additions to the
> +       kernel's event code list. All other button codes above 0xFFFF are
> +       currently undefined but may be used in future versions of this
> +       protocol.

This bit is fine, though I'm not sure why we want to give ourselves
the room to invent new buttons.

>        <arg name="serial" type="uint" summary="serial number of the button event"/>
> @@ -2154,6 +2162,16 @@
>         A key was pressed or released.
>          The time argument is a timestamp with millisecond
>          granularity, with an undefined base.
> +
> +       The key is a key code as defined in the Linux kernel's
> +       linux/input-event-codes.h header file, e.g. KEY_A. The key
> +       represents a physical key on the keyboard and is unaffected by the
> +       keyboard layout applied.
> +
> +       Any 16-bit key code value is reserved for future additions to the
> +       kernel's event code list. All other key codes above 0xFFFF are
> +       currently undefined but may be used in future versions of this
> +       protocol.
>        </description>

But this I'd prefer to drop. We need to describe the button codes, but
the key codes are _already_ perfectly described in the keymap. Leaving
this undefined opens the door to making life much easier for, e.g.,
RDP-based compositors.

Cheers,
Daniel


More information about the wayland-devel mailing list