Commit 471f33d0 authored by Brandon Liu's avatar Brandon Liu

Add wait5 and wait10 special keys for boot command.

parent c23cd431
...@@ -59,6 +59,16 @@ func (s *stepTypeBootCommand) Run(state map[string]interface{}) multistep.StepAc ...@@ -59,6 +59,16 @@ func (s *stepTypeBootCommand) Run(state map[string]interface{}) multistep.StepAc
continue continue
} }
if code == "wait5" {
time.Sleep(5 * time.Second)
continue
}
if code == "wait10" {
time.Sleep(10 * time.Second)
continue
}
// Since typing is sometimes so slow, we check for an interrupt // Since typing is sometimes so slow, we check for an interrupt
// in between each character. // in between each character.
if _, ok := state[multistep.StateCancelled]; ok { if _, ok := state[multistep.StateCancelled]; ok {
...@@ -116,11 +126,23 @@ func scancodes(message string) []string { ...@@ -116,11 +126,23 @@ func scancodes(message string) []string {
var scancode []string var scancode []string
if strings.HasPrefix(message, "<wait>") { if strings.HasPrefix(message, "<wait>") {
log.Printf("Special code <wait> found, will sleep at this point.") log.Printf("Special code <wait> found, will sleep 1 second at this point.")
scancode = []string{"wait"} scancode = []string{"wait"}
message = message[len("<wait>"):] message = message[len("<wait>"):]
} }
if strings.HasPrefix(message, "<wait5>") {
log.Printf("Special code <wait5> found, will sleep 5 seconds at this point.")
scancode = []string{"wait5"}
message = message[len("<wait5>"):]
}
if strings.HasPrefix(message, "<wait10>") {
log.Printf("Special code <wait10> found, will sleep 10 seconds at this point.")
scancode = []string{"wait10"}
message = message[len("<wait10>"):]
}
if scancode == nil { if scancode == nil {
for specialCode, specialValue := range special { for specialCode, specialValue := range special {
if strings.HasPrefix(message, specialCode) { if strings.HasPrefix(message, specialCode) {
......
...@@ -114,6 +114,20 @@ func vncSendString(c *vnc.ClientConn, original string) { ...@@ -114,6 +114,20 @@ func vncSendString(c *vnc.ClientConn, original string) {
continue continue
} }
if strings.HasPrefix(original, "<wait5>") {
log.Printf("Special code '<wait5>' found, sleeping 5 seconds")
time.Sleep(5 * time.Second)
original = original[len("<wait5>"):]
continue
}
if strings.HasPrefix(original, "<wait10>") {
log.Printf("Special code '<wait10>' found, sleeping 10 seconds")
time.Sleep(10 * time.Second)
original = original[len("<wait10>"):]
continue
}
for specialCode, specialValue := range special { for specialCode, specialValue := range special {
if strings.HasPrefix(original, specialCode) { if strings.HasPrefix(original, specialCode) {
log.Printf("Special code '%s' found, replacing with: %d", specialCode, specialValue) log.Printf("Special code '%s' found, replacing with: %d", specialCode, specialValue)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment