SDL2不在OSX上发送输入事件

时间:2016-02-17 15:26:53

标签: macos rendering sdl sdl-2 ogre

我正在尝试在OSX上使用带有Ogre的SDL2并且渲染工作正常,但我没有收到任何键盘和鼠标事件。

对于渲染循环,我使用NSTimer 0.001s间隔。 如果我在循环中执行了SDL_PumpEvents();SDL_PollEvent(&event),那么我会得到一些键盘事件但不完美且鼠标工作正常。

导致这种奇怪行为的原因是什么?

谢谢!

self.timer = [NSTimer scheduledTimerWithTimeInterval:0.001
  target:self
  selector:@selector(step)
  userInfo:NULL repeats:YES];
[self.timer fire];

...

-(void) step {
  renderOneFrame();
  SDL_GL_SwapWindow(sdlWindow);

  SDL_PumpEvents();
  // or
  SDL_Event event;
  while (SDL_PollEvent(&event)) { }
}

更新

如果我添加SDL_AddEventWatch(_eventFilter, this);来监听事件鼠标和其他事件(例如退出)在没有轮询或其他事情的情况下工作! 但仍未收到键盘事件。

0 个答案:

没有答案