Particularly, Linux implements key-repeat by firing a sequence of key up/down signals, which Java/AWT/Swing happily reports to the application. In Windows, key repeat is handled at the app level, so only one key-down *time passes* key-up sequence is reported to Java.
Ah, so my solution may only work correctly on windows, then?
Not sure - I assume you're referencing LWJGL API, as Java/Swing doesn't have a Keyboard class (unless that's Java 7). I do not have experience with LWJGL. My account was referring to Java 6 AWT keyboard events. Am I confused/confusing?
Basically, I'm wondering how to best handle key-down events in Java, as I haven't found a (good) way with AWT/Swing.