2010-08-11 2 views
2

나는 윈도우 키를 사용하여 바인드하려고하는데 실패하고 있습니다. Alt 또는 Ctrl 키를 다른 것으로 바인딩 할 수 있습니다.자바 : 바인드 창 키

그러나 Windows 키를 사용하려면 가져올 수 없습니다.

가능합니까?

답변

3

나를 위해 일한 KeyEvent 클래스에서 다음 상수를 사용합니다.

/** 
* Constant for the Microsoft Windows "Windows" key. 
* It is used for both the left and right version of the key. 
* @see #getKeyLocation() 
* @since 1.5 
*/ 
public static final int VK_WINDOWS     = 0x020C; 

나는 방법을 다음에 내 모든 KeyListener 메서드를 구현하며 (나는 우분투 10을 사용하고 있습니다) 일 :

// Invoked when a key has been pressed. 
    public void keyPressed(KeyEvent e) { 
     // Returns the integer code for the key on the keyboard and if 
     // keyCode is equal to VK_WINDOWS)... 
     if (e.getKeyCode() == KeyEvent.VK_WINDOWS) { 
      // ...call the doIT method. 
      doIT(); 
     } 
    } 
1

Linux에서 Windows 키는 대개 메타 키에 매핑되므로 Event.META_MASK을 사용해보십시오.

+0

Event.META_MASK 우분투가가 매핑 10 – YoK

+0

우분투에 나를 위해 작동하지 않았다 " 감독자". Opensuse는 그것을 "메타"에 매핑합니다. xmodmap을 사용하여이를 변경할 수 있습니다. –