|
Wayland++
0.2.6
C++ Bindings for Wayland
|
keyboard input device More...
#include <wayland-client-protocol.hpp>


Public Types | |
| enum | wrapper_type { wrapper_type::standard, wrapper_type::display, wrapper_type::foreign, wrapper_type::proxy_wrapper } |
Public Member Functions | |
| void | release () |
| release the keyboard object More... | |
| bool | can_release () const |
| Check whether the release function is available with the currently bound version of the protocol. More... | |
| std::function< void(keyboard_keymap_format, int, uint32_t)> & | on_keymap () |
| keyboard mapping More... | |
| std::function< void(uint32_t, surface_t, array_t)> & | on_enter () |
| enter event More... | |
| std::function< void(uint32_t, surface_t)> & | on_leave () |
| leave event More... | |
| std::function< void(uint32_t, uint32_t, uint32_t, keyboard_key_state)> & | on_key () |
| key event More... | |
| std::function< void(uint32_t, uint32_t, uint32_t, uint32_t, uint32_t)> & | on_modifiers () |
| modifier and group state More... | |
| std::function< void(int32_t, int32_t)> & | on_repeat_info () |
| repeat rate and delay More... | |
| uint32_t | get_id () const |
| Get the id of a proxy object. More... | |
| std::string | get_class () const |
| Get the interface name (class) of a proxy object. More... | |
| uint32_t | get_version () const |
| Get the protocol object version of a proxy object. More... | |
| wrapper_type | get_wrapper_type () const |
| Get the type of a proxy object. More... | |
| void | set_queue (event_queue_t queue) |
| Assign a proxy to an event queue. More... | |
| wl_proxy * | c_ptr () const |
| Get a pointer to the underlying C struct. More... | |
| bool | proxy_has_object () const |
| Check whether this wrapper actually wraps an object. More... | |
| operator bool () const | |
| Check whether this wrapper actually wraps an object. More... | |
| bool | operator== (const proxy_t &right) const |
| Check whether two wrappers refer to the same object. More... | |
| bool | operator!= (const proxy_t &right) const |
| Check whether two wrappers refer to different objects. More... | |
| void | proxy_release () |
| Release the wrapped object (if any), making this an empty wrapper. More... | |
Static Public Attributes | |
| static constexpr std::uint32_t | release_since_version = 3 |
| Minimum protocol version required for the release function. More... | |
keyboard input device
The wl_keyboard interface represents one or more keyboards associated with a seat.
Definition at line 2896 of file wayland-client-protocol.hpp.
|
stronginherited |
Underlying wl_proxy type and properties of a proxy_t that affect construction, destruction, and event handling
| Enumerator | |
|---|---|
| standard | C pointer is a standard type compatible with wl_proxy*. Events are dispatched and it is destructed when the proxy_t is destructed. User data is set. |
| display | C pointer is a wl_display*. No events are dispatched, wl_display_disconnect is called when the proxy_t is destructed. User data is set. |
| foreign | C pointer is a standard type compatible with wl_proxy*, but another library owns it and it should not be touched in a way that could affect the operation of the other library. No events are dispatched, wl_proxy_destroy is not called when the proxy_t is destructed, user data is not touched. Consequently, there is no reference counting for the proxy_t. Lifetime of such wrappers should preferably be short to minimize the chance that the owning library decides to destroy the wl_proxy. |
| proxy_wrapper | C pointer is a wl_proxy* that was constructed with wl_proxy_create_wrapper. No events are dispatched, wl_proxy_wrapper_destroy is called when the proxy_t is destroyed. Reference counting is active. A reference to the proxy_t creating this proxy wrapper is held to extend its lifetime until after the proxy wrapper is destroyed. |
Definition at line 105 of file wayland-client.hpp.
|
inherited |
Get a pointer to the underlying C struct.
| bool keyboard_t::can_release | ( | ) | const |
Check whether the release function is available with the currently bound version of the protocol.
Definition at line 3013 of file wayland-client-protocol.cpp.
|
inherited |
Get the interface name (class) of a proxy object.
|
inherited |
|
inherited |
Get the protocol object version of a proxy object.
Gets the protocol object version of a proxy object, or 0 if the proxy was created with unversioned API.
A returned value of 0 means that no version information is available, so the caller must make safe assumptions about the object's real version.
display_t will always return version 0.
|
inlineinherited |
Get the type of a proxy object.
Definition at line 288 of file wayland-client.hpp.
| std::function< void(uint32_t, surface_t, array_t)> & keyboard_t::on_enter | ( | ) |
enter event
| serial | serial number of the enter event |
| surface | surface gaining keyboard focus |
| keys | the currently pressed keys |
Notification that this seat's keyboard focus is on a certain surface.
Definition at line 3023 of file wayland-client-protocol.cpp.
| std::function< void(uint32_t, uint32_t, uint32_t, keyboard_key_state)> & keyboard_t::on_key | ( | ) |
key event
| serial | serial number of the key event |
| time | timestamp with millisecond granularity |
| key | key that produced the event |
| state | physical state of the key |
A key was pressed or released. The time argument is a timestamp with millisecond granularity, with an undefined base.
Definition at line 3033 of file wayland-client-protocol.cpp.
| std::function< void(keyboard_keymap_format, int, uint32_t)> & keyboard_t::on_keymap | ( | ) |
keyboard mapping
| format | keymap format |
| fd | keymap file descriptor |
| size | keymap size, in bytes |
This event provides a file descriptor to the client which can be memory-mapped to provide a keyboard mapping description.
From version 7 onwards, the fd must be mapped with MAP_PRIVATE by the recipient, as MAP_SHARED may fail.
Definition at line 3018 of file wayland-client-protocol.cpp.
| std::function< void(uint32_t, surface_t)> & keyboard_t::on_leave | ( | ) |
leave event
| serial | serial number of the leave event |
| surface | surface that lost keyboard focus |
Notification that this seat's keyboard focus is no longer on a certain surface.
The leave notification is sent before the enter notification for the new focus.
Definition at line 3028 of file wayland-client-protocol.cpp.
| std::function< void(uint32_t, uint32_t, uint32_t, uint32_t, uint32_t)> & keyboard_t::on_modifiers | ( | ) |
modifier and group state
| serial | serial number of the modifiers event |
| mods_depressed | depressed modifiers |
| mods_latched | latched modifiers |
| mods_locked | locked modifiers |
| group | keyboard layout |
Notifies clients that the modifier and/or group state has changed, and it should update its local state.
Definition at line 3038 of file wayland-client-protocol.cpp.
| std::function< void(int32_t, int32_t)> & keyboard_t::on_repeat_info | ( | ) |
repeat rate and delay
| rate | the rate of repeating keys in characters per second |
| delay | delay in milliseconds since key down until repeating starts |
Informs the client about the keyboard's repeat rate and delay.
This event is sent as soon as the wl_keyboard object has been created, and is guaranteed to be received by the client before any key press event.
Negative values for either rate or delay are illegal. A rate of zero will disable any repeating (regardless of the value of delay).
This event can be sent later on as well with a new value if necessary, so clients should continue listening for the event past the creation of wl_keyboard.
Definition at line 3043 of file wayland-client-protocol.cpp.
|
inherited |
Check whether this wrapper actually wraps an object.
|
inherited |
Check whether two wrappers refer to different objects.
|
inherited |
Check whether two wrappers refer to the same object.
|
inherited |
Check whether this wrapper actually wraps an object.
|
inherited |
Release the wrapped object (if any), making this an empty wrapper.
Note that display_t instances cannot be released this way. Attempts to do so are ignored.
| void keyboard_t::release | ( | ) |
release the keyboard object
Definition at line 3009 of file wayland-client-protocol.cpp.
|
inherited |
Assign a proxy to an event queue.
| queue | The event queue that will handle this proxy |
Assign proxy to event queue. Events coming from proxy will be queued in queue instead of the display's main queue.
See also: display_t::dispatch_queue().
|
staticconstexpr |
Minimum protocol version required for the release function.
Definition at line 2931 of file wayland-client-protocol.hpp.