1

I want to capture key presses on Windows like Fn+Pause, Fn+VolumeUp in my Java Application but I am unable to detect their KeyCodes.

addKeyListener(new KeyAdapter() {
        @Override
        public void keyPressed(KeyEvent e) {
            System.out.println(e.getKeyCode());
        }
    });

Using this snippet it prints 0 for all the Multimedia Key Presses !

Kindly suggest a suitable method for finding the keyCode and thereby utilizing it in Java Application.

Andrew Thompson
  • 168,117
  • 40
  • 217
  • 433
Snehasish
  • 1,051
  • 5
  • 20
  • 37

2 Answers2

3

Use the JIntellitype library.

This API is a Java JNI library that uses a C++ DLL to do all the communication with Windows. That also means the platform on which you are running must be Windows.

If you are in Linux use JXGrabKey

In MacOSX use OSSupport

Extreme Coders
  • 3,441
  • 2
  • 39
  • 55
0

Check the KeyEvent constants for some special keys. Other special keys might indeed not be "recognized".

See this thread as well.

Community
  • 1
  • 1
Mena
  • 47,782
  • 11
  • 87
  • 106