1+ import type { CursorPoint } from '@/utils/monitor'
2+
13import { invoke } from '@tauri-apps/api/core'
24import { isEqual , mapValues } from 'es-toolkit'
35import { ref } from 'vue'
@@ -15,14 +17,9 @@ interface MouseButtonEvent {
1517 value : string
1618}
1719
18- interface MouseMoveValue {
19- x : number
20- y : number
21- }
22-
2320interface MouseMoveEvent {
2421 kind : 'MouseMove'
25- value : MouseMoveValue
22+ value : CursorPoint
2623}
2724
2825interface KeyboardEvent {
@@ -34,7 +31,7 @@ type DeviceEvent = MouseButtonEvent | MouseMoveEvent | KeyboardEvent
3431
3532export function useDevice ( ) {
3633 const modelStore = useModelStore ( )
37- const lastMousePoint = ref < MouseMoveValue > ( { x : 0 , y : 0 } )
34+ const lastCursorPoint = ref < CursorPoint > ( { x : 0 , y : 0 } )
3835 const releaseTimers = new Map < string , NodeJS . Timeout > ( )
3936 const { handlePress, handleRelease, handleMouseChange, handleMouseMove } = useModel ( )
4037
@@ -75,14 +72,14 @@ export function useDevice() {
7572 releaseTimers . set ( key , timer )
7673 }
7774
78- const processMouseMove = ( value : MouseMoveValue ) => {
79- const roundedValue = mapValues ( value , Math . round )
75+ const processMouseMove = ( point : CursorPoint ) => {
76+ const roundedValue = mapValues ( point , Math . round )
8077
81- if ( isEqual ( lastMousePoint . value , roundedValue ) ) return
78+ if ( isEqual ( lastCursorPoint . value , roundedValue ) ) return
8279
83- lastMousePoint . value = roundedValue
80+ lastCursorPoint . value = roundedValue
8481
85- return handleMouseMove ( )
82+ return handleMouseMove ( point )
8683 }
8784
8885 useTauriListen < DeviceEvent > ( LISTEN_KEY . DEVICE_CHANGED , ( { payload } ) => {
0 commit comments