javawindowskeyboard

How can I toggle Caps Lock, Scroll Lock, and Num Lock programmatically in Windows?


Is there a method to turn on/off Caps Lock, Scroll Lock and Num Lock on Windows? I'm making a Morse Code program which blinks the Scroll Lock LED on a keyboard.

My preference is Java.


Solution

  • The Java code is...

    Get the Toolkit object...

    Toolkit toolkit = Toolkit.getDefaultToolkit();
    

    To turn on Caps Lock, Scroll Lock, Num Lock...

    toolkit.setLockingKeyState(KeyEvent.VK_CAPS_LOCK, true);
    toolkit.setLockingKeyState(KeyEvent.VK_SCROLL_LOCK, true);
    toolkit.setLockingKeyState(KeyEvent.VK_NUM_LOCK, true);
    

    To turn off Caps Lock, Scroll Lock, Num Lock...

    toolkit.setLockingKeyState(KeyEvent.VK_CAPS_LOCK, false);
    toolkit.setLockingKeyState(KeyEvent.VK_SCROLL_LOCK, false);
    toolkit.setLockingKeyState(KeyEvent.VK_NUM_LOCK, false);