NativeControlHost с SDL2 не захватывает ключи ⇐ C#

Место общения программистов C#
Anonymous
NativeControlHost с SDL2 не захватывает ключи

Сообщение Anonymous »

У меня есть приложение, написанное с использованием Avalonia, и я хочу встроить в него приложение SLD2 (приложение SDL2 написано на C# с использованием оболочки SDL2-CS).
Я использовал NativeControlHost, чтобы получить дескриптор, как показано ниже:

Код: Выделить всё

    public class NativeEmbeddingControl : NativeControlHost
{
public IntPtr Handle { get; private set; }

protected override IPlatformHandle CreateNativeControlCore(IPlatformHandle parent)
{
var handle = base.CreateNativeControlCore(parent);
Handle = handle.Handle;
return handle;
}
}
Затем я использую этот дескриптор при создании окна SDL2 следующим образом:

Код: Выделить всё

IntPtr windowPtr = SDL.SDL_CreateWindowFrom(windowHandle);
Это нормально работает для отображения контента, отображаемого из приложения SDL2. Но он не получает события SDL_KEYDOWN и SDL_KEYUP, когда я вызываю SDL_PollEvent.
Если я запускаю приложение SDL2 как «автономное» (без каких-либо встраивание), то все работает нормально.
Нужно ли мне делать что-нибудь еще, чтобы передать события нажатия/нажатия клавиш во встроенное приложение SDL2?

Подробнее здесь: https://stackoverflow.com/questions/791 ... uring-keys

Вернуться в «C#»