java - 捕获 Control + Space 键盘事件

标签 java java-canvas

我希望leftCanvas捕获所有键盘事件,包括Control + Space。既然它触发了 native InputMethod,我怎样才能实现这一点?

class leftCanvas extends Canvas implements KeyListener {
    leftCanvas() {
        addKeyListener(this);
        enableInputMethods(false);
    }
    public void keyTyped(KeyEvent event) {
        System.out.println(event.getKeyChar());
        event.consume();
    }
    public void keyPressed(KeyEvent event) {
        event.consume();
    }
    public void keyReleased(KeyEvent event) {
        event.consume();
    }
}

最佳答案

我必须处理系统全局热键,例如 Super + E

看来JNI是必须的,我找到了项目jnativehook看起来真的不错!

关于java - 捕获 Control + Space 键盘事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17125254/

相关文章:

java - 我该如何减少游戏中大量对象造成的延迟?

java - 通过多线程的并发方法

java - 将MouseListener 添加到橡皮筋中的 Canvas

java - JAXB 编码器将父类(super class)编码为根元素并使用 xsi :type

java - 如何将 html 输入保存到列表中并在每次提交时显示?

java - Intellij 一行 getter/setter/constructor 美化代码

java - Android 设置自定义首选项布局

java - 尝试在Java程序中播放音乐

java - KeyListener 不起作用