MCPcopy Create free account
hub / github.com/OpenEndedGroup/Field2 / KeyEventMapping

Class KeyEventMapping

src/main/java/field/graphics/util/KeyEventMapping.kt:9–99  ·  view source on GitHub ↗

import org.cef.browser.CefBrowser_N;

Source from the content-addressed store, hash-verified

7import java.util.HashMap
8import field.graphics.util.KeyEventMapping
9import org.lwjgl.glfw.GLFW
10import java.awt.event.KeyEvent
11import java.lang.IllegalAccessException
12import java.lang.ClassCastException
13
14//import org.cef.browser.CefBrowser_N;
15class KeyEventMapping {
16 var keyCodes: BiMap<Int, Int> = HashBiMap.create()
17 var glfwModifiers: MutableSet<Int> = LinkedHashSet()
18 var forceTyped: Map<Int, Char> = LinkedHashMap()
19 fun translateCode(glfwcode: Int): Int? {
20 return keyCodes.inverse()[glfwcode]
21 }
22
23 fun isModifier(glfwcode: Int): Boolean {
24 return glfwModifiers.contains(glfwcode)
25 }
26
27 fun isForcedTyped(glfwcode: Int): Char? {
28 return forceTyped[glfwcode]
29 }
30
31 companion object {
32 var lookupMap: HashMap<Int, String>? = null
33 @JvmStatic
34 fun lookup(num: Int): String? {
35 if (lookupMap == null) {
36 lookupMap = HashMap()
37 val ff = GLFW::class.java.fields
38 for (fff in ff) {
39 try {
40 if (fff.name
41 .startsWith("GLFW_KEY")
42 ) lookupMap!![(fff[null] as Number).toInt()] = fff.name
43 } catch (e: IllegalAccessException) {
44 } catch (e: ClassCastException) {
45 }
46 }
47 }
48 return lookupMap!![num]
49 }
50 }
51
52 init {
53 keyCodes[KeyEvent.VK_ENTER] = GLFW.GLFW_KEY_ENTER
54 keyCodes[KeyEvent.VK_UP] = GLFW.GLFW_KEY_UP
55 keyCodes[KeyEvent.VK_DOWN] = GLFW.GLFW_KEY_DOWN
56 keyCodes[KeyEvent.VK_LEFT] = GLFW.GLFW_KEY_LEFT
57 keyCodes[KeyEvent.VK_RIGHT] = GLFW.GLFW_KEY_RIGHT
58 keyCodes[KeyEvent.VK_PAGE_UP] = GLFW.GLFW_KEY_PAGE_UP
59 keyCodes[KeyEvent.VK_PAGE_DOWN] = GLFW.GLFW_KEY_PAGE_DOWN
60 keyCodes[KeyEvent.VK_ESCAPE] = GLFW.GLFW_KEY_ESCAPE
61 keyCodes[KeyEvent.VK_END] = GLFW.GLFW_KEY_END
62 keyCodes[KeyEvent.VK_HOME] = GLFW.GLFW_KEY_HOME
63 keyCodes[KeyEvent.VK_BACK_SPACE] = GLFW.GLFW_KEY_BACKSPACE
64 keyCodes[KeyEvent.VK_DELETE] = GLFW.GLFW_KEY_DELETE
65 keyCodes[KeyEvent.VK_TAB] = GLFW.GLFW_KEY_TAB
66 keyCodes[KeyEvent.VK_CONTROL] = GLFW.GLFW_KEY_LEFT_CONTROL

Callers 2

BrowserClass · 0.85

Calls 2

createMethod · 0.45
addMethod · 0.45

Tested by

no test coverage detected