Your code works fine for me. I just pasted your code, compiled it, launched it and pressed the lock button during operation. Here is the result:
$ javac Foo.java $ java Foo Capslock state: false Capslock state: false Capslock state: false Capslock state: false Capslock state: true Capslock state: true Capslock state: true Capslock state: true Capslock state: true Capslock state: true Capslock state: true Capslock state: true Capslock state: false Capslock state: false Capslock state: false ^C
I am using java 8 like you.
$ java -version java version "1.8.0_25" Java(TM) SE Runtime Environment (build 1.8.0_25-b17) Java HotSpot(TM) 64-Bit Server VM (build 25.25-b02, mixed mode)
Does the lock key on your caps work?
source share