com.jtransc.media.lwjgl.LwjglInput Maven / Gradle / Ivy
package com.jtransc.media.lwjgl;
import org.lwjgl.glfw.GLFWKeyCallback;
import static org.lwjgl.glfw.GLFW.*;
class LwjglInput {
@SuppressWarnings("all")
private static GLFWKeyCallback keyCallback;
static void config(long window) {
glfwSetKeyCallback(window, keyCallback = new GLFWKeyCallback() {
@Override
public void invoke(long window, int key, int scancode, int action, int mods) {
if (key == GLFW_KEY_ESCAPE && action == GLFW_RELEASE)
glfwSetWindowShouldClose(window, GLFW_TRUE); // We will detect this in our rendering loop
}
});
//Gdx.input.setInputProcessor(new InputProcessor() {
// private JTranscInput.MouseInfo mouseInfo = new JTranscInput.MouseInfo();
// private JTranscInput.KeyInfo keyInfo = new JTranscInput.KeyInfo();
//
// @Override
// public boolean keyDown(int keyCode) {
// keyInfo.keyCode = transformKeyCode(keyCode);
// JTranscInput.impl.onKeyDown(keyInfo);
// return false;
// }
//
// @Override
// public boolean keyUp(int keyCode) {
// keyInfo.keyCode = transformKeyCode(keyCode);
// JTranscInput.impl.onKeyUp(keyInfo);
// return false;
// }
//
// private HashMap map = null;
//
// private void populateMap(HashMap map) {
// map.put(Input.Keys.A, JTranscInput.Keys.A);
// map.put(Input.Keys.ALT_LEFT, JTranscInput.Keys.ALT);
// map.put(Input.Keys.ALT_RIGHT, JTranscInput.Keys.ALT);
// map.put(Input.Keys.META_SYM_ON, JTranscInput.Keys.LEFT_WINDOW_KEY);
// map.put(Input.Keys.SHIFT_LEFT, JTranscInput.Keys.SHIFT);
// map.put(Input.Keys.SHIFT_RIGHT, JTranscInput.Keys.SHIFT);
// map.put(Input.Keys.CONTROL_LEFT, JTranscInput.Keys.CTRL);
// map.put(Input.Keys.CONTROL_RIGHT, JTranscInput.Keys.CTRL);
// map.put(Input.Keys.UP, JTranscInput.Keys.UP_ARROW);
// map.put(Input.Keys.DOWN, JTranscInput.Keys.DOWN_ARROW);
// map.put(Input.Keys.LEFT, JTranscInput.Keys.LEFT_ARROW);
// map.put(Input.Keys.RIGHT, JTranscInput.Keys.RIGHT_ARROW);
// }
//
// private int transformKeyCode(int keyCode) {
// if (map == null) {
// map = new HashMap();
// Class> gdxKeys = Input.Keys.class;
// Class> jtranscKeys = JTranscInput.Keys.class;
//
// for (Field gdxField : gdxKeys.getDeclaredFields()) {
// try {
// Field jtranscField = jtranscKeys.getField(gdxField.getName());
// if (jtranscField != null) {
// int from = gdxField.getInt(null);
// int to = jtranscField.getInt(null);
// map.put(from, to);
// }
// } catch (NoSuchFieldException e) {
// //e.printStackTrace();
// } catch (IllegalAccessException e) {
// e.printStackTrace();
// }
// }
// populateMap(map);
// }
//
// Integer transformedKeyCode = map.get(keyCode);
// return (transformedKeyCode != null) ? transformedKeyCode.intValue() : JTranscInput.Keys.UNKNOWN;
// }
//
// @Override
// public boolean keyTyped(char character) {
// return false;
// }
//
// private void setRawMouse(int screenX, int screenY, int button) {
// mouseInfo.setScreenXY(
// (int) (screenX * Gdx.graphics.getDensity()),
// (int) (screenY * Gdx.graphics.getDensity())
// );
// mouseInfo.buttons = button;
// }
//
// @Override
// public boolean touchDown(int screenX, int screenY, int pointer, int button) {
// //* Gdx.graphics.getDensity()
// setRawMouse(screenX, screenY, 1);
// JTranscInput.impl.onMouseDown(mouseInfo);
// return false;
// }
//
// @Override
// public boolean touchUp(int screenX, int screenY, int pointer, int button) {
// setRawMouse(screenX, screenY, 0);
// JTranscInput.impl.onMouseUp(mouseInfo);
// return false;
// }
//
// @Override
// public boolean touchDragged(int screenX, int screenY, int pointer) {
// //System.out.println("touchDragged!!");
// setRawMouse(screenX, screenY, 1);
// JTranscInput.impl.onMouseMove(mouseInfo);
// return false;
// }
//
// @Override
// public boolean mouseMoved(int screenX, int screenY) {
// //System.out.println("mouseMoved!!");
// setRawMouse(screenX, screenY, mouseInfo.buttons);
// JTranscInput.impl.onMouseMove(mouseInfo);
// return false;
// }
//
// @Override
// public boolean scrolled(int amount) {
// JTranscInput.impl.onMouseWheel(amount);
// return false;
// }
//});
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy