jawaff / KinectController

Control your computer using your body. The KinectController turns the Kinect into a controller that allows configurable actions to be emulated when configurable gestures are triggered by the user.
0 stars 0 forks source link

Urgent: Keyboard events need to be confirmed to be emulated properly! #26

Open jawaff opened 8 years ago

jawaff commented 8 years ago

I've kind of witnessed this already. Essentially when the KinectController emulates keyboard events, only some programs will actually accept the event and process it. This is because Windows sends these events to applications and it's completely up to these applications whether they want to accept that input or not.

This potentially is going to bring rise to a list of unsupported applications. The KinectController is going to suffer a fatal blow when the users find out that they can't use it to play their favorite video game. All we can really do is try to do what we can with the bad applications -- which might include skyrim -- and try to attain the maximum level of support possible.

jawaff commented 8 years ago

Here are some links I found after doing some research:

//Explains our potential problem where some games might not be able to be supported. http://stackoverflow.com/questions/8782648/how-to-send-keys-to-a-minimized-window-in-c

//Emulating a gamepad //Skyrim ignored the key events the KinectController sends. So maybe emulating a gamepad would be //a nice work around? Games also handle mouse input differently sometimes. So an emulated gamepad //might make for a more consistent approach. http://stackoverflow.com/questions/20429279/java-how-to-emulate-a-xinput-gamepad-controller

jawaff commented 8 years ago

Maybe that gamepad project on github sends key events to applications in a fancy way that gets past the problem I'm having? :o

jawaff commented 8 years ago

My previous comment didn't supply a link to the github project. Here it is: https://github.com/x360ce/x360ce

jawaff commented 8 years ago

Issue #32 mentions -- in the later comments -- something about the config.jj needing more premade Java classes in order to make the KinectController's configuration system much stronger.

I think I will be focusing on the configuration system before moving onto the gamepad emulation though. It will have a bunch of benefits to the rest of the program. The config.jj generates a bunch of classes that configure a lot of things in the program and it doesn't have many supporting classes at the moment.