Skip to content

Instantly share code, notes, and snippets.

@shokai
Last active August 29, 2015 13:56
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save shokai/9206127 to your computer and use it in GitHub Desktop.
Save shokai/9206127 to your computer and use it in GitHub Desktop.
global keyhook with JRuby
### translate jnativehook example to JRuby
### https://code.google.com/p/jnativehook/wiki/examples
require 'java'
import org.jnativehook.GlobalScreen;
import org.jnativehook.NativeHookException;
import org.jnativehook.keyboard.NativeKeyEvent;
import org.jnativehook.keyboard.NativeKeyListener;
import org.jnativehook.mouse.NativeMouseEvent;
import org.jnativehook.mouse.NativeMouseInputListener;
class KeyHook
include NativeKeyListener
def nativeKeyPressed(e)
puts NativeKeyEvent.getKeyText e.getKeyCode
end
def nativeKeyReleased(e)
puts NativeKeyEvent.getKeyText e.getKeyCode
end
def nativeKeyTyped(e)
puts NativeKeyEvent.getKeyText e.getKeyCode
end
end
class MouseHook
include NativeMouseInputListener
def nativeMouseMoved(e)
puts "#{e.getX}, #{e.getY}"
end
end
GlobalScreen.registerNativeHook
GlobalScreen.getInstance.addNativeKeyListener KeyHook.new
GlobalScreen.getInstance.addNativeMouseMotionListener MouseHook.new
loop do
sleep 1
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment