Initial
This commit is contained in:
50
app/src/main/java/net/mezimmah/wkt9/keypad/KeyCodeMapping.kt
Normal file
50
app/src/main/java/net/mezimmah/wkt9/keypad/KeyCodeMapping.kt
Normal file
@@ -0,0 +1,50 @@
|
||||
package net.mezimmah.wkt9.keypad
|
||||
|
||||
import java.util.Properties
|
||||
|
||||
class KeyCodeMapping(
|
||||
private val keyMap: Map<Int, Key>,
|
||||
) {
|
||||
|
||||
fun key(keyCode: Int): Key? {
|
||||
return keyMap[keyCode]
|
||||
}
|
||||
|
||||
companion object {
|
||||
val basic = mapOf(
|
||||
7 to Key.N0,
|
||||
8 to Key.N1,
|
||||
9 to Key.N2,
|
||||
10 to Key.N3,
|
||||
11 to Key.N4,
|
||||
12 to Key.N5,
|
||||
13 to Key.N6,
|
||||
14 to Key.N7,
|
||||
15 to Key.N8,
|
||||
16 to Key.N9,
|
||||
17 to Key.STAR,
|
||||
18 to Key.POUND,
|
||||
82 to Key.DELETE,
|
||||
19 to Key.UP,
|
||||
20 to Key.DOWN,
|
||||
21 to Key.LEFT,
|
||||
22 to Key.RIGHT,
|
||||
23 to Key.SELECT
|
||||
)
|
||||
|
||||
fun fromProperties(props: Properties): KeyCodeMapping {
|
||||
val keyMap = HashMap<Int, Key>()
|
||||
|
||||
this.basic.forEach {
|
||||
val keyCode = props.getProperty("key.${it.value.name}")?.toInt() ?: it.key
|
||||
keyMap[keyCode] = it.value
|
||||
}
|
||||
|
||||
return KeyCodeMapping(keyMap)
|
||||
}
|
||||
|
||||
fun default(): KeyCodeMapping {
|
||||
return KeyCodeMapping(basic)
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user