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