mirror of https://github.com/jetkvm/kvm.git
Compare commits
No commits in common. "0bb3a6f3c29442d90f360ffd7df09c7f60c1b6d8" and "cbf1c7fba68dc9c4a0a083537444bc85d3a28020" have entirely different histories.
0bb3a6f3c2
...
cbf1c7fba6
|
|
@ -179,9 +179,8 @@ func (u *UsbGadget) SetOnKeysDownChange(f func(state KeysDownState)) {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (u *UsbGadget) scheduleAutoRelease(key byte) {
|
func (u *UsbGadget) scheduleAutoRelease(key byte) {
|
||||||
u.log.Trace().Msg("scheduling autoRelease")
|
|
||||||
u.kbdAutoReleaseLock.Lock()
|
u.kbdAutoReleaseLock.Lock()
|
||||||
defer unlockWithLog(&u.kbdAutoReleaseLock, u.log, "autoRelease scheduled")
|
defer u.kbdAutoReleaseLock.Unlock()
|
||||||
|
|
||||||
if u.kbdAutoReleaseTimer != nil {
|
if u.kbdAutoReleaseTimer != nil {
|
||||||
u.kbdAutoReleaseTimer.Stop()
|
u.kbdAutoReleaseTimer.Stop()
|
||||||
|
|
@ -193,9 +192,8 @@ func (u *UsbGadget) scheduleAutoRelease(key byte) {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (u *UsbGadget) cancelAutoRelease() {
|
func (u *UsbGadget) cancelAutoRelease() {
|
||||||
u.log.Trace().Msg("cancelling autoRelease")
|
|
||||||
u.kbdAutoReleaseLock.Lock()
|
u.kbdAutoReleaseLock.Lock()
|
||||||
defer unlockWithLog(&u.kbdAutoReleaseLock, u.log, "autoRelease cancelled")
|
defer u.kbdAutoReleaseLock.Unlock()
|
||||||
|
|
||||||
if u.kbdAutoReleaseTimer != nil {
|
if u.kbdAutoReleaseTimer != nil {
|
||||||
u.kbdAutoReleaseTimer.Stop()
|
u.kbdAutoReleaseTimer.Stop()
|
||||||
|
|
@ -203,9 +201,10 @@ func (u *UsbGadget) cancelAutoRelease() {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (u *UsbGadget) DelayAutoRelease() {
|
func (u *UsbGadget) DelayAutoRelease() {
|
||||||
u.log.Trace().Msg("delaying autoRelease")
|
|
||||||
u.kbdAutoReleaseLock.Lock()
|
u.kbdAutoReleaseLock.Lock()
|
||||||
defer unlockWithLog(&u.kbdAutoReleaseLock, u.log, "autoRelease delayed")
|
defer u.kbdAutoReleaseLock.Unlock()
|
||||||
|
|
||||||
|
u.log.Trace().Msg("delaying auto-release")
|
||||||
|
|
||||||
if u.kbdAutoReleaseTimer == nil {
|
if u.kbdAutoReleaseTimer == nil {
|
||||||
return
|
return
|
||||||
|
|
@ -217,9 +216,8 @@ func (u *UsbGadget) DelayAutoRelease() {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (u *UsbGadget) performAutoRelease(key byte) {
|
func (u *UsbGadget) performAutoRelease(key byte) {
|
||||||
u.log.Trace().Msg("performing autoRelease")
|
|
||||||
u.kbdAutoReleaseLock.Lock()
|
u.kbdAutoReleaseLock.Lock()
|
||||||
defer unlockWithLog(&u.kbdAutoReleaseLock, u.log, "autoRelease performed")
|
defer u.kbdAutoReleaseLock.Unlock()
|
||||||
|
|
||||||
select {
|
select {
|
||||||
case <-u.keyboardStateCtx.Done():
|
case <-u.keyboardStateCtx.Done():
|
||||||
|
|
@ -466,10 +464,9 @@ func (u *UsbGadget) keypressReport(key byte, press bool, autoRelease bool) (Keys
|
||||||
|
|
||||||
if press {
|
if press {
|
||||||
{
|
{
|
||||||
u.log.Trace().Msg("acquiring kbdAutoReleaseLock to update last key")
|
|
||||||
u.kbdAutoReleaseLock.Lock()
|
u.kbdAutoReleaseLock.Lock()
|
||||||
u.kbdAutoReleaseLastKey = key
|
u.kbdAutoReleaseLastKey = key
|
||||||
unlockWithLog(&u.kbdAutoReleaseLock, u.log, "last key updated")
|
u.kbdAutoReleaseLock.Unlock()
|
||||||
}
|
}
|
||||||
|
|
||||||
if autoRelease {
|
if autoRelease {
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,6 @@ import (
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
"strconv"
|
"strconv"
|
||||||
"strings"
|
"strings"
|
||||||
"sync"
|
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/rs/zerolog"
|
"github.com/rs/zerolog"
|
||||||
|
|
@ -165,8 +164,3 @@ func (u *UsbGadget) resetLogSuppressionCounter(counterName string) {
|
||||||
u.logSuppressionCounter[counterName] = 0
|
u.logSuppressionCounter[counterName] = 0
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func unlockWithLog(lock *sync.Mutex, logger *zerolog.Logger, msg string, args ...any) {
|
|
||||||
logger.Trace().Msgf(msg, args...)
|
|
||||||
lock.Unlock()
|
|
||||||
}
|
|
||||||
|
|
|
||||||
|
|
@ -104,7 +104,7 @@ export default function useKeyboard() {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
const KEEPALIVE_INTERVAL = 75; // TODO: use an adaptive interval based on RTT later
|
const KEEPALIVE_INTERVAL = 75; // 200ms interval
|
||||||
|
|
||||||
const cancelKeepAlive = useCallback(() => {
|
const cancelKeepAlive = useCallback(() => {
|
||||||
if (keepAliveTimerRef.current) {
|
if (keepAliveTimerRef.current) {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue