1

是否可以阻止分发密钥?我基本上想禁用数字键盘触发其数字 - 它应该触发一个宏。问题是两者兼而有之。这是代码:

@Override
public boolean dispatchKeyEvent(KeyEvent keyEvent) {

    //If key has macro assigned then fire that (working fine) 

    if (keyEvent.getKeyLocation() == KeyEvent.KEY_LOCATION_NUMPAD) {
         return true;
    }
}

阅读 KeyEventDispatacher 的规范,如果返回 false,则表示它将传递事件。它似乎在做同样的事情。有没有办法阻止它传递事件?还是我在做一些愚蠢的事情?

谢谢,

4

1 回答 1

3

您应该调用consume()该事件以显示它已被处理。

@Override
public boolean dispatchKeyEvent(KeyEvent keyEvent) {

    if (keyEvent.getKeyLocation() == KeyEvent.KEY_LOCATION_NUMPAD) {
         keyEvent.consume();
         return true;
    }
}
于 2013-01-29T12:41:33.733 回答