mirror of https://github.com/jetkvm/kvm.git
Compare commits
4 Commits
4883fb615e
...
43e31824a1
| Author | SHA1 | Date |
|---|---|---|
|
|
43e31824a1 | |
|
|
51d80bec65 | |
|
|
0321a7473a | |
|
|
704d65bde6 |
13
jsonrpc.go
13
jsonrpc.go
|
|
@ -1078,20 +1078,15 @@ type RunningMacro struct {
|
||||||
var (
|
var (
|
||||||
keyboardMacroCancelMap map[uuid.UUID]RunningMacro
|
keyboardMacroCancelMap map[uuid.UUID]RunningMacro
|
||||||
keyboardMacroLock sync.Mutex
|
keyboardMacroLock sync.Mutex
|
||||||
keyboardMacroOnce sync.Once
|
|
||||||
)
|
)
|
||||||
|
|
||||||
func getKeyboardMacroCancelMap() map[uuid.UUID]RunningMacro {
|
func init() {
|
||||||
keyboardMacroOnce.Do(func() {
|
keyboardMacroCancelMap = make(map[uuid.UUID]RunningMacro)
|
||||||
keyboardMacroCancelMap = make(map[uuid.UUID]RunningMacro)
|
|
||||||
})
|
|
||||||
return keyboardMacroCancelMap
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func addKeyboardMacro(isPaste bool, cancel context.CancelFunc) uuid.UUID {
|
func addKeyboardMacro(isPaste bool, cancel context.CancelFunc) uuid.UUID {
|
||||||
keyboardMacroLock.Lock()
|
keyboardMacroLock.Lock()
|
||||||
defer keyboardMacroLock.Unlock()
|
defer keyboardMacroLock.Unlock()
|
||||||
keyboardMacroCancelMap := getKeyboardMacroCancelMap()
|
|
||||||
|
|
||||||
token := uuid.New() // Generate a unique token
|
token := uuid.New() // Generate a unique token
|
||||||
keyboardMacroCancelMap[token] = RunningMacro{
|
keyboardMacroCancelMap[token] = RunningMacro{
|
||||||
|
|
@ -1104,7 +1099,6 @@ func addKeyboardMacro(isPaste bool, cancel context.CancelFunc) uuid.UUID {
|
||||||
func removeRunningKeyboardMacro(token uuid.UUID) {
|
func removeRunningKeyboardMacro(token uuid.UUID) {
|
||||||
keyboardMacroLock.Lock()
|
keyboardMacroLock.Lock()
|
||||||
defer keyboardMacroLock.Unlock()
|
defer keyboardMacroLock.Unlock()
|
||||||
keyboardMacroCancelMap := getKeyboardMacroCancelMap()
|
|
||||||
|
|
||||||
delete(keyboardMacroCancelMap, token)
|
delete(keyboardMacroCancelMap, token)
|
||||||
}
|
}
|
||||||
|
|
@ -1112,7 +1106,6 @@ func removeRunningKeyboardMacro(token uuid.UUID) {
|
||||||
func cancelRunningKeyboardMacro(token uuid.UUID) {
|
func cancelRunningKeyboardMacro(token uuid.UUID) {
|
||||||
keyboardMacroLock.Lock()
|
keyboardMacroLock.Lock()
|
||||||
defer keyboardMacroLock.Unlock()
|
defer keyboardMacroLock.Unlock()
|
||||||
keyboardMacroCancelMap := getKeyboardMacroCancelMap()
|
|
||||||
|
|
||||||
if runningMacro, exists := keyboardMacroCancelMap[token]; exists {
|
if runningMacro, exists := keyboardMacroCancelMap[token]; exists {
|
||||||
runningMacro.cancel()
|
runningMacro.cancel()
|
||||||
|
|
@ -1126,7 +1119,6 @@ func cancelRunningKeyboardMacro(token uuid.UUID) {
|
||||||
func cancelAllRunningKeyboardMacros() {
|
func cancelAllRunningKeyboardMacros() {
|
||||||
keyboardMacroLock.Lock()
|
keyboardMacroLock.Lock()
|
||||||
defer keyboardMacroLock.Unlock()
|
defer keyboardMacroLock.Unlock()
|
||||||
keyboardMacroCancelMap := getKeyboardMacroCancelMap()
|
|
||||||
|
|
||||||
for token, runningMacro := range keyboardMacroCancelMap {
|
for token, runningMacro := range keyboardMacroCancelMap {
|
||||||
runningMacro.cancel()
|
runningMacro.cancel()
|
||||||
|
|
@ -1139,7 +1131,6 @@ func reportRunningMacrosState() {
|
||||||
if currentSession != nil {
|
if currentSession != nil {
|
||||||
keyboardMacroLock.Lock()
|
keyboardMacroLock.Lock()
|
||||||
defer keyboardMacroLock.Unlock()
|
defer keyboardMacroLock.Unlock()
|
||||||
keyboardMacroCancelMap := getKeyboardMacroCancelMap()
|
|
||||||
|
|
||||||
isPaste := false
|
isPaste := false
|
||||||
anyRunning := false
|
anyRunning := false
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue