From d9b210c315096e7b9eb7845c01d034f561506520 Mon Sep 17 00:00:00 2001 From: Giorgio Micotti Date: Thu, 8 Aug 2013 12:07:40 +0200 Subject: [PATCH 1/2] Changed "koboupdate" to be more reliable as an installation mean. --- Makefile | 44 +++++++++++++++++++++++--------------------- 1 file changed, 23 insertions(+), 21 deletions(-) diff --git a/Makefile b/Makefile index 5728bf89c..fb149b127 100644 --- a/Makefile +++ b/Makefile @@ -10,7 +10,7 @@ VERSION=$(shell git describe HEAD) # subdirectory we use to build the installation bundle INSTALL_DIR=koreader -INSTALL_DIR_KOBO=mnt/onboard/.kobo/koreader +INSTALL_DIR_KOBO=mnt/onboard/.kobo # subdirectory we use to setup emulation environment EMU_DIR=emu @@ -97,34 +97,36 @@ koboupdate: all file $(KOR_BASE)/extr | grep ARM || exit 1 # remove old package and dir if any rm -f koreader-kobo-$(VERSION).zip - rm -rf $(INSTALL_DIR_KOBO) + rm -rf $(INSTALL_DIR) # create new dir for package - mkdir -p $(INSTALL_DIR_KOBO)/{history,screenshots,clipboard,libs} - cp -p README.md COPYING $(KOR_BASE)/{koreader-base,extr,sdcv} koreader.sh koreader_kobo.sh $(LUA_FILES) $(INSTALL_DIR_KOBO) - $(STRIP) --strip-unneeded $(INSTALL_DIR_KOBO)/koreader-base $(INSTALL_DIR_KOBO)/extr $(INSTALL_DIR_KOBO)/sdcv - mkdir $(INSTALL_DIR_KOBO)/data $(INSTALL_DIR_KOBO)/data/dict $(INSTALL_DIR_KOBO)/data/tessdata + mkdir -p $(INSTALL_DIR)/{history,screenshots,clipboard,libs} + cp -p README.md COPYING $(KOR_BASE)/{koreader-base,extr,sdcv} koreader.sh koreader_kobo.sh $(LUA_FILES) $(INSTALL_DIR) + $(STRIP) --strip-unneeded $(INSTALL_DIR)/koreader-base $(INSTALL_DIR)/extr $(INSTALL_DIR)/sdcv + mkdir $(INSTALL_DIR)/data $(INSTALL_DIR)/data/dict $(INSTALL_DIR)/data/tessdata cp -L koreader-base/$(DJVULIB) $(KOR_BASE)/$(CRELIB) \ $(KOR_BASE)/$(LUALIB) $(KOR_BASE)/$(K2PDFOPTLIB) \ $(KOR_BASE)/$(LEPTONICALIB) $(KOR_BASE)/$(TESSERACTLIB) \ - $(INSTALL_DIR_KOBO)/libs - $(STRIP) --strip-unneeded $(INSTALL_DIR_KOBO)/libs/* - cp -rpL $(KOR_BASE)/data/*.css $(INSTALL_DIR_KOBO)/data - cp -rpL $(KOR_BASE)/data/hyph $(INSTALL_DIR_KOBO)/data/hyph - cp -rpL $(KOR_BASE)/fonts $(INSTALL_DIR_KOBO) - cp -rp $(MO_DIR) $(INSTALL_DIR_KOBO) - rm $(INSTALL_DIR_KOBO)/fonts/droid/DroidSansFallbackFull.ttf + $(INSTALL_DIR)/libs + $(STRIP) --strip-unneeded $(INSTALL_DIR)/libs/* + cp -rpL $(KOR_BASE)/data/*.css $(INSTALL_DIR)/data + cp -rpL $(KOR_BASE)/data/hyph $(INSTALL_DIR)/data/hyph + cp -rpL $(KOR_BASE)/fonts $(INSTALL_DIR) + cp -rp $(MO_DIR) $(INSTALL_DIR) + rm $(INSTALL_DIR)/fonts/droid/DroidSansFallbackFull.ttf echo $(VERSION) > git-rev - cp -r git-rev resources $(INSTALL_DIR_KOBO) - rm -r $(INSTALL_DIR_KOBO)/resources/fonts - cp -rpL frontend $(INSTALL_DIR_KOBO) - cp defaults.lua $(INSTALL_DIR_KOBO) - mkdir $(INSTALL_DIR_KOBO)/fonts/host - cp -rpL fmon $(INSTALL_DIR_KOBO)/.. - cp -p resources/koreader.png $(INSTALL_DIR_KOBO)/../.. + cp -r git-rev resources $(INSTALL_DIR) + rm -r $(INSTALL_DIR)/resources/fonts + cp -rpL frontend $(INSTALL_DIR) + cp defaults.lua $(INSTALL_DIR) + mkdir $(INSTALL_DIR)/fonts/host + mkdir -p $(INSTALL_DIR_KOBO)/fmon + cp -rpL fmon $(INSTALL_DIR_KOBO) + cp -p resources/koreader.png $(INSTALL_DIR_KOBO)/.. tar -zcvf KoboRoot.tgz mnt/ - zip -9 -r koreader-kobo-$(VERSION).zip KoboRoot.tgz + zip -9 -r koreader-kobo-$(VERSION).zip $(INSTALL_DIR) KoboRoot.tgz rm KoboRoot.tgz rm -rf mnt/ + rm -rf $(INSTALL_DIR) pot: $(XGETTEXT_BIN) reader.lua `find frontend -iname "*.lua"` \ From a145ee19aae5c8be1d0db2c50135d86c214099a8 Mon Sep 17 00:00:00 2001 From: Giorgio Micotti Date: Thu, 8 Aug 2013 12:09:43 +0200 Subject: [PATCH 2/2] Add firmware detection for kobo, adjust input accordingly. --- frontend/ui/device.lua | 11 +++++++++++ frontend/ui/inputevent.lua | 17 ++++++++++++++++- 2 files changed, 27 insertions(+), 1 deletion(-) diff --git a/frontend/ui/device.lua b/frontend/ui/device.lua index 997954401..e16e789a6 100644 --- a/frontend/ui/device.lua +++ b/frontend/ui/device.lua @@ -4,6 +4,7 @@ Device = { survive_screen_saver = false, touch_dev = nil, model = nil, + firmware_rev = nil, } function Device:getModel() @@ -37,6 +38,9 @@ function Device:getModel() local std_out = io.popen("/bin/kobo_config.sh", "r") local codename = std_out:read() self.model = "Kobo_" .. codename + local version_file = io.open("/mnt/onboard/.kobo/version", "r") + self.firmware_rev = string.sub(version_file:read(),24,28) + version_file:close() elseif kt_test_fd then self.model = "KindleTouch" else @@ -53,6 +57,13 @@ function Device:getModel() return self.model end +function Device:getFirmVer() + if not self.model then + self.model = self:getModel() + end + return self.firmware_rev +end + function Device:isKindle4() return (self:getModel() == "Kindle4") end diff --git a/frontend/ui/inputevent.lua b/frontend/ui/inputevent.lua index a6bcaee9c..e6c384f9e 100644 --- a/frontend/ui/inputevent.lua +++ b/frontend/ui/inputevent.lua @@ -316,12 +316,14 @@ function Input:init() end print(_("Auto-detected Kindle Touch")) elseif Device:isKobo() then + firm_rev = Device:getFirmVer() input.open("/dev/input/event1") Device:setTouchInputDev("/dev/input/event1") input.open("/dev/input/event0") -- Light button and sleep slider print(_("Auto-detected Kobo")) self:adjustKoboEventMap() - if dev_mod ~= 'Kobo_trilogy' then + if dev_mod ~= 'Kobo_trilogy' and firm_rev == "2.6.1" + or dev_mod == 'Kobo_dragon' then function Input:eventAdjustHook(ev) if ev.type == EV_ABS then if ev.code == ABS_X then @@ -339,6 +341,19 @@ function Input:init() end return ev end + else + function Input:eventAdjustHook(ev) + if ev.code == ABS_X then + -- We always have to substract from the physical x, + -- regardless of the orientation + if (Screen.width