Delete planar/protocol/river-xkb-bindings-v1.lua

This commit is contained in:
2026-05-05 21:16:55 +02:00
parent 4350a041b6
commit 7463399581

View File

@@ -1,341 +0,0 @@
-- Auto generated by the wau-scanner v0
--- river_xkb_bindings_v1
-- @module river_xkb_bindings_v1
-- SPDX-FileCopyrightText: © 2025 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.
return function(wau)
local interfaces = {
"river_xkb_bindings_v1",
"river_xkb_binding_v1",
"river_xkb_bindings_seat_v1",
}
for _, iface in ipairs(interfaces) do
wau[iface] = wau.wl_interface.new()
end
--- xkbcommon bindings global interface
--
-- This global interface should only be advertised to the client if the
-- river_window_manager_v1 global is also advertised.
-- @type river_xkb_bindings_v1
wau.river_xkb_bindings_v1:init {
name = "river_xkb_bindings_v1",
version = 2,
methods = {
--- destroy the river_xkb_bindings_v1 object
--
-- This request indicates that the client will no longer use the
-- river_xkb_bindings_v1 object.
-- @function river_xkb_bindings_v1:destroy
-- @treturn river_xkb_bindings_v1 self
{
name = "destroy",
signature = "",
types = { },
type = "destructor"
},
--- define a new xkbcommon key binding
--
-- Define a key binding for the given seat in terms of an xkbcommon keysym
-- and other configurable properties.
-- The new key binding is not enabled until initial configuration is
-- completed and the enable request is made during a manage sequence.
-- @function river_xkb_bindings_v1:get_xkb_binding
-- @tparam river_seat_v1 seat
-- @treturn river_xkb_binding_v1
-- @tparam uint keysym an xkbcommon keysym
-- @tparam uint modifiers
{
name = "get_xkb_binding",
signature = "onuu",
types = { wau.river_seat_v1, wau.river_xkb_binding_v1, 0, 0, },
},
--- manage seat-specific state
--
-- Create an object to manage seat-specific xkb bindings state.
-- It is a protocol error to make this request more than once for a given
-- river_seat_v1 object.
-- @function river_xkb_bindings_v1:get_seat
-- @treturn river_xkb_bindings_seat_v1
-- @tparam river_seat_v1 seat
{
name = "get_seat",
signature = "2no",
types = { wau.river_xkb_bindings_seat_v1, wau.river_seat_v1, },
},
},
events = {
},
enums = {
--- error
-- @enum river_xkb_bindings_v1.Error
-- @param OBJECT_ALREADY_CREATED 0
["error"] = {
["object_already_created"] = 0,
},
},
methods_opcode = {
["destroy"] = 0,
["get_xkb_binding"] = 1,
["get_seat"] = 2,
},
}
--- configure a xkb key binding, receive trigger events
--
-- This object allows the window manager to configure a xkbcommon key binding
-- and receive events when the key binding is triggered.
-- The new key binding is not enabled until the enable request is made during
-- a manage sequence.
-- Normally, all key events are sent to the surface with keyboard focus by
-- the compositor. Key events that trigger a key binding are not sent to the
-- surface with keyboard focus.
-- If multiple key bindings would be triggered by a single physical key event
-- on the compositor side, it is compositor policy which key binding(s) will
-- receive press/release events or if all of the matched key bindings receive
-- press/release events.
-- Key bindings might be matched by the same physical key event due to shared
-- keysym and modifiers. The layout override feature may also cause the same
-- physical key event to trigger two key bindings with different keysyms and
-- different layout overrides configured.
-- @type river_xkb_binding_v1
wau.river_xkb_binding_v1:init {
name = "river_xkb_binding_v1",
version = 2,
methods = {
--- destroy the xkb binding object
--
-- This request indicates that the client will no longer use the xkb key
-- binding object and that it may be safely destroyed.
-- @function river_xkb_binding_v1:destroy
-- @treturn river_xkb_binding_v1 self
{
name = "destroy",
signature = "",
types = { },
type = "destructor"
},
--- override currently active xkb layout
--
-- Specify an xkb layout that should be used to translate key events for
-- the purpose of triggering this key binding irrespective of the currently
-- active xkb layout.
-- The layout argument is a 0-indexed xkbcommon layout number for the
-- keyboard that generated the key event.
-- If this request is never made, the currently active xkb layout of the
-- keyboard that generated the key event will be used.
-- This request modifies window management state and may only be made as
-- part of a manage sequence, see the river_window_manager_v1 description.
-- @function river_xkb_binding_v1:set_layout_override
-- @tparam uint layout 0-indexed xkbcommon layout
-- @treturn river_xkb_binding_v1 self
{
name = "set_layout_override",
signature = "u",
types = { 0, },
},
--- enable the key binding
--
-- This request should be made after all initial configuration has been
-- completed and the window manager wishes the key binding to be able to be
-- triggered.
-- This request modifies window management state and may only be made as
-- part of a manage sequence, see the river_window_manager_v1 description.
-- @function river_xkb_binding_v1:enable
-- @treturn river_xkb_binding_v1 self
{
name = "enable",
signature = "",
types = { },
},
--- disable the key binding
--
-- This request may be used to temporarily disable the key binding. It may
-- be later re-enabled with the enable request.
-- This request modifies window management state and may only be made as
-- part of a manage sequence, see the river_window_manager_v1 description.
-- @function river_xkb_binding_v1:disable
-- @treturn river_xkb_binding_v1 self
{
name = "disable",
signature = "",
types = { },
},
},
events = {
--- the key triggering the binding has been pressed
--
-- This event indicates that the physical key triggering the binding has
-- been pressed.
-- This event will be followed by a manage_start event after all other new
-- state has been sent by the server.
-- The compositor should wait for the manage sequence to complete before
-- processing further input events. This allows the window manager client
-- to, for example, modify key bindings and keyboard focus without racing
-- against future input events. The window manager should of course respond
-- as soon as possible as the capacity of the compositor to buffer incoming
-- input events is finite.
-- @event river_xkb_binding_v1:pressed
{
name = "pressed",
signature = "",
types = { },
},
--- the key triggering the binding has been released
--
-- This event indicates that the physical key triggering the binding has
-- been released.
-- Releasing the modifiers for the binding without releasing the "main"
-- physical key that produces the bound keysym does not trigger the release
-- event. This event is sent when the "main" key is released, even if the
-- modifiers have changed since the pressed event.
-- This event will be followed by a manage_start event after all other new
-- state has been sent by the server.
-- The compositor should wait for the manage sequence to complete before
-- processing further input events. This allows the window manager client
-- to, for example, modify key bindings and keyboard focus without racing
-- against future input events. The window manager should of course respond
-- as soon as possible as the capacity of the compositor to buffer incoming
-- input events is finite.
-- @event river_xkb_binding_v1:released
{
name = "released",
signature = "",
types = { },
},
--- repeating should be stopped
--
-- This event indicates that repeating should be stopped for the binding if
-- the window manager has been repeating some action since the pressed
-- event.
-- This event is generally sent when some other (possible unbound) key is
-- pressed after the pressed event is sent and before the released event
-- is sent for this binding.
-- This event will be followed by a manage_start event after all other new
-- state has been sent by the server.
-- @event river_xkb_binding_v1:stop_repeat
{
name = "stop_repeat",
signature = "2",
types = { },
},
},
enums = {
},
methods_opcode = {
["destroy"] = 0,
["set_layout_override"] = 1,
["enable"] = 2,
["disable"] = 3,
},
}
--- xkb bindings seat
--
-- This object manages xkb bindings state associated with a specific seat.
-- @type river_xkb_bindings_seat_v1
wau.river_xkb_bindings_seat_v1:init {
name = "river_xkb_bindings_seat_v1",
version = 2,
methods = {
--- destroy the object
--
-- This request indicates that the client will no longer use the object and
-- that it may be safely destroyed.
-- @function river_xkb_bindings_seat_v1:destroy
-- @treturn river_xkb_bindings_seat_v1 self
{
name = "destroy",
signature = "2",
types = { },
type = "destructor"
},
--- ensure the next key press event is eaten
--
-- Ensure that the next non-modifier key press and corresponding release
-- events for this seat are not sent to the currently focused surface.
-- If the next non-modifier key press triggers a binding, the
-- pressed/released events are sent to the river_xkb_binding_v1 object as
-- usual.
-- If the next non-modifier key press does not trigger a binding, the
-- ate_unbound_key event is sent instead.
-- Rationale: the window manager may wish to implement "chorded"
-- keybindings where triggering a binding activates a "submap" with a
-- different set of keybindings. Without a way to eat the next key
-- press event, there is no good way for the window manager to know that it
-- should error out and exit the submap when a key not bound in the submap
-- is pressed.
-- This request modifies window management state and may only be made as
-- part of a manage sequence, see the river_window_manager_v1 description.
-- @function river_xkb_bindings_seat_v1:ensure_next_key_eaten
-- @treturn river_xkb_bindings_seat_v1 self
{
name = "ensure_next_key_eaten",
signature = "2",
types = { },
},
--- cancel an ensure_next_key_eaten request
--
-- This requests cancels the effect of the latest ensure_next_key_eaten
-- request if no key has been eaten due to the request yet. This request
-- has no effect if a key has already been eaten or no
-- ensure_next_key_eaten was made.
-- Rationale: the window manager may wish cancel an uncompleted "chorded"
-- keybinding after a timeout of a few seconds. Note that since this
-- timeout use-case requires the window manager to trigger a manage sequence
-- with the river_window_manager_v1.manage_dirty request it is possible that
-- the ate_unbound_key key event may be sent before the window manager has
-- a chance to make the cancel_ensure_next_key_eaten request.
-- This request modifies window management state and may only be made as
-- part of a manage sequence, see the river_window_manager_v1 description.
-- @function river_xkb_bindings_seat_v1:cancel_ensure_next_key_eaten
-- @treturn river_xkb_bindings_seat_v1 self
{
name = "cancel_ensure_next_key_eaten",
signature = "2",
types = { },
},
},
events = {
--- an unbound key press event was eaten
--
-- An unbound key press event was eaten due to the ensure_next_key_eaten
-- request.
-- This event will be followed by a manage_start event after all other new
-- state has been sent by the server.
-- @event river_xkb_bindings_seat_v1:ate_unbound_key
{
name = "ate_unbound_key",
signature = "2",
types = { },
},
},
enums = {
},
methods_opcode = {
["destroy"] = 0,
["ensure_next_key_eaten"] = 1,
["cancel_ensure_next_key_eaten"] = 2,
},
}
end