簡體   English   中英

如何檢查為 NativeKeyEvent 按下了哪些修飾符?

[英]How to check which modifiers were pressed for a NativeKeyEvent?

我正在嘗試使用 jnativehook 編寫我的第一個全局熱鍵偵聽器。 修飾符部分似乎沒有針對初學者的清晰描述,但我相信這對於熟悉的人來說是一個快速回答的問題。

我想測試NativeInputEvent.META_MASK是否在修飾符字段中。 不知道該怎么做,我開始搜索有關圖書館的一些討論。 在這里,作者說它“與核心 Java 中的 AWT 修飾符完全相同”(大多數新開發人員可能使用 swing 或 JavaFX,所以這對我們來說沒有直接意義)。 我搜索了有關 AWT 修飾符的解釋,發現說“您可以通過將其常量與修飾符字段進行 AND 操作來檢查是否按下了任何修飾鍵”。

所以,我不確切知道按位和/或按位或如何工作。 我查了一下,從這里它說按位並占用兩位,如果兩位都是 1,則返回 1。我不明白這如何適用於比較兩個整數: NativeInputEvent.META_MASK和事件的修飾符字段.

我錯過了什么?

您需要使用修飾符位掩碼:

void nativeKeyTyped(NativeKeyEvent nativeEvent) {
    if (nativeEvent.getModifiers() & NativeInputEvent.META_MASK) {
        // META_MASK (left or right) was pressed.
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM