[PATCH wayland] protocol: add repeat_info event to wl_keyboard

Giulio Camuffo giuliocamuffo at gmail.com
Mon Jun 2 08:57:01 PDT 2014


2014-06-02 9:36 GMT+02:00 Pekka Paalanen <ppaalanen at gmail.com>:
> On Mon, 2 Jun 2014 10:22:40 +0300
> Pekka Paalanen <ppaalanen at gmail.com> wrote:
>
>> On Fri, 30 May 2014 11:32:25 +0200
>> Jonny Lamb <jonny.lamb at collabora.co.uk> wrote:
>>
>> > In the process wl_keyboard's version has been incremented. Given
>> > clients get the wl_keyboard from wl_seat without a version, wl_seat's
>> > version has also been incremented (wl_seat version 4 implies
>> > wl_keyboard version 4).
>> > ---
>> >  protocol/wayland.xml | 17 +++++++++++++++--
>> >  1 file changed, 15 insertions(+), 2 deletions(-)
>> >
>> > diff --git a/protocol/wayland.xml b/protocol/wayland.xml
>> > index 22eb6e7..722cb89 100644
>> > --- a/protocol/wayland.xml
>> > +++ b/protocol/wayland.xml
>> > @@ -1262,7 +1262,7 @@
>> >      </request>
>> >     </interface>
>> >
>> > -  <interface name="wl_seat" version="3">
>> > +  <interface name="wl_seat" version="4">
>> >      <description summary="group of input devices">
>> >        A seat is a group of keyboards, pointer and touch devices. This
>> >        object is published as a global during start up, or when such a
>> > @@ -1490,7 +1490,7 @@
>> >
>> >    </interface>
>> >
>> > -  <interface name="wl_keyboard" version="3">
>> > +  <interface name="wl_keyboard" version="4">
>> >      <description summary="keyboard input device">
>> >        The wl_keyboard interface represents one or more keyboards
>> >        associated with a seat.
>> > @@ -1578,6 +1578,19 @@
>> >      <request name="release" type="destructor" since="3">
>> >        <description summary="release the keyboard object"/>
>> >      </request>
>> > +
>> > +    <!-- Version 4 of additions -->
>> > +
>> > +    <event name="repeat_info" since="4">
>> > +      <description summary="repeat rate and delay">
>> > +        Informs the client about the keyboard's repeat rate and delay.
>> > +      </description>
>> > +
>> > +      <arg name="rate" type="int"
>> > +           summary="the rate of repeating keys in characters per second"/>
>> > +      <arg name="delay" type="int"
>> > +           summary="time in milliseconds between keys repeating"/>
>> > +    </event>
>> >    </interface>
>> >
>> >    <interface name="wl_touch" version="3">
>>
>> Hi,
>>
>> this looks good to me, but I'd like to see text about when this event
>> is sent. I assume it is sent once as soon as a wl_keyboard object has
>> been created, and this is also required/guaranteed. IOW, if a client
>> creates a wl_keyboard and then does a roundtrip, it is guaranteed to
>> have received the event at least once. Right?
>>
>> Or should sending it be optional? Should we define any defaults in case
>> no event has been received? I'd assume not.
>>
>> Can it be sent later, too? (Likely yes.)
>>
>> Was this ever discussed before this email thread? I'd like to see at
>> least one more ack (Daniel already ack'd) before I'm comfortable pushing
>> this to wayland master, as this is part of the core protocol.
>
> Oh one more thing.
>
> Would we want to specify "no repeat" values?
>
> Also, while it is just an event and error codes would not make sense in
> the protocol, we should probably still mention, that negative values are
> illegal - what to do with zero?

I guess having 0 in the rate field could be used for "no repeat",
ignoring the delay one.

>
> Re-reading it, this seems funnily said:
>> > +           summary="time in milliseconds between keys repeating"/>
> I think it wants to say: "delay in milliseconds since key-down until
> repeating starts" or something. Not "between keys" since that sounds
> like repeat rate. :-)

Agreed, that is not clearly worded.

Kudos for this Jonny, it was needed. :)



Giulio

>
>
> Thanks,
> pq
> _______________________________________________
> wayland-devel mailing list
> wayland-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/wayland-devel


More information about the wayland-devel mailing list