From 15676f6129057abe399bb6faf6bd91e958de3335 Mon Sep 17 00:00:00 2001 From: Elias Naur Date: Sat, 10 Jun 2006 19:40:54 +0000 Subject: [PATCH] Mac OS X: Implement Display.isStateKeySet() --- src/java/org/lwjgl/opengl/MacOSXDisplay.java | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/src/java/org/lwjgl/opengl/MacOSXDisplay.java b/src/java/org/lwjgl/opengl/MacOSXDisplay.java index 80738c26..d87f2ed5 100644 --- a/src/java/org/lwjgl/opengl/MacOSXDisplay.java +++ b/src/java/org/lwjgl/opengl/MacOSXDisplay.java @@ -44,6 +44,7 @@ import java.awt.Point; import java.awt.Rectangle; import java.awt.Robot; import java.awt.Toolkit; +import java.awt.event.KeyEvent; import java.awt.image.BufferedImage; import java.lang.reflect.InvocationHandler; import java.lang.reflect.Method; @@ -413,7 +414,22 @@ final class MacOSXDisplay implements DisplayImplementation { } public int isStateKeySet(int key) { - return Keyboard.STATE_UNKNOWN; + int awt_key; + switch (key) { + case Keyboard.KEY_CAPITAL: + awt_key = KeyEvent.VK_CAPS_LOCK; + break; + case Keyboard.KEY_NUMLOCK: + awt_key = KeyEvent.VK_NUM_LOCK; + break; + case Keyboard.KEY_SYSRQ: + awt_key = KeyEvent.VK_SCROLL_LOCK; + break; + default: + return Keyboard.STATE_UNKNOWN; + } + boolean state = Toolkit.getDefaultToolkit().getLockingKeyState(awt_key); + return state ? Keyboard.STATE_ON : Keyboard.STATE_OFF; } /** Native cursor handles */