Gamepad focus model (Re: Input and games.)
Rick Yorgason
rick at firefang.com
Wed May 8 08:06:08 PDT 2013
Rick Yorgason <rick at ...> writes:
> In thinking more about this some more, I don't even think these seats need
> to be aggregated. A second-class wl_seat would just mean "This seat is
> intended to be used at the application level rather than the compositor
> level, and it will send enter/leave events to the same surfaces as its
parent."
Once more in spec format, to be more explicit:
--------------------------------------------
New requests provided by wl_seat:
wl_seat::get_gamepad - return gamepad object
The ID provided will be initialized to the wl_pointer interface for this
seat.
This request only takes effect if the seat has the gamepad capability.
Arguments:
id -- new_id
--------------------------------------------
New events provided by wl_seat:
wl_seat::secondclass - Seat has become second-class
Second-class seats are intended for client consumption rather than
server consumption. A second-class seat is always parented to a first-class
seat and follows its parent's focus. A second-class seat's pointer is
trapped by the focused surface.
Arguments:
parent -- object -- The parent seat.
wl_seat::firstclass - Seat has become first-class
First-class seats are the default scenario. Multiple first-class seats
can be used to allow different users to control different applications on
the same desktop.
No arguments.
wl_seat::index - Seat has a new friendly identifier
The index is intended to be a user-friendly identifier to differentiate
seats. It starts from 1 and increments or reuses indices as necessary.
Devices such as gamepads with player indicators are expected to display this
value when possible.
Arguments:
index -- uint -- The new friendly identifier
wl_seat::enter - enter event
Notification that this seat's focus is on a certain surface.
Arguments:
serial -- uint
surface -- object
wl_seat::leave - leave event
Notification that the seat's focus is no longer on a certain surface.
The leave notification is sent before the enter notification for the new
focus.
Arguments:
serial -- uint
surface -- object
---------------------------------------
New wl_seat::capability values:
gamepad
Value: 8
This seat has a gamepad
More information about the wayland-devel
mailing list