added isStateKeySet for checking LOCK keys

This commit is contained in:
Brian Matzon 2003-08-19 15:15:00 +00:00
parent caed320677
commit 61305f4107
4 changed files with 45 additions and 1 deletions

View file

@ -397,6 +397,18 @@ public class Keyboard {
assert created : "The keyboard has not been created.";
return keyDownBuffer.get(key) != 0;
}
/**
* Checks whether one of the state keys are "active"
*
* @param key State key to test (KEY_CAPITAL | KEY_NUMLOCK | KEY_SYSRQ)
* @return true if state key is on
*/
public static boolean isStateKeySet(int key) {
assert created : "The keyboard has not been created.";
return nisStateKeySet(key);
}
private static native boolean nisStateKeySet(int key);
/**
* Gets a key's name

View file

@ -133,7 +133,6 @@ public class KeyboardTest {
Keyboard.read();
int count = Keyboard.getNumKeyboardEvents();
System.out.println("Read " + count + " events");
while(Keyboard.next()) {
System.out.println("Checking key:" + Keyboard.getKeyName(Keyboard.key));
if(Keyboard.key == Keyboard.KEY_ESCAPE) {
@ -160,6 +159,17 @@ public class KeyboardTest {
position.y -= 1;
}
if(Keyboard.isStateKeySet(Keyboard.KEY_SCROLL)) {
System.out.println("SCROLL lock on");
}
if(Keyboard.isStateKeySet(Keyboard.KEY_CAPITAL)) {
System.out.println("CAPS lock on");
}
if(Keyboard.isStateKeySet(Keyboard.KEY_NUMLOCK)) {
System.out.println("NUM lock on");
}
}
if (count > 0) {
System.out.println();