hey game-devs 
What do you think about the following Java API enhancement?
AWT input handling is hell on earth for games. And since JInput doesn’t always fulfill all needs and relies on additional natives and is unfortunately detected as a keylogger by some antivirus tools, I would like to have AWT to be improved for games.
There are three aspects, that would need to be changed/added to make is suitable for gaming-input-handing.
I need to have the possibility to poll for input events rather than listen for them on some AWT input thread. All that would have to be added, is to have a polling framework, that would fire the input events to the existing input listeners from the polling thread. This gets rid of some synchronization efforts and is much simpler to handle. You would still have to possibility to use the AWT input thread and therefore there would be NO backwards incompatibilities. The AWT input thread should be off-switchable.
It would also be nice, if the polling framework would provide a way to directly poll the events instead of pushing them through the listeners.
Key-repeat events must not fire continuous RELEASED/PRESSED events, but just TYPED. On Linux both RELEASED and PRESSED are fired continuously on key-repeat and on Windows only PRESSED is. Both are absolutely unnecessary and and IMHO never wanted. If these events make any sense in some special cases, they would have to be optional by some setting. It is impossible to reliably track PRESSED and RELEASED events when events are coming from a different thread (the AWT input thread) and are fired on key repeat.
There should be a way to activate a mouse-exclusive mode, where the mouse cursor cannot leave the window and in optimal case doesn’t even actually move. It would be sufficient to fire delta events, even if this is not that important, since the delta information can be computed from the absolute MOVED-events.
Additionally the the AWT input handling is very GC expensive, which should be solved. One way to solve this, would be the pure polling paradigm.
What do you think? Where is the best place to post this request, so that Sun gets aware of it? Are there any Sun devs out there reading this forum?
Marvin