Java – Global (low level) Keyboard / Mouse Hook by Kristian Kraljic / http://kra.lc/blog/2011/07/java-global-system-hook/