diff --git a/frontend/device/generic/device.lua b/frontend/device/generic/device.lua index 8e4b9e3d0..b992ce188 100644 --- a/frontend/device/generic/device.lua +++ b/frontend/device/generic/device.lua @@ -143,6 +143,11 @@ function Device:init() end end +function Device:setScreenDPI(dpi_override) + self.screen:setDPI(dpi_override) + self.input.gesture_detector:init() +end + function Device:getPowerDevice() return self.powerd end diff --git a/frontend/device/gesturedetector.lua b/frontend/device/gesturedetector.lua index a01feb994..ebd9abca1 100644 --- a/frontend/device/gesturedetector.lua +++ b/frontend/device/gesturedetector.lua @@ -91,11 +91,12 @@ function GestureDetector:new(o) end function GestureDetector:init() + local scaler = self.screen:getDPI() / 167 -- distance parameters - self.DOUBLE_TAP_DISTANCE = 50 * self.screen:getDPI() / 167 - self.TWO_FINGER_TAP_REGION = 20 * self.screen:getDPI() / 167 - self.PAN_THRESHOLD = 50 * self.screen:getDPI() / 167 - self.MULTISWIPE_THRESHOLD = 50 * self.screen:getDPI() / 167 + self.TWO_FINGER_TAP_REGION = 20 * scaler + self.DOUBLE_TAP_DISTANCE = 50 * scaler + self.PAN_THRESHOLD = self.DOUBLE_TAP_DISTANCE + self.MULTISWIPE_THRESHOLD = self.DOUBLE_TAP_DISTANCE end --[[-- diff --git a/reader.lua b/reader.lua index 1ae51dcee..5f92a8420 100755 --- a/reader.lua +++ b/reader.lua @@ -37,7 +37,7 @@ end local Device = require("device") local dpi_override = G_reader_settings:readSetting("screen_dpi") if dpi_override ~= nil then - Device.screen:setDPI(dpi_override) + Device:setScreenDPI(dpi_override) end local CanvasContext = require("document/canvascontext")