I don't know if it's a bug in luajit but on an x86_64 CPU:
```lua
> = ffi.cast("uint32_t", 0xFFFFFFFFE) + 0
4294967294LL
```
while on an ARM CPU:
```lua
> = ffi.cast("uint32_t", 0xFFFFFFFFE) + 0
4294967295LL
```
Now the frontlight remains unchanged from Nickel to koreader and vice
versa.
Also ffi/kobolight.lua has been changed to allow for usage of the toggle
button in the filemanager.
The "My Clipping" file that storing highlights and notes for Kindle
native readers could also be parsed and exported. The parser is
implemented in `evernote.koplugin/clip.lua`.
Parsed highlights and notes in one book will be packed and rendered
into html node with a slt2 template `note.tpl` that complies with
evernote markup language(ENML).
Finally the evernote client will create or update note entries and
push them to Evernote cloud.
It changes `steps` in line 13 for better finetuning,
`rate` in line 22 so that it has a nil value for `Kobo_phoenix'
and delta_int in line 48 to the last know working syntax.
Could someone check whether line 22 does result in 3.0 for non-phoenix devices?
Code is added to switch between Kobo Aura (Phoenix) and others.
`ReaderFrontLight`, `self.ges_events` and the `function ReaderFrontLight:onAdjust` are now different for Kobo Aura. This enables me to do a two-fingered-pan over approx 1/4 Screenheight to change from full on to full off.
The difference to the default implementation is that both the `rate` and the `msg` are omitted and the `steps` are different.
FURTHER ROOM FOR IMPROVEMENT: It would be an improvement to get a final message after the two-fingered-pan is done stating the achieved setting.
Signed-off-by: Markismus <zulde.zuldemans@gmail.com>
if new timer has a timeout later than a timer in queue, the
new timer will be discarded and never be pushed into timer queue.
This is fixed by pushing new timer without timeout checking
and then sorting the queue according to timer timeouts.
This should fix#520 and #495.
This hack is to rescue wrong zoom level after removing unnecessary
`self:handleEvent(Event:new("SetDimensions", self.dimen))` at the
end of ReaderUI initialization which otherwise would confuse crengine
with two different dimens and would cause inconsistent reading progress.