mirror of https://github.com/jetkvm/kvm.git
feat(display): wake on touch
This commit is contained in:
parent
a267bb3a1d
commit
74cdeca230
31
display.go
31
display.go
|
@ -14,6 +14,7 @@ var lastWakeTime = time.Now()
|
||||||
var backlightState = 0 // 0 - NORMAL, 1 - DIMMED, 2 - OFF
|
var backlightState = 0 // 0 - NORMAL, 1 - DIMMED, 2 - OFF
|
||||||
|
|
||||||
const (
|
const (
|
||||||
|
TOUCHSCREEN_DEVICE string = "/dev/input/event1"
|
||||||
BACKLIGHT_CONTROL_CLASS string = "/sys/class/backlight/backlight/brightness"
|
BACKLIGHT_CONTROL_CLASS string = "/sys/class/backlight/backlight/brightness"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -168,6 +169,34 @@ func wakeDisplay() {
|
||||||
backlightState = 0
|
backlightState = 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// watchTsEvents monitors the touchscreen for events and simply calls wakeDisplay() to ensure the
|
||||||
|
// touchscreen interface still works even with LCD dimming/off.
|
||||||
|
// TODO: This is quite a hack, really we should be getting an event from jetkvm_native, or the whole display backlight
|
||||||
|
// control should be hoisted up to jetkvm_native.
|
||||||
|
func watchTsEvents() {
|
||||||
|
// Open touchscreen device
|
||||||
|
ts, err := os.OpenFile(TOUCHSCREEN_DEVICE, os.O_RDONLY, 0666)
|
||||||
|
if err != nil {
|
||||||
|
fmt.Printf("display: failed to open touchscreen device: %s\n", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
defer ts.Close()
|
||||||
|
|
||||||
|
// Watch for events
|
||||||
|
for {
|
||||||
|
buf := make([]byte, 24)
|
||||||
|
_, err := ts.Read(buf)
|
||||||
|
if err != nil {
|
||||||
|
fmt.Printf("display: failed to read from touchscreen device: %s\n", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// Touchscreen event, wake the display
|
||||||
|
wakeDisplay()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
go func() {
|
go func() {
|
||||||
waitCtrlClientConnected()
|
waitCtrlClientConnected()
|
||||||
|
@ -191,4 +220,6 @@ func init() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}()
|
}()
|
||||||
|
|
||||||
|
go watchTsEvents()
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue