add setting for mouse polling interval

This commit is contained in:
Unrud 2018-07-22 10:36:28 +02:00
parent 931dff5f04
commit 5ef0e86ab8
3 changed files with 30 additions and 6 deletions

View file

@ -43,6 +43,7 @@ const (
authenticationRateLimit time.Duration = time.Second / 10
authenticationRateBurst int = 10
challengeLength int = 8
defaultUpdateInterval int = 50
defaultBind string = ":0"
version string = "0.0.3"
)
@ -127,12 +128,15 @@ func secureRandBase64(length int) string {
func main() {
var bind, certFile, keyFile, secret string
var showVersion, invert bool
var updateInterval int
flag.BoolVar(&showVersion, "version", false, "show program's version number and exit")
flag.StringVar(&bind, "bind", defaultBind, "bind server to [IP]:PORT")
flag.StringVar(&secret, "secret", "", "shared secret for client authentication")
flag.StringVar(&certFile, "cert", "", "file containing TLS certificate")
flag.StringVar(&keyFile, "key", "", "file containing TLS private key")
flag.BoolVar(&invert, "invert", false, "use inverse colors for QR code")
flag.IntVar(&updateInterval, "interval", defaultUpdateInterval,
"mouse polling interval in milliseconds")
flag.Parse()
if showVersion {
fmt.Println(version)
@ -148,6 +152,9 @@ func main() {
if secret == "" {
secret = secureRandBase64(defaultSecretLength)
}
if updateInterval < 0 {
log.Fatal("interval must be greater or equal to zero")
}
var plugin Plugin
platformErrors := ""
for _, f := range Plugins {
@ -199,6 +206,7 @@ func main() {
if !challenge.verify(message) {
return
}
websocket.Message.Send(ws, fmt.Sprintf("i%d", updateInterval))
for {
if err := websocket.Message.Receive(ws, &message); err != nil {
return