diff options
| author | Hannes Schulze <contact@haschu.me> | 2026-04-09 23:07:23 +0200 |
|---|---|---|
| committer | Hannes Schulze <contact@haschu.me> | 2026-04-09 23:07:23 +0200 |
| commit | 80317994ba8a8b7f72c0bf0d824e4ade59a4b6c8 (patch) | |
| tree | 9163cc9b663123acb2de6453ed50aa812b07f0b0 /lib/Wayland/Protocols/RiverXkbBindingsV1/Interface.lean | |
| parent | 924241fd20f582fe0935db960ed3f06a65920f6d (diff) | |
fix build on linux
Diffstat (limited to 'lib/Wayland/Protocols/RiverXkbBindingsV1/Interface.lean')
| -rw-r--r-- | lib/Wayland/Protocols/RiverXkbBindingsV1/Interface.lean | 139 |
1 files changed, 139 insertions, 0 deletions
diff --git a/lib/Wayland/Protocols/RiverXkbBindingsV1/Interface.lean b/lib/Wayland/Protocols/RiverXkbBindingsV1/Interface.lean new file mode 100644 index 0000000..1c4e3ac --- /dev/null +++ b/lib/Wayland/Protocols/RiverXkbBindingsV1/Interface.lean @@ -0,0 +1,139 @@ +import Wayland.Display +import Wayland.Protocols.RiverXkbBindingsV1.Header + +namespace Wayland.Protocols + +inductive RiverXkbBindingsV1.Event where + +inductive RiverXkbBindingV1.Event where + | pressed + | released + | stopRepeat + +inductive RiverXkbBindingsSeatV1.Event where + | ateUnboundKey + + +instance instInterfaceRiverXkbBindingsV1 : Interface RiverXkbBindingsV1.name where + event := RiverXkbBindingsV1.Event + version := 2 + requests := #[ + { + name := "destroy" + args := #[] + since := 1 + isDestructor := true + }, + { + name := "get_xkb_binding" + args := #[.object .notNull (.some "river_seat_v1"), .newID (.some "river_xkb_binding_v1"), .uint, .uint] + since := 1 + isDestructor := false + }, + { + name := "get_seat" + args := #[.newID (.some "river_xkb_bindings_seat_v1"), .object .notNull (.some "river_seat_v1")] + since := 2 + isDestructor := false + }, + ] + events := #[ + ] + demarshalEvent + | _ => throw s!"Received invalid opcode" + +instance instInterfaceRiverXkbBindingV1 : Interface RiverXkbBindingV1.name where + event := RiverXkbBindingV1.Event + version := 2 + requests := #[ + { + name := "destroy" + args := #[] + since := 1 + isDestructor := true + }, + { + name := "set_layout_override" + args := #[.uint] + since := 1 + isDestructor := false + }, + { + name := "enable" + args := #[] + since := 1 + isDestructor := false + }, + { + name := "disable" + args := #[] + since := 1 + isDestructor := false + }, + ] + events := #[ + { + name := "pressed" + args := #[] + since := 1 + isDestructor := false + }, + { + name := "released" + args := #[] + since := 1 + isDestructor := false + }, + { + name := "stop_repeat" + args := #[] + since := 2 + isDestructor := false + }, + ] + demarshalEvent + | 0 => do + return .pressed + | 1 => do + return .released + | 2 => do + return .stopRepeat + | _ => throw s!"Received invalid opcode" + +instance instInterfaceRiverXkbBindingsSeatV1 : Interface RiverXkbBindingsSeatV1.name where + event := RiverXkbBindingsSeatV1.Event + version := 2 + requests := #[ + { + name := "destroy" + args := #[] + since := 2 + isDestructor := true + }, + { + name := "ensure_next_key_eaten" + args := #[] + since := 2 + isDestructor := false + }, + { + name := "cancel_ensure_next_key_eaten" + args := #[] + since := 2 + isDestructor := false + }, + ] + events := #[ + { + name := "ate_unbound_key" + args := #[] + since := 2 + isDestructor := false + }, + ] + demarshalEvent + | 0 => do + return .ateUnboundKey + | _ => throw s!"Received invalid opcode" + +end Wayland.Protocols
\ No newline at end of file |
