chore: unlock keyboardStateLock before calling onKeysDownChange

This commit is contained in:
Siyuan Miao 2025-09-04 11:24:31 +02:00
parent 2e1b6f199c
commit 867ed88c6e
1 changed files with 11 additions and 8 deletions

View File

@ -148,6 +148,8 @@ func (u *UsbGadget) GetKeysDownState() KeysDownState {
func (u *UsbGadget) updateKeyDownState(state KeysDownState) {
u.log.Trace().Interface("old", u.keysDownState).Interface("new", state).Msg("acquiring keyboardStateLock for updateKeyDownState")
// this is intentional to unlock keyboard state lock before onKeysDownChange callback
{
u.keyboardStateLock.Lock()
defer u.keyboardStateLock.Unlock()
@ -158,6 +160,7 @@ func (u *UsbGadget) updateKeyDownState(state KeysDownState) {
u.log.Trace().Interface("old", u.keysDownState).Interface("new", state).Msg("keysDownState updated")
u.keysDownState = state
}
if u.onKeysDownChange != nil {
u.log.Trace().Interface("state", state).Msg("calling onKeysDownChange")