08.02.2015, 16:14
I'm placing my bets on your very first if-statement. Do you know what "holding" means? It means holding one key and then pressing another key so the callback gets called again. Try changing that into PRESSED or RELEASED.
Also: debug, debug, debug.
Also: debug, debug, debug.