all US layout is changed into Intl. equivalents with AltGr support; left Ctrl+Alt can substitute AltGr; added Russian keyboard layout

This commit is contained in:
minjaesong
2021-11-10 11:22:26 +09:00
parent 950e6f1778
commit 73b6fd3e96
12 changed files with 419 additions and 108 deletions

View File

@@ -56,8 +56,8 @@ object InputStrober {
stroboTime = System.nanoTime()
repeatCount += 1
val shiftin = keys.contains(Input.Keys.SHIFT_LEFT) || keys.contains(Input.Keys.SHIFT_RIGHT)
val altgrin = keys.contains(Input.Keys.ALT_RIGHT)
val shiftin = keys.containsSome(Input.Keys.SHIFT_LEFT, Input.Keys.SHIFT_RIGHT)
val altgrin = keys.contains(Input.Keys.ALT_RIGHT) || keys.containsAll(Input.Keys.ALT_LEFT, Input.Keys.CONTROL_LEFT)
val keysym0 = keysToStr(keymap, keys)
val newKeysym0 = keysToStr(keymap, keyDiff)
val keysym =
@@ -143,4 +143,19 @@ data class TerrarumKeyboardEvent(
val headkey: Int, // representative keycode
val repeatCount: Int,
val keycodes: IntArray
)
)
fun IntArray.containsAll(vararg keys: Int): Boolean {
keys.forEach {
if (!this.contains(it)) return false
}
return true
}
fun IntArray.containsSome(vararg keys: Int): Boolean {
keys.forEach {
if (this.contains(it)) return true
}
return false
}