Я создаю кросс-платформенный игровой движок, и теперь я сосредоточен на системе ввода.Получение ввода устройства (мышь, клавиатура ...) на LINUX
Я написал абстрактную систему ввода, которая передает сообщения вверх и загружается модулями, зависящими от платформы, работающих в отдельной цепочке.
В окнах я создал окно «Только для сообщений», которое подает входную систему с сообщениями (переведенными на платформу независимо) из RAWINPUT.
Теперь у меня возникли проблемы, чтобы выяснить, как сделать подобное в системе на основе unix. Есть ли удобный способ получить вход (keyup, keydown, mousemove ...) из ядра? Или любым другим способом без необходимости показывать любое окно?
EDIT
Я не хочу, чтобы мой вход системы будет зависеть от моей видеообработки. Renderer должен просто уведомлять вход при изменении фокуса приложения ... Поэтому я хочу, чтобы система ввода работала по разному потоку, чем с визуализатором.
Я не хочу, чтобы моя система ввода зависела от моего рендерера. Renderer должен просто уведомлять вход при изменении фокуса приложения ... Поэтому я хочу, чтобы система ввода работала по разному потоку, чем с визуализатором. SDL, к сожалению, необходимо, чтобы оба они были в одном потоке. – relaxxx
Я не знаю о таком ограничении под SDL. Как вы думаете, почему он существует? Попробуйте googling для 'sdl multithreading', существует множество примеров программ, которые делают то, что вы утверждаете, невозможно. –