2
0
mirror of https://github.com/koreader/koreader synced 2024-11-11 19:11:14 +00:00
Commit Graph

436 Commits

Author SHA1 Message Date
chrox
a60544b1ad Koreader Ubuntu-touch port
Currently only tested on Ubuntu-touch emulator with framework
ubuntu-sdk-14.10 for armhf.
The ubuntu-touch port is binary compatible with the Kobo port
major changes in this PR are:
1. rename the emulator device to sdl device since both the emulator
and the ubuntu-touch target use libsdl to handle input/output.
2. ubuntu-touch app has no write access to the installation dir so
all write-outs should be in a seperate dir definded in `datastorage`.
2015-10-03 14:48:51 +08:00
Qingping Hou
f2fa1c36ba Merge pull request #1647 from chrox/fix_kv_refresh
fix some minor issues on Kindle Voyage
2015-09-28 21:22:18 -07:00
chrox
d198f1c7ab don't set focus button for Android 2015-09-27 22:29:59 +08:00
chrox
4920426148 no need to do full screen refresh when outof screensaver
since there is already one by the native system
2015-09-27 09:25:50 +08:00
chrox
e91b7bd266 set foucus of button table only if the device has a dpad
so that Kindle Voyage won't show a highlighted button in
confirm dialog.
2015-09-27 09:05:40 +08:00
NiLuJe
d17ca951d3 Fix battery status on K3.
Will probably be more complex on older devices, where, AFAICT,
gasgauge-info is bitbanging over i2c...
2015-09-27 01:44:50 +02:00
NiLuJe
5fa5fabf02 Fix battery status on the K4
And also probably prevent a crash when trying to enable WiFi there.
We really shouldn't even show the WiFi stuff on some of these old
devices, but at least now it doesn't crash ;).
2015-09-27 01:02:37 +02:00
NiLuJe
dc7b854196 Fix input devices on K2 2015-09-06 16:47:15 +02:00
NiLuJe
ffd3f5c1cc Fix input devices on K4 2015-09-06 16:32:00 +02:00
NiLuJe
df4bbc8191 Only read Kindle S/N once 2015-09-06 16:21:02 +02:00
NiLuJe
928404a6b6 Fix K4 key mappings 2015-09-06 16:19:00 +02:00
NiLuJe
53e5366e39 Fix input devices on K3.
re #1623
2015-09-06 06:15:36 +02:00
NiLuJe
e56d30ff46 Oops. Fix my previous commit.
That basically broke startup on Kindles, which is, err, bad.
2015-09-06 05:07:43 +02:00
NiLuJe
a4ebfee83b Handle the PW3
(Dry-coded, assume it's basically a PW2 w/ the KV screen ;p)
2015-09-05 03:33:11 +02:00
Guangda Hu
7491cd7b9d fix spaces 2015-05-15 21:57:00 -04:00
Guangda Hu
69db627136 Glo HD support 2015-05-15 17:46:16 -04:00
NiLuJe
8a8697c382 Future-proof the frontlight handling on Kindle.
Guard against trying to get any kind of frontlight info on devices
without one.

So far the flIntensity prop has always been there, even on devices
without one, but better not assume that'll always be the case ;).

That, and be consistent with the other lipc_handle tests.
2015-04-28 18:25:56 +02:00
NiLuJe
a6a2b3d6a3 Try to get the Kobo codename from the env first
My batch of startup script tweaks should ensure PRODUCT is always
exported.
Leave the fallback in place, to avoid blowing up in weird corner-cases I
haven't thought about.
2015-04-27 13:15:02 +02:00
NiLuJe
c6a3f9002c Tweak the H2O viewport to make it pixel-perfect.
As confirmed by checking a fb dump via fbgrab, and nickel's
broken cropping of screenshots ;).
2015-04-26 19:11:47 +02:00
chrox
cfffb44c9d Fix no hardware key bindings on Android 2015-03-29 08:59:51 +08:00
chrox
ae9f99744d flush setting before showing screensaver 2015-03-10 18:33:11 +08:00
Cosmin Gorgovan
41045dab99 Fix charging detection for Kobo devices
I've tested this on a N905C. I assume this implementation never
worked (since charge_now is supposed to show state of charge), but
it would be useful to get a confirmation.
2015-02-02 16:46:46 +00:00
chrox
906c91f0ad add page-button support for Kindle Voyage 2015-02-02 21:37:38 +08:00
chrox
d0b450efde refresh battery capacity when going out of suspend
This should fix #1383.
2015-02-01 12:49:49 +08:00
NiLuJe
06bf4a2199 Fix input on KT2 devices (re #1403) 2015-01-30 19:00:29 +01:00
chrox
375070867b fix crash when checking ota on some devices 2015-01-25 00:53:25 +08:00
chrox
29c15518b0 fix wrong PgBack/PgFwd key binding 2015-01-19 12:50:59 +08:00
chrox
291f088d94 update koreader-base for multi-touch support on PocketBook 2015-01-18 14:26:33 +08:00
chrox
6a06cfaea5 refactor out flush settings when device goes into screensaver 2015-01-18 00:58:08 +08:00
chrox
a5b90588ae add powerd for PocketBook device 2015-01-17 23:54:49 +08:00
chrox
96e9bb0701 partial refresh screen when koreader goes to forground 2015-01-17 23:17:46 +08:00
chrox
5c4651a3d9 auto launch koreader when opening PDF/DJVU/EPUB/FB2 files in pocketbook 2015-01-17 09:09:36 +08:00
chrox
7ac36a460c handle keyboard events in pocketbook 2015-01-15 22:23:03 +08:00
chrox
6894c11640 fix typo 2015-01-13 00:18:59 +08:00
chrox
1cba495fe0 add PocketBook port of Koreader 2015-01-13 00:15:18 +08:00
Hans-Werner Hilse
d016858d75 only device event0 and event1 do exist, remove others. 2015-01-09 15:55:04 +00:00
Hans-Werner Hilse
c28d973941 fix: load input driver before configuring it 2015-01-09 15:46:33 +00:00
Hans-Werner Hilse
0b5545f125 rump implementation for PocketBook devices, to be extended. 2015-01-09 14:10:25 +00:00
Michael Hall
9a66805b5a Handle Kobo Touch Key 2014-12-26 11:45:09 +00:00
Hans-Werner Hilse
3d73ff5ae7 only open frontlight device on Kobo devices that actually have light 2014-12-02 11:18:19 +01:00
Hans-Werner Hilse
173de615db Revert "smaller viewport for Kobo H2O (bezel overlaps bottom)"
This reverts commit fc36d6db37.
2014-11-27 16:01:00 +00:00
Hans-Werner Hilse
fc36d6db37 smaller viewport for Kobo H2O (bezel overlaps bottom) 2014-11-27 15:46:03 +00:00
Hans-Werner Hilse
dacb59f6b2 move debug function handover, set viewport for Kobo Mini
in order to have debugging facilities in framebuffer:init(), we hand
over the debug function as soon as we can.

Also, set a viewport for Kobo Mini. Hopefully, it fits most people -
I can only test on my unit.
2014-11-27 15:46:03 +00:00
Hans-Werner Hilse
4a497cfcfb fix initialization order on Kobos
notably, this will set up input offsets for viewport stuff after the
input rotation has been set up.
2014-11-27 15:46:02 +00:00
chrox
ac6a34ee3d fix crash on special offered Kindle 2014-11-27 22:01:57 +08:00
Hans-Werner Hilse
895b98d5be add debugging output for device initialisation 2014-11-27 10:34:16 +00:00
Hans-Werner Hilse
677871cbf7 allow emulator to specify a viewport
This allows for Viewport debugging. It is configured via an environment
variable, EMULATE_READER_VIEWPORT. It works with Lua table syntax, e.g.:
EMULATE_READER_VIEWPORT="{x=10,w=550,y=5,h=790}"
2014-11-27 10:15:44 +00:00
Hans-Werner Hilse
bf7ea7af6d add device names as comments
we use mostly code names internally, but it is probably a good idea
to annotate the actual device names.
2014-11-27 10:14:24 +00:00
Hans-Werner Hilse
c6d342f305 fix usage of old refresh API
standby/screensaver/USB was affected.
2014-11-26 08:25:18 +00:00
Hans-Werner Hilse
7da6dd28a5 handle Android app events in frontend/device code
Events have been passed to the frontend/device (or /input) code before.
Some of them have been handled in the FFI/input code, however. That
seems to be highly critical with regard to timing, though, so we just
let it enqueue the event for our code to process later. That way, a
mutex that locks the input event queue can be freed faster.
2014-11-24 21:09:28 +00:00
Hans-Werner Hilse
2775ade5d6 fix device:init() bug on Android platform 2014-11-24 08:52:01 +00:00
Hans-Werner Hilse
39d061fd3a pass device object to input FFI module
this is needed (for now) on Android, since the FFI module triggers
screen updates.
2014-11-23 12:15:19 +00:00
Hans-Werner Hilse
57a27f8f24 provide debug function to framebuffer ffi implementation 2014-11-23 12:13:34 +00:00
Hans-Werner Hilse
63af71188a refactor refresh
Lots of the device-related distinction wandered into
base/ffi/framebuffer_<driver>. This eases the refresh logic in
UI manager, which basically only decides what kind of refresh
to trigger. The device specific configuration in the framebuffer
driver decides how to realize that whish.

screen.lua is gone, in its place is now the framebuffer driver.
The device abstraction decides what framebuffer driver to load.
2014-11-23 12:13:32 +00:00
chrox
8384eba810 consider also the screen size when scaling by DPI 2014-11-20 18:02:50 +08:00
NiLuJe
f6753085ef Detect another KT2 model 2014-11-18 10:32:47 +01:00
Hans-Werner Hilse
bcf0a9923c (really?) fix refresh viewport calculations
This adds more documentation about the viewport offset calculations
for refreshing rotated viewports.

The old behaviour also was (still) buggy, even after the latest round
of fixes. Now, the offsets when rotated are hopefully calculated correct.
2014-11-17 10:04:36 +01:00
Andrey Golovizin
f785b29f34 Fix the viewport on Kobo Aura (phoenix). 2014-11-16 09:53:52 +01:00
Hans-Werner Hilse
e8d576f99f fix bug in viewport offset calculation for refreshes
The calculation did not correctly calculate the offset in rotated
modes when the rotation was 90 or 270 degrees. Under these circumstances,
getWidth() and getHeight() did return rotated values for the framebuffer,
while Device.viewport did return not rotated values.
2014-11-15 22:01:04 +01:00
Hans-Werner Hilse
50cdbf133f fix refresh with rotation and viewport 2014-11-12 09:32:09 +01:00
Hans-Werner Hilse
c5afa17399 make fake_events device a private feature of the Kindle device initialization
This is highly Kindle-specific, so we keep it there for now
2014-11-11 20:17:46 +01:00
Hans-Werner Hilse
6e40d5a9ad Fix refresh in rotated (landscape) mode when using viewport
Rotation wasn't applied to the underlying framebuffer's blitbuffer,
so refresh coordinates were cut off the wrong way.
2014-11-11 17:43:58 +01:00
Hans-Werner Hilse
5e5b2bd18d calculate proper refresh coordinates when using viewport
The viewport offset used by refresh() was not properly adapted when
the screen was rotated.
2014-11-11 15:53:26 +01:00
chrox
b6432c0305 fix missing fake events for Kindle devices
This should fix #1120.
2014-11-11 13:17:13 +08:00
NiLuJe
6b21057c35 Do FULL updates when going in/out of ScreenSaver.
Sounds a good idea in general, and helps in particular on REAGL-aware
devices.
2014-11-10 16:51:31 +01:00
WS64
67c4bb365d Center screen for Kobo Aura
Why was it 
viewport = Geom:new{x=6, y=12, w=752, h=1012},?
viewport = Geom:new{x=0, y=0, w=752, h=1012}, looks way better!
2014-11-10 13:48:46 +01:00
Qingping Hou
b32f42d6eb Merge pull request #1111 from Frenzie/master
Remove KOBO_LIGHT_OFF_ON_SUSPEND option and move workaround to kobolight.lua
2014-11-09 17:49:17 -05:00
Hans-Werner Hilse
d91dccae80 fix night mode setting
implement bezel cleaning with proper background color
2014-11-09 18:03:33 +01:00
Hans-Werner Hilse
7c9d7e64b3 fix rotation: viewport, not framebuffer
Rotation was always referring to the framebuffer's blitbuffer,
which in the case of devices with a viewport was not identical.
2014-11-09 17:37:50 +01:00
Frans de Jonge
c4f1687c22 Remove KOBO_LIGHT_OFF_ON_SUSPEND option and move workaround to ffi/kobolight.ua 2014-11-09 16:37:15 +01:00
NiLuJe
5dd9e917b7 Kill a FIXME :) 2014-11-08 15:50:57 +01:00
NiLuJe
52e21416e6 Detect more KV variants 2014-11-08 15:50:57 +01:00
NiLuJe
3e9f2b06a3 Fix Wario battery/charger detection
Not sure how we didn't catch that one sooner... ;p
2014-11-08 15:50:57 +01:00
NiLuJe
cd7e9c3257 First stab at revamping the wait for marker stuff
WIP, untested, can probably simplified some more.
Good news is, it should be smarter, and thus provide a smoother user
experience :).
Relies on the relevant changes in base.
2014-11-08 15:50:57 +01:00
NiLuJe
d488ca43fa Some potentially fun stuff TODO :) 2014-11-08 15:50:56 +01:00
NiLuJe
a9d1c860fd Sigh. 2014-11-08 15:50:56 +01:00
NiLuJe
df965eb534 Dry-coded skeleton detection of the KT2 & KV
FIXME!
Needs actual confirmation from people with the HW!!
Once that's done, some device checks will probably need to be
udated in the codebase to take those new devices into account ;).
2014-11-08 15:50:56 +01:00
Frans de Jonge
8cd80288a0 Implement UIManager:unschedule(action). Fixes #1007. 2014-11-06 12:59:00 +01:00
Frans de Jonge
011c5b6544 Fix Kobo resume in new hardware abstraction. 2014-11-06 10:33:48 +01:00
chrox
a5cff2c42b add user defined event map
This should fix #1016.

Usage for #1016:
Create a file named "custom.event.map.lua" in the koreader directory
with the following content:

return {
    [102] = "LPgFwd",
}
2014-11-06 15:02:06 +08:00
HW
f0fba63f67 Merge pull request #1082 from chrox/cover_50
screenshot to PNG files by default
2014-11-05 11:44:55 +01:00
chrox
ae1dd3b380 screenshot to PNG files by default 2014-11-05 16:58:09 +08:00
Qingping Hou
8927f901da fix(input): use elseif conditional logic in adjustTouchSwitchXY 2014-11-05 02:54:04 -05:00
Hans-Werner Hilse
64601ffe3b add wrapper for FFI input.open() 2014-11-04 09:56:04 +01:00
Hans-Werner Hilse
3eae0cdcb7 Bugfixes: test leftovers, wrong paths 2014-11-03 10:08:55 +01:00
Hans-Werner Hilse
3066c86e38 Refactoring hardware abstraction
This is a major overhaul of the hardware abstraction layer.
A few notes:

General platform distinction happens in
  frontend/device.lua
which will delegate everything else to
  frontend/device/<platform_name>/device.lua
which should extend
  frontend/device/generic/device.lua

Screen handling is implemented in
  frontend/device/screen.lua
which includes the *functionality* to support device specifics.
Actually setting up the device specific functionality, however,
is done in the device specific setup code in the relevant
device.lua file.

The same goes for input handling.
2014-11-02 21:19:04 +01:00