diff --git a/Celeste.Mod.mm/Mod/Everest/TextInput.cs b/Celeste.Mod.mm/Mod/Everest/TextInput.cs index 8ebd3228e..e49689f82 100644 --- a/Celeste.Mod.mm/Mod/Everest/TextInput.cs +++ b/Celeste.Mod.mm/Mod/Everest/TextInput.cs @@ -31,6 +31,10 @@ internal static void Initialize(Game game) { // public static event Action TextInput; e_TextInput.AddEventHandler(null, new Action(ReceiveTextInput).CastDelegate(e_TextInput.EventHandlerType)); + // Some platforms like Linux/Wayland may require calling TextInputEXT.StartTextInput to receive events for TextInputEXT.TextInput + MethodInfo e_StartTextInput = t_TextInputExt?.GetMethod("StartTextInput", new Type[] { } ); + e_StartTextInput?.Invoke(t_TextInputExt, null); + // SDL2 offers SDL_GetClipboardText and SDL_SetClipboardText Type t_SDL2 = typeof(Keyboard).Assembly.GetType("SDL2.SDL"); _GetClipboardText = t_SDL2.GetMethod("SDL_GetClipboardText").CreateDelegate(typeof(Func)) as Func;