public boolean all_keys_on()
{
return numlock(true) && capslock(true) && scrolllock(true);
}
public boolean all_keys_off()
{
return numlock(false) && capslock(false) && scrolllock(false);
}
public boolean numlock(boolean b)
{
Toolkit tool = Toolkit.getDefaultToolkit();
try
{
tool.setLockingKeyState(KeyEvent.VK_NUM_LOCK,b);
}
catch(Exception e)
{
return false;
}
return true;
}
public boolean capslock(boolean b)
{
Toolkit tool = Toolkit.getDefaultToolkit();
try
{
tool.setLockingKeyState(KeyEvent.VK_CAPS_LOCK,b);
}
catch(Exception e)
{
return false;
}
return true;
}
public boolean scrolllock(boolean b)
{
Toolkit tool = Toolkit.getDefaultToolkit();
try
{
tool.setLockingKeyState(KeyEvent.VK_SCROLL_LOCK,b);
}
catch(Exception e)
{
return false;
}
return true;
}
CXB1YmxpYyBib29sZWFuIGFsbF9rZXlzX29uKCkKCXsKCQlyZXR1cm4gbnVtbG9jayh0cnVlKSAmJiBjYXBzbG9jayh0cnVlKSAmJiBzY3JvbGxsb2NrKHRydWUpOwoJfQoJCglwdWJsaWMgYm9vbGVhbiBhbGxfa2V5c19vZmYoKQoJewoJCXJldHVybiBudW1sb2NrKGZhbHNlKSAmJiBjYXBzbG9jayhmYWxzZSkgJiYgc2Nyb2xsbG9jayhmYWxzZSk7Cgl9CgkKCXB1YmxpYyBib29sZWFuIG51bWxvY2soYm9vbGVhbiBiKQoJewoJCVRvb2xraXQgdG9vbCA9IFRvb2xraXQuZ2V0RGVmYXVsdFRvb2xraXQoKTsKCQl0cnkKCQl7CgkJCXRvb2wuc2V0TG9ja2luZ0tleVN0YXRlKEtleUV2ZW50LlZLX05VTV9MT0NLLGIpOwoJCX0KCQljYXRjaChFeGNlcHRpb24gZSkKCQl7CgkJCXJldHVybiBmYWxzZTsKCQl9CgkJcmV0dXJuIHRydWU7Cgl9CgkKCXB1YmxpYyBib29sZWFuIGNhcHNsb2NrKGJvb2xlYW4gYikKCXsKCQlUb29sa2l0IHRvb2wgPSBUb29sa2l0LmdldERlZmF1bHRUb29sa2l0KCk7CgkJdHJ5CgkJewoJCQl0b29sLnNldExvY2tpbmdLZXlTdGF0ZShLZXlFdmVudC5WS19DQVBTX0xPQ0ssYik7CgkJfQoJCWNhdGNoKEV4Y2VwdGlvbiBlKQoJCXsKCQkJcmV0dXJuIGZhbHNlOwoJCX0KCQlyZXR1cm4gdHJ1ZTsKCX0KCQoJcHVibGljIGJvb2xlYW4gc2Nyb2xsbG9jayhib29sZWFuIGIpCgl7CgkJVG9vbGtpdCB0b29sID0gVG9vbGtpdC5nZXREZWZhdWx0VG9vbGtpdCgpOwoJCXRyeQoJCXsKCQkJdG9vbC5zZXRMb2NraW5nS2V5U3RhdGUoS2V5RXZlbnQuVktfU0NST0xMX0xPQ0ssYik7CgkJfQoJCWNhdGNoKEV4Y2VwdGlvbiBlKQoJCXsKCQkJcmV0dXJuIGZhbHNlOwoJCX0KCQlyZXR1cm4gdHJ1ZTsKCX0=