On 6 May 2013 14:48, Todd Showalter <t...@electronjump.com> wrote: > On Mon, May 6, 2013 at 8:36 AM, Pekka Paalanen <ppaala...@gmail.com> wrote: >> Into wl_seat, we should add a capability bit for gamepad. When the bit >> is set, a client can send wl_seat::get_gamepad_manager request, which >> creates a new wl_gamepad_manager object. (Do we actually need a >> capability bit?) > > There are options here: > > - have the capability bit, if the bit is set the client can request a > manager -- has to deal with the case where the client sent the request > but the caps bit wasn't set, presumably by returning NULL or -1 the > protocol equivalent > > - leave out the caps bit, client requests the manager if they want it, > they get NULL equivalent if there are no gamepads
Wayland doesn't have a 'return NULL' facility: the client creates an entry for the object, and a proxy, and then the server later instantiates that object. The only way to return NULL is an asynchronous error which requires specialised handling. > - leave out the caps bit, gampad manager is always there, but can be > expected to return 0 if asked to enumerate gamepads when none are > connected Similarly, there's no round trip to enumerate gamepads. The wl_gamepad_manager would advertise new (to the client) gamepads, i.e. when the client creates the gamepad manager, the manager immediately advertises all existing devices, and then later advertises new devices as they're added. >> Gamepad input events are delivered according to the keyboard focus of >> the related wl_seat. If there is no keyboard to focus, then use the >> pointer focus, or something. It doesn't really affect the protocol >> design how the focus is assigned. However, would we need a >> wl_gamepad::enter,leave events? Probably, along with events for initial >> state. Or maybe enter/leave should be wl_gamepad_manager events? > > I think we need enter/leave events. The client can be responsible > for cleaning up its own state, though if an initial state is sent on > focus gain that makes things much easier. Yeah, I think we definitely need enter/leave with current state. Cheers, Daniel _______________________________________________ wayland-devel mailing list wayland-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/wayland-devel