Warning, /frameworks/kguiaddons/src/recorder/keyboard-shortcuts-inhibit-unstable-v1.xml is written in an unsupported language. File is not indexed.
0001 <?xml version="1.0" encoding="UTF-8"?> 0002 <protocol name="keyboard_shortcuts_inhibit_unstable_v1"> 0003 0004 <copyright> 0005 Copyright © 2017 Red Hat Inc. 0006 0007 Permission is hereby granted, free of charge, to any person obtaining a 0008 copy of this software and associated documentation files (the "Software"), 0009 to deal in the Software without restriction, including without limitation 0010 the rights to use, copy, modify, merge, publish, distribute, sublicense, 0011 and/or sell copies of the Software, and to permit persons to whom the 0012 Software is furnished to do so, subject to the following conditions: 0013 0014 The above copyright notice and this permission notice (including the next 0015 paragraph) shall be included in all copies or substantial portions of the 0016 Software. 0017 0018 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 0019 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 0020 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 0021 THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 0022 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 0023 FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 0024 DEALINGS IN THE SOFTWARE. 0025 </copyright> 0026 0027 <description summary="Protocol for inhibiting the compositor keyboard shortcuts"> 0028 This protocol specifies a way for a client to request the compositor 0029 to ignore its own keyboard shortcuts for a given seat, so that all 0030 key events from that seat get forwarded to a surface. 0031 0032 Warning! The protocol described in this file is experimental and 0033 backward incompatible changes may be made. Backward compatible 0034 changes may be added together with the corresponding interface 0035 version bump. 0036 Backward incompatible changes are done by bumping the version 0037 number in the protocol and interface names and resetting the 0038 interface version. Once the protocol is to be declared stable, 0039 the 'z' prefix and the version number in the protocol and 0040 interface names are removed and the interface version number is 0041 reset. 0042 </description> 0043 0044 <interface name="zwp_keyboard_shortcuts_inhibit_manager_v1" version="1"> 0045 <description summary="context object for keyboard grab_manager"> 0046 A global interface used for inhibiting the compositor keyboard shortcuts. 0047 </description> 0048 0049 <request name="destroy" type="destructor"> 0050 <description summary="destroy the keyboard shortcuts inhibitor object"> 0051 Destroy the keyboard shortcuts inhibitor manager. 0052 </description> 0053 </request> 0054 0055 <request name="inhibit_shortcuts"> 0056 <description summary="create a new keyboard shortcuts inhibitor object"> 0057 Create a new keyboard shortcuts inhibitor object associated with 0058 the given surface for the given seat. 0059 0060 If shortcuts are already inhibited for the specified seat and surface, 0061 a protocol error "already_inhibited" is raised by the compositor. 0062 </description> 0063 <arg name="id" type="new_id" interface="zwp_keyboard_shortcuts_inhibitor_v1"/> 0064 <arg name="surface" type="object" interface="wl_surface" 0065 summary="the surface that inhibits the keyboard shortcuts behavior"/> 0066 <arg name="seat" type="object" interface="wl_seat" 0067 summary="the wl_seat for which keyboard shortcuts should be disabled"/> 0068 </request> 0069 0070 <enum name="error"> 0071 <entry name="already_inhibited" 0072 value="0" 0073 summary="the shortcuts are already inhibited for this surface"/> 0074 </enum> 0075 </interface> 0076 0077 <interface name="zwp_keyboard_shortcuts_inhibitor_v1" version="1"> 0078 <description summary="context object for keyboard shortcuts inhibitor"> 0079 A keyboard shortcuts inhibitor instructs the compositor to ignore 0080 its own keyboard shortcuts when the associated surface has keyboard 0081 focus. As a result, when the surface has keyboard focus on the given 0082 seat, it will receive all key events originating from the specified 0083 seat, even those which would normally be caught by the compositor for 0084 its own shortcuts. 0085 0086 The Wayland compositor is however under no obligation to disable 0087 all of its shortcuts, and may keep some special key combo for its own 0088 use, including but not limited to one allowing the user to forcibly 0089 restore normal keyboard events routing in the case of an unwilling 0090 client. The compositor may also use the same key combo to reactivate 0091 an existing shortcut inhibitor that was previously deactivated on 0092 user request. 0093 0094 When the compositor restores its own keyboard shortcuts, an 0095 "inactive" event is emitted to notify the client that the keyboard 0096 shortcuts inhibitor is not effectively active for the surface and 0097 seat any more, and the client should not expect to receive all 0098 keyboard events. 0099 0100 When the keyboard shortcuts inhibitor is inactive, the client has 0101 no way to forcibly reactivate the keyboard shortcuts inhibitor. 0102 0103 The user can chose to re-enable a previously deactivated keyboard 0104 shortcuts inhibitor using any mechanism the compositor may offer, 0105 in which case the compositor will send an "active" event to notify 0106 the client. 0107 0108 If the surface is destroyed, unmapped, or loses the seat's keyboard 0109 focus, the keyboard shortcuts inhibitor becomes irrelevant and the 0110 compositor will restore its own keyboard shortcuts but no "inactive" 0111 event is emitted in this case. 0112 </description> 0113 0114 <request name="destroy" type="destructor"> 0115 <description summary="destroy the keyboard shortcuts inhibitor object"> 0116 Remove the keyboard shortcuts inhibitor from the associated wl_surface. 0117 </description> 0118 </request> 0119 0120 <event name="active"> 0121 <description summary="shortcuts are inhibited"> 0122 This event indicates that the shortcut inhibitor is active. 0123 0124 The compositor sends this event every time compositor shortcuts 0125 are inhibited on behalf of the surface. When active, the client 0126 may receive input events normally reserved by the compositor 0127 (see zwp_keyboard_shortcuts_inhibitor_v1). 0128 0129 This occurs typically when the initial request "inhibit_shortcuts" 0130 first becomes active or when the user instructs the compositor to 0131 re-enable and existing shortcuts inhibitor using any mechanism 0132 offered by the compositor. 0133 </description> 0134 </event> 0135 0136 <event name="inactive"> 0137 <description summary="shortcuts are restored"> 0138 This event indicates that the shortcuts inhibitor is inactive, 0139 normal shortcuts processing is restored by the compositor. 0140 </description> 0141 </event> 0142 </interface> 0143 </protocol>