60 lines
1.1 KiB
Java
60 lines
1.1 KiB
Java
package speiger.src.coreengine.rendering.input.bindings.utils;
|
|
|
|
import org.lwjgl.glfw.GLFW;
|
|
|
|
import speiger.src.coreengine.rendering.input.Keyboard;
|
|
import speiger.src.coreengine.rendering.input.Mouse;
|
|
|
|
public enum BindingType
|
|
{
|
|
KEYBOARD
|
|
{
|
|
@Override
|
|
public String getName(int key)
|
|
{
|
|
if(key >= GLFW.GLFW_KEY_F1 && key <= GLFW.GLFW_KEY_F25) return "F"+(key - GLFW.GLFW_KEY_F1+1);
|
|
else if(key == GLFW.GLFW_KEY_DELETE) return "Delete";
|
|
String s = GLFW.glfwGetKeyName(key, GLFW.glfwGetKeyScancode(key));
|
|
return s == null ? "Unkonwn" : s.toUpperCase();
|
|
}
|
|
|
|
@Override
|
|
public boolean isPressed(int key)
|
|
{
|
|
return Keyboard.isKeyFullyPressed(key);
|
|
}
|
|
},
|
|
MOUSE
|
|
{
|
|
@Override
|
|
public String getName(int key)
|
|
{
|
|
return "Button: "+key;
|
|
}
|
|
|
|
@Override
|
|
public boolean isPressed(int key)
|
|
{
|
|
return Mouse.isButtonPressed(key);
|
|
}
|
|
},
|
|
NONE
|
|
{
|
|
@Override
|
|
public String getName(int key)
|
|
{
|
|
return "None";
|
|
}
|
|
|
|
@Override
|
|
public boolean isPressed(int key)
|
|
{
|
|
return false;
|
|
}
|
|
};
|
|
|
|
public abstract String getName(int key);
|
|
|
|
public abstract boolean isPressed(int key);
|
|
}
|