This protocol gives the river-window-management-v1 window manager a
race-free way to send virtual keyboard events to the client with keyboard
focus as part of a window management manage sequence.
The key words "must", "must not", "required", "shall", "shall not",
"should", "should not", "recommended", "may", and "optional" in this
document are to be interpreted as described in IETF RFC 2119.
river virtual global interface
Interface
Version 1
This global interface should only be advertised to the client if the
river_window_manager_v1 global is also advertised.
destroy the river_virtual_keyboard_v1 object
Destructor
Request
Since Version 1
This request indicates that the client will no longer use the
river_virtual_keyboard_v1 object.
sync a virtual keyboard with the manage sequence
Request
Since Version 1
Mark a zwp_virtual_keyboard_v1 as synchronized with the
river_window_manager_v1 manage sequence.
Virtual keyboard events generated by the zwp_virtual_keyboard_v1.key and
zwp_virtual_keyboard_v1.modifiers requests on the given virtual keyboard
are queued and sent to the client with keyboard focus in a batch at the
end of each manage sequence.
Note that the capacity of the compositor's event queue is necessarily
finite, though the compositor should choose large enough limits to allow
any "reasonable" usage of this protocol.
This request must be made before the first
zwp_virtual_keyboard_v1.keymap request for the given virtual keyboard.
This request only has an effect if the client is the active river window
manager.
This request is idempotent, subsequent requests for the same
zwp_virtual_keyboard_v1 object have no effect.
| Entry | Value | Since | Description |
|---|
| keymap_already_set | 0 | 1 | virtual keyboard must be synced before setting keymap |
Copyright
SPDX-FileCopyrightText: © 2026 Isaac Freund
SPDX-License-Identifier: MIT
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
deal in the Software without restriction, including without limitation the
rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
sell copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
IN THE SOFTWARE.