Я использую SDL, как я могу отправить ложные события клавиатуры? - PullRequest
2 голосов
/ 06 мая 2011

В основном я пытаюсь сделать джойстик для отображения клавиатуры с помощью sdl (простой слой directmedia)

У меня нет проблем с поиском, какую кнопку джойстика я нажал.Кажется, проблема в фальсификации нажатия клавиши.

Ответы [ 2 ]

1 голос
/ 12 мая 2011

Использовать SDL_PushEvent.

http://www.libsdl.org/docs/html/sdlpushevent.html

0 голосов
/ 06 мая 2011

Я не думаю, что вы можете «подделать» нажатие клавиши, но вы можете объявить массив логических значений, который содержит информацию о том, нажата ли конкретная клавиша (вы можете сделать массив достаточно большим для каждой клавиши клавиатуры, а затемНапример, ключ 'может ссылаться на 65-й элемент в массиве.)

Инициализировать все элементы массива как false.Затем, когда клавиша нажата, установите соответствующий элемент в массиве в значение true, а когда он отпущен, установите его в значение false.Затем, чтобы сопоставить кнопки джойстика с клавишами клавиатуры, все, что вам нужно сделать, это сделать так, чтобы при нажатии / отпускании определенной кнопки джойстика он заменял один из элементов, соответствующих клавише на клавиатуре, которой вы хотите сопоставить кнопку в массиве.Тогда вам нужно будет отредактировать ваш код так, чтобы он ссылался на массив для ввода, а не напрямую из событий SDL.

Надеюсь, это поможет!

...