簡體   English   中英

JAVA中的azerty鍵盤的鍵代碼

[英]KeyCodes for azerty keyboard in JAVA

因此,我對Java編程還不熟悉,所以我試圖弄清楚keyEventListeners在Java中是如何工作的。 我已經設法制作了一個微型程序,您可以在其中操縱一個紅色方塊,但是唯一的問題是,它只能在QWERTY鍵盤上運行。

這是檢查keyCode的代碼:

public void keyPressed(KeyEvent e){
    int c = e.getKeyCode();

    if(c == KeyEvent.VK_LEFT){
        velX = -1;
        velY = 0;
    }
    if(c == KeyEvent.VK_UP){
        velX = 0;
        velY = -1;
    }
    if(c == KeyEvent.VK_RIGHT){
        velX = 1;
        velY = 0;
    }
    if(c == KeyEvent.VK_DOWN){
        velX = 0;
        velY = 1;
    }
}

如何將其更改為azerty箭頭鍵,以及(如果可能的話)兩者? 提前致謝。

您可以將無法識別的鍵碼與鍵字符一起打印(對於箭頭鍵可能不太有用)。 這樣,您可以找出不同類型鍵盤上的鍵控代碼是什么。

箭頭鍵在azerty鍵盤上是否還有其他鍵代碼,或者這些鍵是否映射到相同的鍵代碼(KeyEvent.VK_LEFT及其他)? 如果還有其他鍵代碼,則可以將其添加到if條件中。

在代碼中:

public void customKeyPressed(KeyEvent e){
    int c = e.getKeyCode();

    if(c == KeyEvent.VK_LEFT || c == AZERTY_LEFT){
        velX = -1;
        velY = 0;
    } else if(c == KeyEvent.VK_UP || c == AZERTY_UP){
        velX = 0;
        velY = -1;
    } else if(c == KeyEvent.VK_RIGHT || c == AZERTY_RIGHT){
        velX = 1;
        velY = 0;
    } else if (c == KeyEvent.VK_DOWN || c == AZERTY_DOWN) {
        velX = 0;
        velY = 1;
    } else
        System.out.println(e.getKeyChar() + " = " + c);
}

暫無
暫無

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

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