mirror of
https://gitlab.bixilon.de/bixilon/minosoft.git
synced 2025-09-16 10:55:01 -04:00
input handler: fix unpressing keys when consumer is set
This commit is contained in:
parent
822972ff1f
commit
17b1326a90
@ -63,6 +63,9 @@ class RenderWindowInputHandler(
|
|||||||
val interactionManager = InteractionManager(context)
|
val interactionManager = InteractionManager(context)
|
||||||
var inputHandler: InputHandler? = null
|
var inputHandler: InputHandler? = null
|
||||||
set(value) {
|
set(value) {
|
||||||
|
if (field == value) {
|
||||||
|
return
|
||||||
|
}
|
||||||
field = value
|
field = value
|
||||||
|
|
||||||
deactivateAll()
|
deactivateAll()
|
||||||
@ -132,9 +135,8 @@ class RenderWindowInputHandler(
|
|||||||
keysDown.clear()
|
keysDown.clear()
|
||||||
keysLastDownTime.clear()
|
keysLastDownTime.clear()
|
||||||
|
|
||||||
val iterator = keyBindingCallbacks.iterator()
|
for ((name, pair) in keyBindingCallbacks) {
|
||||||
for ((name, pair) in iterator) {
|
val down = name in keyBindingsDown
|
||||||
val down = keyBindingsDown.contains(name)
|
|
||||||
if (!down || pair.defaultPressed) {
|
if (!down || pair.defaultPressed) {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
@ -151,7 +153,7 @@ class RenderWindowInputHandler(
|
|||||||
for (callback in pair.callback) {
|
for (callback in pair.callback) {
|
||||||
callback(false)
|
callback(false)
|
||||||
}
|
}
|
||||||
iterator.remove()
|
keyBindingsDown -= name
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user