nfengine icon indicating copy to clipboard operation
nfengine copied to clipboard

Design and implement input subsystem

Open Witek902 opened this issue 11 years ago • 0 comments

The system should detect and access all avialable input devices like:

  • mouse
  • keyboard
  • gamepad/joystick
  • VR devices (Oculus Rift HMD system, Vive/Touch controller system, etc.)

The API will be exposed for the user, so it must be well documented. Adding a new device (or device type) should't require serious changes. So the input messages should be very generic, for example:

  • mouse movement - 2d int
  • gamepad analog stick - 2d float
  • Vive/Touch position - 3d float
  • etc...

Materials:

  • http://www.gamedev.net/page/resources/_/technical/general-programming/asynchronous-keyboard-input-for-fixed-time-step-games-r3959
  • https://msdn.microsoft.com/en-us/library/ee418864(v=VS.85).aspx

TODO List (only on Windows; Linux version should come when nfCore is buildable on Linux):

  • [ ] Base of Input system in nfCore/Input
  • [ ] InputManager base class and backends:
    • [ ] Keyboard/mouse
    • [ ] Controller (XInput)
  • [ ] Event mapping (key to event)
  • [ ] Collection of default events (move, rotate camera etc)

Witek902 avatar Oct 15 '14 22:10 Witek902