Added keyboard event handling skeleton

This commit is contained in:
2016-03-25 01:57:09 +03:00
parent 9b9dfe3d21
commit a707e8c6cc

40
src/main.go Normal file
View File

@@ -0,0 +1,40 @@
// main.go
package main
import (
"fmt"
"log"
"os/exec"
"strconv"
"time"
)
const (
SLEEP_TIME = 3 * time.Second
KEYBOARD_BUFER_SIZE = 10000
)
func main() {
keyboard_id := 14
cmd := exec.Command("xinput", "test", strconv.Itoa(keyboard_id))
stdout, err := cmd.StdoutPipe()
if err != nil {
log.Fatal(err)
}
if err := cmd.Start(); err != nil {
log.Fatal(err)
}
buf := make([]byte, KEYBOARD_BUFER_SIZE)
for {
n, err := stdout.Read(buf)
if err != nil {
log.Fatal(err)
}
// processing buf here
fmt.Println(len(buf), n)
time.Sleep(5 * time.Second)
}
}