diff --git a/frontend/ui/inputevent.lua b/frontend/ui/inputevent.lua index 8a28b6ab3..a6bcaee9c 100644 --- a/frontend/ui/inputevent.lua +++ b/frontend/ui/inputevent.lua @@ -411,7 +411,9 @@ function Input:handleKeyBoardEv(ev) end if keycode == "Light" then - ReaderFrontLight:toggle() + if ev.value == EVENT_VALUE_KEY_RELEASE then + ReaderFrontLight:toggle() + end end -- handle modifier keys diff --git a/frontend/ui/reader/readerfrontlight.lua b/frontend/ui/reader/readerfrontlight.lua index 66bf7292b..93f1f75b5 100644 --- a/frontend/ui/reader/readerfrontlight.lua +++ b/frontend/ui/reader/readerfrontlight.lua @@ -4,7 +4,7 @@ require "ui/device" ReaderFrontLight = InputContainer:new{ steps = {0,1,2,3,4,5,6,7,8,9,10}, intensity = nil, - ld = nil, + fl = nil, } function ReaderFrontLight:init() @@ -30,7 +30,8 @@ function ReaderFrontLight:init() } end if Device:isKobo() then - self.ld = kobolight.open() + self.fl = kobolight.open() + self.intensity = 20 end end @@ -64,21 +65,25 @@ function ReaderFrontLight:setIntensity(intensity, msg) }) end if Device:isKobo() then - if self.ld == nil then - return true + if self.fl == nil then + ReaderFrontLight:init() + end + if self.fl ~= nil then + self.fl:setBrightness(intensity) + self.intensity = intensity end - self.intensity = intensity - self.ld:setBrightness(intensity) end return true end function ReaderFrontLight:toggle() if Device:isKobo() then - if self.ld == nil then - return true + if self.fl == nil then + ReaderFrontLight:init() + end + if self.fl ~= nil then + self.fl:toggle() end - self.ld:toggle() end return true end