package main import ( "fmt" "log" "net/http" "runtime" parser "serialAlox/Parser" serialinteraction "serialAlox/SerialInteraction" "time" "github.com/micmonay/keybd_event" ) type MainConfig struct { Debug bool Port int } func NewMainConfig() *MainConfig { return &MainConfig{ Debug: false, Port: 8080, } } func main() { kb, err := keybd_event.NewKeyBonding() if err != nil { panic(err) } if runtime.GOOS == "linux" { time.Sleep(2 * time.Second) } mc := NewMainConfig() mc.Debug = true sc := serialinteraction.SerialConnection{} msConf := NewMessageHandlerConfig() msParserConf := parser.NewParserConfig() msParser := parser.NewParser(*msParserConf) msHandler := NewMessageHandler(&sc, *msConf, msParser) msHandler.RegisterMessageCallback(0x01, func(b1 byte, b2 []byte) { log.Printf("ICH BIN DER HANDLER % X, % X", b1, b2) kb.SetKeys(keybd_event.VK_A, keybd_event.VK_B) kb.Press() time.Sleep(10 * time.Millisecond) kb.Release() }) go msHandler.ListenAndServe() msHandler.MessageParser.ParseBytes([]byte{0xAA, 0x01, 0x02, 0x10, 0x20, 0x33}) log.Printf("Started Server on %d", mc.Port) connectString := fmt.Sprintf(":%d", mc.Port) log.Fatal(http.ListenAndServe(connectString, nil)) }