Page MenuHome

Redesigning Input Controllers/Sensors
Closed, ArchivedPublic


Current Keyboard/Mouse/Joystick devices work by registering current state on a table and, on the next frame, accusing changes by checking the new current state against the previously saved one.
This means that input given between frames may be lost (specially with low frame rate) and also that there is no 'input order'. The order can be important according to the gameplay and for writing text, from a chat system, to just typing one's name.

The input should instead be buffered in a queue manner with an API to query the buffer for the ordered input, flushing unwanted input and maintaining the queries for the current state (isPressed, etc).


To Do

Event Timeline

Inês Almeida (brita_) set Type to To Do.
Inês Almeida (brita_) created this task.
Inês Almeida (brita_) raised the priority of this task from to Normal.

A more generic interface so that users could connect any kind of input would also be good, but I currently have no idea on how to do this or if it even possible.
What I mean here is to offer a python interface for unknown input and the users could implement the logic or use a plugin, however this is OS and driver and window manager dependent. It device has to be supported by GHOST, if then the GE doesn't know what to do with it, it just passes it along to python.
To consider is input devices that also receive output: rumble, leds..


the event system has been refactored among with the launcher in the UPBGE (a fork of the BGE to refactor it).

Could you test if the keyboard/mouse system is working for you as expected now?

Here is the link:

@Ton Roosendaal (ton)

Who owns the bge module at the moment?

the upbge team has been working so hard....

this patch has been working in UPBGE for some time and it's very nice.

To my knowledge we still have a list of module owners for BGE.
Check the wiki for who these are and contact them. We could also look into refreshing the team with new members, like Tristan.

Aaron Carlisle (Blendify) closed this task as Archived.
Aaron Carlisle (Blendify) claimed this task.

This task is being closed because the BGE has been removed in Blender 2.8.