mirror of
https://github.com/chylex/IntelliJ-AceJump.git
synced 2025-05-05 02:34:03 +02:00
WIP
This commit is contained in:
parent
ffb4573eda
commit
82de69d53c
@ -5,32 +5,46 @@ package org.acejump.input
|
|||||||
* ergonomically difficult they are to press.
|
* ergonomically difficult they are to press.
|
||||||
*/
|
*/
|
||||||
@Suppress("unused", "SpellCheckingInspection")
|
@Suppress("unused", "SpellCheckingInspection")
|
||||||
enum class KeyLayout(internal val rows: Array<String>, priority: String, internal val characterRemapping: Map<Char, Char> = emptyMap()) {
|
enum class KeyLayout(
|
||||||
|
internal val rows: Array<String>,
|
||||||
|
priority: String,
|
||||||
|
private val characterSides: Pair<Set<Char>, Set<Char>> = Pair(emptySet(), emptySet()),
|
||||||
|
internal val characterRemapping: Map<Char, Char> = emptyMap(),
|
||||||
|
) {
|
||||||
COLEMK(arrayOf("1234567890", "qwfpgjluy", "arstdhneio", "zxcvbkm"), priority = "tndhseriaovkcmbxzgjplfuwyq5849673210"),
|
COLEMK(arrayOf("1234567890", "qwfpgjluy", "arstdhneio", "zxcvbkm"), priority = "tndhseriaovkcmbxzgjplfuwyq5849673210"),
|
||||||
WORKMN(arrayOf("1234567890", "qdrwbjfup", "ashtgyneoi", "zxmcvkl"), priority = "tnhegysoaiclvkmxzwfrubjdpq5849673210"),
|
WORKMN(arrayOf("1234567890", "qdrwbjfup", "ashtgyneoi", "zxmcvkl"), priority = "tnhegysoaiclvkmxzwfrubjdpq5849673210"),
|
||||||
DVORAK(arrayOf("1234567890", "pyfgcrl", "aoeuidhtns", "qjkxbmwvz"), priority = "uhetidonasxkbjmqwvzgfycprl5849673210"),
|
DVORAK(arrayOf("1234567890", "pyfgcrl", "aoeuidhtns", "qjkxbmwvz"), priority = "uhetidonasxkbjmqwvzgfycprl5849673210"),
|
||||||
QWERTY(arrayOf("1234567890", "qwertyuiop", "asdfghjkl", "zxcvbnm"), priority = "fjghdkslavncmbxzrutyeiwoqp5849673210"),
|
QWERTY(arrayOf("1234567890", "qwertyuiop", "asdfghjkl", "zxcvbnm"), priority = "fjghdkslavncmbxzrutyeiwoqp5849673210"),
|
||||||
QWERTZ(arrayOf("1234567890", "qwertzuiop", "asdfghjkl", "yxcvbnm"), priority = "fjghdkslavncmbxyrutzeiwoqp5849673210"),
|
QWERTZ(arrayOf("1234567890", "qwertzuiop", "asdfghjkl", "yxcvbnm"), priority = "fjghdkslavncmbxyrutzeiwoqp5849673210"),
|
||||||
QWERTZ_CZ(arrayOf("1234567890", "qwertzuiop", "asdfghjkl", "yxcvbnm"), priority = "fjghdkslavncmbxyrutzeiwoqp5849673210", characterRemapping = mapOf(
|
QWERTZ_CZ(
|
||||||
'+' to '1',
|
arrayOf("1234567890", "qwertzuiop", "asdfghjkl", "yxcvbnm"),
|
||||||
'ě' to '2',
|
priority = "fjghdkslavncmbxyrutzeiwoqp5849673210",
|
||||||
'š' to '3',
|
characterSides = sides("", ""),
|
||||||
'č' to '4',
|
characterRemapping = mapOf(
|
||||||
'ř' to '5',
|
'+' to '1',
|
||||||
'ž' to '6',
|
'ě' to '2',
|
||||||
'ý' to '7',
|
'š' to '3',
|
||||||
'á' to '8',
|
'č' to '4',
|
||||||
'í' to '9',
|
'ř' to '5',
|
||||||
'é' to '0'
|
'ž' to '6',
|
||||||
)),
|
'ý' to '7',
|
||||||
|
'á' to '8',
|
||||||
|
'í' to '9',
|
||||||
|
'é' to '0'
|
||||||
|
)
|
||||||
|
),
|
||||||
QGMLWY(arrayOf("1234567890", "qgmlwyfub", "dstnriaeoh", "zxcvjkp"), priority = "naterisodhvkcpjxzlfmuwygbq5849673210"),
|
QGMLWY(arrayOf("1234567890", "qgmlwyfub", "dstnriaeoh", "zxcvjkp"), priority = "naterisodhvkcpjxzlfmuwygbq5849673210"),
|
||||||
QGMLWB(arrayOf("1234567890", "qgmlwbyuv", "dstnriaeoh", "zxcfjkp"), priority = "naterisodhfkcpjxzlymuwbgvq5849673210"),
|
QGMLWB(arrayOf("1234567890", "qgmlwbyuv", "dstnriaeoh", "zxcfjkp"), priority = "naterisodhfkcpjxzlymuwbgvq5849673210"),
|
||||||
NORMAN(arrayOf("1234567890", "qwdfkjurl", "asetgynioh", "zxcvbpm"), priority = "tneigysoahbvpcmxzjkufrdlwq5849673210");
|
NORMAN(arrayOf("1234567890", "qwdfkjurl", "asetgynioh", "zxcvbpm"), priority = "tneigysoahbvpcmxzjkufrdlwq5849673210");
|
||||||
|
|
||||||
internal val allChars = rows.joinToString("").toCharArray().apply(CharArray::sort).joinToString("")
|
internal val allChars = rows.joinToString("").toCharArray().apply(CharArray::sort).joinToString("")
|
||||||
internal val allPriorities = priority.mapIndexed { index, char -> char to index }.toMap()
|
private val allPriorities = priority.mapIndexed { index, char -> char to index }.toMap()
|
||||||
|
|
||||||
internal fun priority(): (Char) -> Int {
|
internal fun priority(): (Char) -> Int {
|
||||||
return { allPriorities.getOrDefault(it, Int.MAX_VALUE) }
|
return { allPriorities.getOrDefault(it, Int.MAX_VALUE) }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private fun sides(left: String, right: String): Pair<Set<Char>, Set<Char>> {
|
||||||
|
return Pair(left.toCharArray().toSet(), right.toCharArray().toSet())
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user