llakssz / kindlelazy Goto Github PK
View Code? Open in Web Editor NEWProgram/KUAL extension to control Kindle via usb device (keyboard etc) + upside down
Program/KUAL extension to control Kindle via usb device (keyboard etc) + upside down
I'm using Kindle pw1, and get "./kindlelazy: /usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.17' not found (required by ./kindlelazy)" message when I run kindlelazy in CLI.
After then, I try to build kindlelazy myself. But seems it cannot link with X11 (cause my toolchain did not contain this lib). Could you please tell me how to get it?
Or shoud you build the bin with --static option?
Hi, Thank you for your work here! My kindle puts the up/down kbd on event4 and not event2, and puts the volume/up (brightness) on event3. So while brightness works, the page forward and back does not.
Would it be possible to allow us to set or override the default character devices a specific kindle must use in the config.json? (I'm assuming that would be the easiest way)
event_brightness = "event3"
event_page_turn = "event4"
Or something like that.
Otherwise grepping through /proc/bus/input/devices would work and finding which character device the kbd entries get assigned, but I assume that's way more work to code.
Hello,
My Kindle is 7-th generation, Serial Number 90C6 XXXX XXXX XXXX. Will your hack work for it? If yes, is it possible to purchase? If not, is it possible to have instructions for dummies? Will I need to make some more preparations like jailbreaking? I am not a Kindle hacker and is interested because my wife has temporary disabilities after operation on spinal cord and that could work well together with tablet stand which I've already purchased.
Apparently someone's tired it and it didn't work. Would love your thoughts
Thanks for your hard work. It bring excellent experience for reading. Could you supply KOA2 version, or
a guide for it? Many thanks.
Ok one more thing :) I've been trying to get KindleLazy to autostart, but it wont' start when calling start.sh from udev. It works fine if I run start.sh on the command line. It works fine if I run it from a different script. I've added some logging stuff to try and troubleshoot. Here is my start.sh at this point.
#!/bin/sh
#start KindleLazy by inserting modules and running background app
echo "start.sh triggered" >> /tmp/udev.log
cd "$(dirname "$0")"
echo "user is:" >> /tmp/udev.log
echo $USER >> /tmp/udev.log
echo "whoami=" >> /tmp/udev.log
whoami >> /tmp/udev.log
echo "dirname var is:" >> /tmp/udev.log
echo "$(dirname "$0")" >> /tmp/udev.log
echo "working dir is" >> /tmp/udev.log
pwd >> /tmp/udev.log
sleep 8
{
insmod hid.ko
sleep 1
insmod usbhid.ko
sleep 1
insmod mousedev.ko
sleep 1
killall kindlelazy
sleep 3
./kindlelazy &
} >> /tmp/udev.log 2>>/tmp/udev.log
It works just fine using [root@kindle bin]# ./start.sh - I get this output:
start.sh triggered
user is:
root
whoami=
root
dirname var is:
bin
working dir is
/mnt/us/extensions/KindleLazy/bin
killall: kindlelazy: no process killed`
When I call start.sh from a udev rule, I get this:
start.sh triggered
user is:
whoami=
root
dirname var is:
/mnt/us/extensions/KindleLazy/bin
working dir is
/mnt/us/extensions/KindleLazy/bin
killall: kindlelazy: no process killed
ERROR opening evdev2 device
: No such file or directory
ERROR opening evdev3 device
: No such file or directory
ERROR Opening XDisplay
: No such file or directory
KindleLazy v0.9 - cearp
opened evdev1 touch screen`
My udev rule is this, and it works fine and calls the script every time.
KERNEL=="1-1", ATTR{idVendor}=="0458", ATTR{idProduct}=="0189", RUN+="/mnt/us/extensions/KindleLazy/bin/start.sh"
I tried putting a 2nd script in the KindleLazy directory that then calls bin/start.sh, because it looks like that's how the UI calls it, but that didn't help either. Calling the exact same full path to the script /mnt/us/extensions/KindleLazy/bin/start.sh also works, as long as it's command line.
The modules are all loaded.
[root@kindle bin]# lsmod
Module Size Used by
mousedev 9072 0
usbhid 18029 0
hid 67608 1 usbhid
ath6kl_sdio 197174 0
cfg80211 170499 1 ath6kl_sdio
g_file_storage 35635 0
arcotg_udc 26338 1 g_file_storage
cyttsp4_mt_b 8180 0
cyttsp4_core 41372 2
cyttsp4_i2c 2563 1
fuse 60020 2
ehci_hcd 53568 0
fsl_otg_arc 15613 3 ehci_hcd
mxc_epdc_fb 89693 3
mxc_epdc_eink 8771 1 mxc_epdc_fb
The character devices are all there and they work.
[root@kindle bin]# evtest /dev/input/event2
Input driver version is 1.0.1
Input device ID: bus 0x3 vendor 0x458 product 0x189 version 0x101
Input device name: "Genius Wireless Mouse"
Supported events:
Event type 0 (Sync)
Event type 1 (Key)
Event code 272 (LeftBtn)
Event code 273 (RightBtn)
Event code 274 (MiddleBtn)
Event code 275 (SideBtn)
Event code 276 (ExtraBtn)
Event type 2 (Relative)
Event code 0 (X)
Event code 1 (Y)
Event code 6 (HWheel)
Event code 8 (Wheel)
Event type 4 (Misc)
Event code 4 (ScanCode)
Testing ... (interrupt to exit)
The only difference I can find is that $USER is root at all times except when i'm calling start.sh from udev and then get the ERROR opening evdev2 device. I'm at a loss :/
I got very excited about this and ordered a PW3.
Now I am sad. A modern PW3 has firmware 5.8.11, and cannot be jailbroken without splitting the case and soldering leads to provide for a 1.8V tty adapter.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.