How to capture global key presses in java

前端 未结 2 2126
再見小時候
再見小時候 2020-11-28 16:06

I made a simple Media player in Java but I want to record global key presses like Ctrl + P to pause/resume the current music being pla

2条回答
  •  心在旅途
    2020-11-28 16:31

    Try JNativeHook. Here is a sample that shows how to use it to capture global key presses:

    try
    {
        GlobalScreen.registerNativeHook();
        GlobalScreen.addNativeKeyListener(new NativeKeyListener()
        {
    
            @Override
            public void nativeKeyTyped(NativeKeyEvent nativeEvent)
            {
            }
    
            @Override
            public void nativeKeyReleased(NativeKeyEvent nativeEvent)
            {
                String keyText=NativeKeyEvent.getKeyText(nativeEvent.getKeyCode());
                System.out.println("User typed: "+keyText);
            }
    
            @Override
            public void nativeKeyPressed(NativeKeyEvent nativeEvent)
            {   
            }
         });
    }
    catch (NativeHookException e)
    {
        e.printStackTrace();
    }
    

    If you are using maven, add this to your pom.xml:

    
        com.1stleg
        jnativehook
        2.1.0
    
    

提交回复
热议问题