Human Interface Devices/User Accessibility

Reporter: RobertBColton  |  Status: open  |  Last Modified: February 05, 2023, 10:48:24 pm

With modern cross-platform support, games can be played just about anywhere including mobile and handheld devices. Not all devices are natively keyboard and mouse and touch interfaces have become the dominant form of user input in mobile phones. Adding support for additional human interface devices (HID) will be carried out on core platforms and systems of the engine.

User experience will improve for games that require raw mouse input (#1038) for decreased latency. Data structures should be written with abstraction and batch API requests in mind to achieve this, so they can be reused to complete later milestones of the project.

Impact
Improved accessibility will allow users to target larger demographics with their games.

Milestones

  1. Beginning with a desktop platform (Linux, Windows, Mac, or SDL), the contributor will be able to get familiar with simulated touch input on a device they feel most comfortable with. (3-4 weeks)
  2. With a proper abstraction in place to handle multi-input devices for desktops, code should be reused to support a mobile system (Android or iOS) depending on availability. (2 weeks)
  3. The ideal capstone will be to add unit tests that simulate input from the various multi-input devices. (2 weeks)

Mentors: Robert, Greg
Difficulty: Medium
Expected size: 200h
Skills required: C++ fundamentals
Skills preferred: Experience with touch input APIs and mobile and embedded operating systems.

Please sign in to post comments, or you can view this issue on GitHub.