Delete planar/protocol/river-xkb-bindings-v1.lua
This commit is contained in:
@@ -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
|
||||
Reference in New Issue
Block a user