All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.jtransc.media.lwjgl.LwjglInput Maven / Gradle / Ivy

There is a newer version: 0.3.0
Show newest version
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