From 69db627136f4493d603936bde056b54528c8f017 Mon Sep 17 00:00:00 2001 From: Guangda Hu Date: Fri, 15 May 2015 17:46:16 -0400 Subject: [PATCH 1/2] Glo HD support --- frontend/device/input.lua | 6 ++++++ frontend/device/kobo/device.lua | 15 +++++++++++++++ 2 files changed, 21 insertions(+) diff --git a/frontend/device/input.lua b/frontend/device/input.lua index 7c7755b81..a917456a3 100644 --- a/frontend/device/input.lua +++ b/frontend/device/input.lua @@ -207,6 +207,12 @@ function Input:adjustTouchTranslate(ev, by) end end end +function Input:adjustTouchAlyssum(ev) + ev.time = TimeVal:now() + if ev.type == EV_ABS and ev.code == ABS_MT_TRACKING_ID then + ev.value = ev.value - 1 + end +end function Input:setTimeout(cb, tv_out) local item = { diff --git a/frontend/device/kobo/device.lua b/frontend/device/kobo/device.lua index 49a135f67..6c3f3e895 100644 --- a/frontend/device/kobo/device.lua +++ b/frontend/device/kobo/device.lua @@ -69,6 +69,15 @@ local KoboPhoenix = Kobo:new{ viewport = Geom:new{x=0, y=0, w=758, h=1012}, } +-- Kobo Glo HD: +local KoboAlyssum = Kobo:new{ + model = "Kobo_alyssum", + hasFrontlight = yes, + touch_phoenix_protocol = true, + touch_alyssum_protocol = true, + display_dpi = 300, +} + function Kobo:init() self.screen = require("ffi/framebuffer_mxcfb"):new{device = self, debug = DEBUG} self.powerd = require("device/kobo/powerd"):new{device = self} @@ -96,6 +105,10 @@ function Kobo:init() self.screen:getScreenWidth() ) end + + if self.touch_alyssum_protocol then + self.input:registerEventAdjustHook(self.input.adjustTouchAlyssum) + end if self.touch_phoenix_protocol then self.input.handleTouchEv = self.input.handleTouchEvPhoenix @@ -158,6 +171,8 @@ elseif codename == "trilogy" then return KoboTrilogy elseif codename == "pixie" then return KoboPixie +elseif codename == "alyssum" then + return KoboAlyssum else error("unrecognized Kobo model "..codename) end From 7491cd7b9d089f1276193ee15e5574871b471b05 Mon Sep 17 00:00:00 2001 From: Guangda Hu Date: Fri, 15 May 2015 21:57:00 -0400 Subject: [PATCH 2/2] fix spaces --- frontend/device/input.lua | 8 ++++---- frontend/device/kobo/device.lua | 14 +++++++------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/frontend/device/input.lua b/frontend/device/input.lua index a917456a3..73206304f 100644 --- a/frontend/device/input.lua +++ b/frontend/device/input.lua @@ -208,10 +208,10 @@ function Input:adjustTouchTranslate(ev, by) end end function Input:adjustTouchAlyssum(ev) - ev.time = TimeVal:now() - if ev.type == EV_ABS and ev.code == ABS_MT_TRACKING_ID then - ev.value = ev.value - 1 - end + ev.time = TimeVal:now() + if ev.type == EV_ABS and ev.code == ABS_MT_TRACKING_ID then + ev.value = ev.value - 1 + end end function Input:setTimeout(cb, tv_out) diff --git a/frontend/device/kobo/device.lua b/frontend/device/kobo/device.lua index 6c3f3e895..675d80287 100644 --- a/frontend/device/kobo/device.lua +++ b/frontend/device/kobo/device.lua @@ -73,8 +73,8 @@ local KoboPhoenix = Kobo:new{ local KoboAlyssum = Kobo:new{ model = "Kobo_alyssum", hasFrontlight = yes, - touch_phoenix_protocol = true, - touch_alyssum_protocol = true, + touch_phoenix_protocol = true, + touch_alyssum_protocol = true, display_dpi = 300, } @@ -105,10 +105,10 @@ function Kobo:init() self.screen:getScreenWidth() ) end - - if self.touch_alyssum_protocol then - self.input:registerEventAdjustHook(self.input.adjustTouchAlyssum) - end + + if self.touch_alyssum_protocol then + self.input:registerEventAdjustHook(self.input.adjustTouchAlyssum) + end if self.touch_phoenix_protocol then self.input.handleTouchEv = self.input.handleTouchEvPhoenix @@ -172,7 +172,7 @@ elseif codename == "trilogy" then elseif codename == "pixie" then return KoboPixie elseif codename == "alyssum" then - return KoboAlyssum + return KoboAlyssum else error("unrecognized Kobo model "..codename) end