Почему jnativehook не регистрирует события мыши / ключа в Eclipse?

Я играл с jnativehook, используя приведенный ниже пример кода. Однако во время использования я заметил, что он не регистрирует события клавиатуры / мыши в терминале или в Eclipse, но регистрирует их в Atom. Почему он может регистрировать события в Atom, а не в Eclipse? Кроме того, есть ли какие-нибудь обходные пути / другие библиотеки, которые могли бы воспринимать нажатия клавиш в Eclipse? Спасибо. Код работает на Ubuntu с Java 8.

import org.jnativehook.GlobalScreen;
import org.jnativehook.NativeHookException;
import org.jnativehook.keyboard.NativeKeyEvent;
import org.jnativehook.keyboard.NativeKeyListener;

public class GlobalKeyListenerExample implements NativeKeyListener {
public void nativeKeyPressed(NativeKeyEvent e) {
    System.out.println("Key Pressed: " + NativeKeyEvent.getKeyText(e.getKeyCode()));

    if (e.getKeyCode() == NativeKeyEvent.VC_ESCAPE) {
        try {
            GlobalScreen.unregisterNativeHook();
        } catch (NativeHookException e1) {
            e1.printStackTrace();
        }
    }
}

public void nativeKeyReleased(NativeKeyEvent e) {
    System.out.println("Key Released: " + NativeKeyEvent.getKeyText(e.getKeyCode()));
}

public void nativeKeyTyped(NativeKeyEvent e) {
    System.out.println("Key Typed: " + NativeKeyEvent.getKeyText(e.getKeyCode()));
}

public static void main(String[] args) {
    try {
        GlobalScreen.registerNativeHook();
    }
    catch (NativeHookException ex) {
        System.err.println("There was a problem registering the native hook.");
        System.err.println(ex.getMessage());

        System.exit(1);
    }

    GlobalScreen.addNativeKeyListener(new GlobalKeyListenerExample());
}
}

0 ответов

Другие вопросы по тегам