mirror of
https://github.com/curioustorvald/Terrarum.git
synced 2026-06-12 11:34:05 +09:00
lang composition
This commit is contained in:
@@ -1,10 +0,0 @@
|
||||
package net.torvald.terrarum.gamecontroller
|
||||
|
||||
/**
|
||||
* Created by minjaesong on 2015-12-31.
|
||||
*/
|
||||
enum class EnumKeyFunc {
|
||||
UI_CONSOLE, UI_BASIC_INFO,
|
||||
MOVE_LEFT, MOVE_RIGHT, MOVE_UP, MOVE_DOWN, JUMP,
|
||||
HAND_PRIMARY, HAND_SECONDARY
|
||||
}
|
||||
@@ -1,93 +0,0 @@
|
||||
package net.torvald.terrarum.gamecontroller
|
||||
|
||||
/**
|
||||
* Created by minjaesong on 2016-01-15.
|
||||
*/
|
||||
/*@Deprecated("Use Gdx.Input.Keys")
|
||||
object DeprecatedAsFuckKey {
|
||||
|
||||
val RETURN = 28
|
||||
val BACKSPACE = 14
|
||||
val GRAVE = 41
|
||||
val TAB = 15
|
||||
val ESCAPE = 1
|
||||
val SPACE = 57
|
||||
val CAPS_LOCK = 58
|
||||
val L_CONTROL = 29
|
||||
|
||||
// same position keys
|
||||
val L_ALT = 56
|
||||
val L_COMMAND = 219 // Mac
|
||||
|
||||
val DELETE = 211
|
||||
|
||||
val L_SHIFT = 42
|
||||
val R_SHIFT = 54
|
||||
|
||||
val UP = 200
|
||||
val DOWN = 208
|
||||
val LEFT = 203
|
||||
val RIGHT = 205
|
||||
|
||||
val F1 = 59
|
||||
val F2 = 60
|
||||
val F3 = 61
|
||||
val F4 = 62
|
||||
|
||||
val F5 = 63
|
||||
val F6 = 64
|
||||
val F7 = 65
|
||||
val F8 = 66
|
||||
|
||||
val F9 = 67
|
||||
val F10 = 68
|
||||
val F11 = 87
|
||||
val F12 = 88
|
||||
|
||||
val NUM_1 = 8
|
||||
val NUM_2 = 9
|
||||
val NUM_3 = 10
|
||||
val NUM_4 = 11
|
||||
val NUM_5 = 12
|
||||
val NUM_6 = 13
|
||||
val NUM_7 = 14
|
||||
val NUM_8 = 15
|
||||
val NUM_9 = 16
|
||||
val NUM_0 = 7
|
||||
|
||||
// JInput is QWERTY-based
|
||||
val Q = 16
|
||||
val W = 17
|
||||
val E = 18
|
||||
val R = 19
|
||||
val T = 20
|
||||
val Y = 21
|
||||
val U = 22
|
||||
val I = 23
|
||||
val O = 24
|
||||
val P = 25
|
||||
|
||||
val A = 30
|
||||
val S = 31
|
||||
val D = 32
|
||||
val F = 33
|
||||
val G = 34
|
||||
val H = 35
|
||||
val J = 36
|
||||
val K = 37
|
||||
val L = 38
|
||||
val SEMICOLON = 39
|
||||
|
||||
val Z = 44
|
||||
val X = 45
|
||||
val C = 46
|
||||
val V = 47
|
||||
val B = 48
|
||||
val N = 49
|
||||
val M = 50
|
||||
|
||||
val PGUP = 201
|
||||
val PGDN = 209
|
||||
val HOME = 199
|
||||
val END = 207
|
||||
}*/
|
||||
@@ -1,86 +0,0 @@
|
||||
package net.torvald.terrarum.gamecontroller
|
||||
|
||||
import com.badlogic.gdx.utils.JsonValue
|
||||
import net.torvald.terrarum.utils.JsonFetcher
|
||||
import java.util.*
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Created by minjaesong on 2016-07-28.
|
||||
*/
|
||||
object KeyLayout {
|
||||
|
||||
/**
|
||||
* HashMap<identifier: String, KeyLayoutClass>
|
||||
*/
|
||||
val layouts: HashMap<String, KeyLayoutClass>
|
||||
|
||||
init {
|
||||
layouts = HashMap<String, KeyLayoutClass>()
|
||||
|
||||
val map = net.torvald.terrarum.utils.JsonFetcher("./res/keylayout.json")
|
||||
JsonFetcher.forEach(map) { name, entry ->
|
||||
layouts.put(
|
||||
name,
|
||||
KeyLayoutClass(
|
||||
entry.getString("layout"),
|
||||
entry.getString("name"),
|
||||
entry.getString("capslock")
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
class KeyLayoutClass(layoutString: String, val layoutName: String, capsMode: String) {
|
||||
val disposition = intArrayOf(
|
||||
// alphanumeric
|
||||
2, 3, 4, 5, 6, 7, 8, 9,10,11,12,13,
|
||||
16,17,18,19,20,21,22,23,24,25,26,27,
|
||||
30,31,32,33,34,35,36,37,38,39,40,
|
||||
44,45,46,47,48,49,50,51,52,53,
|
||||
// control keys
|
||||
14, // back
|
||||
15, // tab
|
||||
58, 28, // capslock, return/enter
|
||||
42, // lshift
|
||||
29, 57 // lcontrol, space
|
||||
)
|
||||
val engraving = ArrayList<String>(disposition.size)
|
||||
|
||||
init {
|
||||
/* ================== *
|
||||
* parse layoutString *
|
||||
* ================== */
|
||||
// zero-fill engraving
|
||||
for (i in 1..disposition.size) engraving.add("")
|
||||
|
||||
// Backspace
|
||||
engraving[disposition.indexOf(14)] = "BACK"
|
||||
// Tab
|
||||
engraving[disposition.indexOf(15)] = "TAB"
|
||||
// Capslock
|
||||
engraving[disposition.indexOf(58)] = "CAPS"
|
||||
// Enter
|
||||
engraving[disposition.indexOf(28)] = "ENTER"
|
||||
// LShift
|
||||
engraving[disposition.indexOf(42)] = "SHIFT"
|
||||
// Control
|
||||
engraving[disposition.indexOf(29)] = "CTRL"
|
||||
// Space
|
||||
engraving[disposition.indexOf(57)] = "SPACE"
|
||||
|
||||
// alphanumeric
|
||||
for (i in 0..layoutString.length - 1) {
|
||||
engraving[disposition.indexOf(i)] = layoutString[i].toString()
|
||||
}
|
||||
}
|
||||
|
||||
fun codeToLabel(code: Int) = engraving[disposition.indexOf(code)]
|
||||
|
||||
fun labelToCode(char: Char) = disposition[engraving.indexOf(char.toUpperCase().toString())]
|
||||
}
|
||||
Reference in New Issue
Block a user