gohook icon indicating copy to clipboard operation
gohook copied to clipboard

Usinh hook.register doesn't register keyup

Open PaulDotSH opened this issue 4 years ago • 1 comments

Using the code examples, having the following code

	hook.Register(hook.KeyDown, []string{"w"}, func(e hook.Event) {
		fmt.Println("w-")
                run=false
	})

	hook.Register(hook.KeyHold, []string{"space"}, func(e hook.Event) { ww
		run=true
	})

	hook.Register(hook.KeyUp, []string{"space"}, func(e hook.Event) {
		run=false
	})

If you press spacebar once, run is set to true, however on release it is still set to true, and only on pressing w it is set to false

PaulDotSH avatar Nov 23 '21 07:11 PaulDotSH

"There is still a problem, KeyUp cannot be triggered, and it may be triggered incorrectly.

	hook.Register(hook.KeyUp, []string{"w"}, func(e hook.Event) {

		// fmt.Println("hook(KeyUp): ", e)

		ee, _ := json.Marshal(e)
		fmt.Println("hook(KeyUp): ", string(ee))

		fmt.Println("w")
	})

When this code is run, pressing the ‘w’ key does not produce any response. But when q, w, e are pressed quickly in succession, it enters the KeyUp callback for w. However, at this time, the keycode for e is 16 (and this number represents the event corresponding to q)."

LuSrackhall avatar Jun 03 '24 16:06 LuSrackhall