diff --git a/pkg/keyboard.go b/pkg/keyboard.go index 083c614..8069f58 100644 --- a/pkg/keyboard.go +++ b/pkg/keyboard.go @@ -42,7 +42,7 @@ func (c RGBColor) GetColorInHex() string { return hex } -// ColorFileHandler writes a hex value to "f" input, and returns the bytes written +// ColorFileHandler writes a string to colorFiles func ColorFileHandler(c string) { _, exists := presetColors[c] if exists { @@ -52,14 +52,23 @@ func ColorFileHandler(c string) { p := fmt.Sprintf("/sys/class/leds/system76::kbd_backlight/%v", file) fh, err := os.OpenFile(p, os.O_RDWR, 0755) if err != nil { - log.Fatal("error: %v", err) + log.Fatal(err) os.Exit(1) } fh.WriteString(color) fh.Close() } } else { - os.Exit(1) + for _, file := range colorFiles { + p := fmt.Sprintf("/sys/class/leds/system76::kbd_backlight/%v", file) + fh, err := os.OpenFile(p, os.O_RDWR, 0755) + if err != nil { + log.Fatal(err) + os.Exit(1) + } + fh.WriteString(c) + fh.Close() + } } } diff --git a/pkg/pattern.go b/pkg/pattern.go index 4333539..01e060c 100644 --- a/pkg/pattern.go +++ b/pkg/pattern.go @@ -1,9 +1,6 @@ package keyboard import ( - "fmt" - "log" - "os" "strconv" "time" ) @@ -14,32 +11,18 @@ func BrightnessPulse() { for i := 255; i >= 0; i-- { s := strconv.Itoa(i) BrightnessFileHandler(s) - time.Sleep(10 * time.Millisecond) + time.Sleep(25 * time.Millisecond) } - for i := 0; i <= 255; i++ { + for i := 1; i <= 255; i++ { s := strconv.Itoa(i) BrightnessFileHandler(s) - time.Sleep(10 * time.Millisecond) + time.Sleep(25 * time.Millisecond) } } } // InfiniteRainbow generates... an infinite rainbow func InfiniteRainbow() { - open := func(files []string) []*os.File { - kbfiles := make([]*os.File, 0, len(files)) - for _, file := range files { - p := fmt.Sprintf("/sys/class/leds/system76::kbd_backlight/%v", file) - fh, err := os.OpenFile(p, os.O_RDWR, 0755) - if err != nil { - log.Fatal("error: %v", err) - continue - } - kbfiles = append(kbfiles, fh) - } - return kbfiles - } - colors := make([]string, 0, 6) // generate range of rainbow values for i := 0; i <= 255; i++ { @@ -72,12 +55,9 @@ func InfiniteRainbow() { colors = append(colors, c.GetColorInHex()) } - kbfiles := open(colorFiles) for { for _, c := range colors { - for _, f := range kbfiles { - f.WriteString(c) - } + ColorFileHandler(c) time.Sleep(time.Nanosecond) } }