How do I know when the key goes up?

Is there any way to be alerted directly when the user releases the key? Or do I have to have some sort of countdown method that checks if there hasn’t been a key_down message in x milliseconds?

Currently there is nothing really showing differences between this frame and the last. Only single moments in time.

Each frame the keyboard buffer is read from LWJGL, which gives which are down. You’ll have to write something to check for differences.