import Wayland.Display import Wayland.Protocols.RiverInputManagementV1.Header import Wayland.Protocols.RiverXkbConfigV1.Header namespace Wayland.Protocols inductive RiverXkbConfigV1.Event where | finished | xkbKeyboard (id : RiverXkbKeyboardV1) inductive RiverXkbKeymapV1.Event where | success | failure (errorMsg : String) inductive RiverXkbKeyboardV1.Event where | removed | inputDevice (device : RiverInputDeviceV1) | layout (index : UInt32) (name : Option String) | capslockEnabled | capslockDisabled | numlockEnabled | numlockDisabled instance instInterfaceRiverXkbConfigV1 : Interface RiverXkbConfigV1.name where event := RiverXkbConfigV1.Event version := 1 requests := #[ { name := "stop" args := #[] since := 1 isDestructor := false }, { name := "destroy" args := #[] since := 1 isDestructor := true }, { name := "create_keymap" args := #[.newID (.some "river_xkb_keymap_v1"), .fd, .uint] since := 1 isDestructor := false }, ] events := #[ { name := "finished" args := #[] since := 1 isDestructor := false }, { name := "xkb_keyboard" args := #[.newID (.some "river_xkb_keyboard_v1")] since := 1 isDestructor := false }, ] demarshalEvent | 0 => do return .finished | 1 => do return .xkbKeyboard (← Marshallable.demarshal .object) | _ => throw s!"Received invalid opcode" instance instInterfaceRiverXkbKeymapV1 : Interface RiverXkbKeymapV1.name where event := RiverXkbKeymapV1.Event version := 1 requests := #[ { name := "destroy" args := #[] since := 1 isDestructor := true }, ] events := #[ { name := "success" args := #[] since := 1 isDestructor := false }, { name := "failure" args := #[.string .notNull] since := 1 isDestructor := false }, ] demarshalEvent | 0 => do return .success | 1 => do return .failure (← Marshallable.demarshal .string) | _ => throw s!"Received invalid opcode" instance instInterfaceRiverXkbKeyboardV1 : Interface RiverXkbKeyboardV1.name where event := RiverXkbKeyboardV1.Event version := 1 requests := #[ { name := "destroy" args := #[] since := 1 isDestructor := true }, { name := "set_keymap" args := #[.object .notNull (.some "river_xkb_keymap_v1")] since := 1 isDestructor := false }, { name := "set_layout_by_index" args := #[.int] since := 1 isDestructor := false }, { name := "set_layout_by_name" args := #[.string .notNull] since := 1 isDestructor := false }, { name := "capslock_enable" args := #[] since := 1 isDestructor := false }, { name := "capslock_disable" args := #[] since := 1 isDestructor := false }, { name := "numlock_enable" args := #[] since := 1 isDestructor := false }, { name := "numlock_disable" args := #[] since := 1 isDestructor := false }, ] events := #[ { name := "removed" args := #[] since := 1 isDestructor := false }, { name := "input_device" args := #[.object .notNull (.some "river_input_device_v1")] since := 1 isDestructor := false }, { name := "layout" args := #[.uint, .string .nullable] since := 1 isDestructor := false }, { name := "capslock_enabled" args := #[] since := 1 isDestructor := false }, { name := "capslock_disabled" args := #[] since := 1 isDestructor := false }, { name := "numlock_enabled" args := #[] since := 1 isDestructor := false }, { name := "numlock_disabled" args := #[] since := 1 isDestructor := false }, ] demarshalEvent | 0 => do return .removed | 1 => do return .inputDevice (← Marshallable.demarshal .object) | 2 => do return .layout (← Marshallable.demarshal .uint) (← Marshallable.demarshal .string) | 3 => do return .capslockEnabled | 4 => do return .capslockDisabled | 5 => do return .numlockEnabled | 6 => do return .numlockDisabled | _ => throw s!"Received invalid opcode" end Wayland.Protocols