protocol questions

Yichao Yu yyc1992 at gmail.com
Wed Apr 3 09:04:46 PDT 2013


On Wed, Apr 3, 2013 at 11:16 AM, Kristian Høgsberg <hoegsberg at gmail.com>wrote:

> On Wed, Apr 3, 2013 at 10:59 AM, Yichao Yu <yyc1992 at gmail.com> wrote:
> >
> >
> >
> > On Wed, Apr 3, 2013 at 12:00 AM, Daniel Stone <daniel at fooishbar.org>
> wrote:
> >>
> >> Hi,
> >>
> >> On 3 April 2013 03:09, Kristian Høgsberg <hoegsberg at gmail.com> wrote:
> >> > On Sat, Mar 30, 2013 at 01:31:34AM -0400, Matthias Clasen wrote:
> >> >> - It looks like I can't trigger a popup from a key or touch event,
> >> >> because set_popup requires a serial that corresponds to an implicit
> >> >> pointer grab. That is sad, I like the menu key...
> >> >
> >> > Yes, it looks like we'll need new protocol for that.  It's also not
> >> > possible to trigger keyboard move or resize of windows.
> >>
> >> Hm, do we really need new protocol for this, or, given that serials
> >> are display-global, can we just bump wl_shell_surface to v2 and note
> >> that v2 and above accept _either_ a key or button press for the serial
> >> argument to set_popup? I don't see any potential for confusion or
> >> getting things wrong, and it saves everyone a lot of really tedious
> >> typing.
> >
> >
> > Why should there be a serial at all? What if the client got some input
> from
> > elsewhere, e.g. popup a warning or sth like that because of a hardware
> > error??
>
> That would just be a regular top-level window or a transient window.
> The popup window type is specifically for popup menus or dropdowns,
> which activate in response to user action and under X grabs mouse and
> keyboard.  Under wayland the grab is internal to the server and tied
> to the popup window, but we still an input event serial to make sure
> an application can only pop up a grabbing window in response to a user
> input.
>

But the client may still want to popup a grabbing window (e.g. system-tray
menu) in response to other event (e.g. dbus event) indirectly caused
(handler in another process) by the user input.


>
> Kristian
>
> >> >> - The wl_pointer interface seems to be a bit weak wrt to device
> >> >> properties. I would at least expect to learn about the number of
> >> >> buttons and right-handed vs left-handed, etc.
> >> >
> >> > Daniel covered this, though I do think that we should be able to
> >> > determine the set of all buttons supported by all mice and communicate
> >> > to the client if there's a case for that.
> >>
> >> Certainly evdev lets you see which buttons are supported by a pointer,
> >> as well as which keys are supported by a keyboard - at least to the
> >> extent that the hardware actually exposes this through HID, which is
> >> even less reliable than EDID.  But it's definitely possible to do, and
> >> AFAICT hardware tends to err on the side of exposing too many
> >> capabilities, rather than too few (i.e. you're not going to get an
> >> event for a mouse button we previously claimed not to have).
> >>
> >> While we're here though, I'd love to clarify what a value of 1.0 in a
> >> wl_pointer::axis event means.  Right now, anything with a wheel will
> >> send 1.0 per wheel click, whereas two-finger scrolling on touchpads
> >> will send 1.0 per pixel.  This makes axis events totally unusable for
> >> when you have a mouse and touchpad both: half your scrolls are going
> >> to be wrong.  Can we settle on, and document, 1.0 as an arbitrary unit
> >> roughly equivalent to one 'click' of a wheel, and scale appropriately
> >> in the touchpad driver?
> >>
> >> And if we're going to stick with evdev BTN_* codes for button events,
> >> we should probably document that one too.
> >>
> >> Cheers,
> >> Daniel
> >> _______________________________________________
> >> wayland-devel mailing list
> >> wayland-devel at lists.freedesktop.org
> >> http://lists.freedesktop.org/mailman/listinfo/wayland-devel
> >
> >
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/wayland-devel/attachments/20130403/19cec386/attachment-0001.html>


More information about the wayland-devel mailing list