如何处理JNativeHook库的大小写敏感问题



我在接口NativeKeyListener的抽象方法releasedKey中有问题。

它仅以不区分大小写的方式捕获键(仅大写),但我需要它区分大小写。除此之外,keyTyped方法有问题。

Java的JNativeHook的任何解决方案或最佳选择?

下面是我的代码:
public void nativeKeyReleased(NativeKeyEvent e) {
    if(e.getKeyCode()==NativeKeyEvent.VC_ENTER) 
    { 
        line+="<Pressed ENTER>";   
        System.out.println(line); line=""; 
    } 
    else 
    { 
        line+=NativeKeyEvent.getKeyText(e.getKeyCode()); 
        display(e); 
    } 
}

虽然没有技术限制,但键入的事件总是在按下键时产生,以便在自动重复期间接收键入的事件。我不知道为什么你想要在释放时获得char,但如果你真的需要它,你需要在键输入时缓冲char,并在释放时耗尽缓冲区。一个简单的堆栈就可以达到这个目的。请注意,并非所有按下键事件都产生键入键的事件。因此,将键压入堆栈,弹出附加字符,并再次在键入中压入,然后最后弹出键释放。只要您的事件调度程序是单线程的,这应该就可以工作。

最新更新