protected UnixKeyboardHandler() {
            // from JIntelliType native loader
            try {
                // Load JNI library
                System.loadLibrary("JXGrabKey");
            } catch (final Throwable ex) {
                try {
                    final String jarPath = "jxgrabkey";
                    final String tmpDir = System.getProperty("java.io.tmpdir");
                    try {
                        final String dll = "/JXGrabKey.so";
                        this.fromJarToFs(jarPath + dll, tmpDir + dll);
                        System.load(tmpDir + dll);
                    } catch (final UnsatisfiedLinkError e) {
                        final String dll = "/JXGrabKey64.so";
                        this.fromJarToFs(jarPath + dll, tmpDir + dll);
                        System.load(tmpDir + dll);
                    }
                } catch (final Throwable ex2) {
                    throw new RuntimeException("Could not load JXGrabKey.so from local file system or from inside JAR", ex2);
                }
            }
        }