ddvk / remarkable-stylus

hack to get the button of a lamy pen working
GNU Lesser General Public License v3.0
185 stars 10 forks source link

How to #1

Closed AaronDavidSchneider closed 4 years ago

AaronDavidSchneider commented 4 years ago

Hey,

thanks for writing the code! I just wanted to try if it works. I don't understand how to install.

What I did:

Where do I find the libqevdevlamyplugin.so? If I need to compile it first, do I have to compile it on the remarkable? If so: source /usr/local/oecore-x86_64/environment-setup-cortexa9hf-neon-oe-linux-gnueabi doesn't work on the rm.

Thanks!

ddvk commented 4 years ago

no, you have to compile on a linux host (with the remarkable toolchain etc)

here's a compiled binary

https://github.com/ddvk/remarkable-stylus/releases/download/0.0.1/libqevdevlamyplugin.so

copy to /usr/lib/plugins/generic stop xochitl: systemctl stop xochitl start with the plugin xochitl -plugin evdevlamy

AaronDavidSchneider commented 4 years ago

Awesome! It works!

AaronDavidSchneider commented 4 years ago

Here are some Logs:

root@remarkable:~# systemctl stop xochitl
root@remarkable:~# xochitl -plugin evdevlamy
02:03.759                          we're running on an epaper device (int main(int, char**) ../git/src/main.cpp:147)
02:03.761                          QFSFileEngine::map: Mapping a file beyond its size is not portable
02:03.762                          Framebuffer initialized: QImage(QSize(1404, 1872),format=7,depth=16,devicePixelRatio=1,bytesPerLine=2816,sizeInBytes=5271552) 10813440
02:03.769                          EPD platform plugin loaded!
02:03.771                          QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
02:03.779                          evdevtouch: Using device discovery
02:03.786                          evdevtouch: Adding device at "/dev/input/event1"
02:03.788                          evdevtouch: Using device /dev/input/event1
02:03.811                          lamy: Using device discovery
02:03.818                          Adding device at "/dev/input/event0"
02:03.825                          evdevtouch: /dev/input/event1: Protocol type B  (multi), filtered=no
02:03.826                          evdevtouch: /dev/input/event1: min X: 0 max X: 767
02:03.826                          evdevtouch: /dev/input/event1: min Y: 0 max Y: 1023
02:03.826                          evdevtouch: /dev/input/event1: min pressure: 0 max pressure: 0
02:03.826                          evdevtouch: /dev/input/event1: device name: cyttsp5_mt
02:03.828                          lamy: using /dev/input/event0
02:03.828                          lamy: /dev/input/event0: device name: Wacom I2C Digitizer
02:03.861 LoadingBlock             > Loading (LoadingBlock(bool) ../git/src/loadingthread.h:80)
02:03.861 LoadingBlock             Starting loading (LoadingBlock(bool) ../git/src/loadingthread.h:83)
02:04.215 DebugHelperClass           bool WifiManager::onSupplicantAvailable() 75 ms  *** ON GUI THREAD *** (~DebugHelperClass() ../git/src/debug.h:23)
02:04.216 DebugHelperClass           void WifiManager::ifupdown() 77 ms  *** ON GUI THREAD *** (~DebugHelperClass() ../git/src/debug.h:23)
02:04.219 Digitizer                Digitizer "Wacom I2C Digitizer" initialized (Digitizer() ../git/src/epcanvas/digitizer.cpp:135)
02:06.609                          Creating window
02:06.617 LoadingBlock             < Loading (~LoadingBlock() ../git/src/loadingthread.h:92)
02:06.618 LoadingBlock             Stopping loading (~LoadingBlock() ../git/src/loadingthread.h:96)
02:07.099 LoadingBlock             Stopped loading (~LoadingBlock() ../git/src/loadingthread.h:98)
02:07.104                          evdevtouch: Updating QInputDeviceManager device count: 1  touch devices, 0 pending handler(s)
02:07.115 WifiManager              Unhandled attribute type 8 (parseNetlinkRouteMessage(const nlmsghdr*) ../git/src/wifimanager.cpp:1346)
02:07.116 WifiManager              Got two gateways (parseNetlinkRouteMessage(const nlmsghdr*) ../git/src/wifimanager.cpp:1362)
02:07.118 LoadingBlock             > Loading (LoadingBlock(bool) ../git/src/loadingthread.h:80)
02:07.119 LoadingBlock             Starting loading (LoadingBlock(bool) ../git/src/loadingthread.h:83)
02:07.402                          FIXME: mipmap filtering not supported
02:07.403                          FIXME: wrapmode not supported
02:07.403                          FIXME: wrapmode not supported
02:07.404                          FIXME, setting node inner target rect for image node not supported: QRectF(0,0 227x37)
02:07.404                          FIXME: mirroring not supported
02:07.592 DrawingArea              No worker! (endSelection() ../git/src/drawingarea.cpp:1922)
02:07.593 DrawingArea              No worker! (endSelection() ../git/src/drawingarea.cpp:1922)
02:07.792 Library                  Found deleted entry in library! "05443622-c0a3-4461-8cdf-24eafab5827d" (loadEntry(const QString&) ../git/src/library/library.cpp:1321)
02:08.035 Library                  Found deleted entry in library! "c9eb2daa-ced7-434e-aa66-aa2fb247394d" (loadEntry(const QString&) ../git/src/library/library.cpp:1321)
02:08.132 LoadingBlock             < Loading (~LoadingBlock() ../git/src/loadingthread.h:92)
02:08.132 LoadingBlock             Stopping loading (~LoadingBlock() ../git/src/loadingthread.h:96)
02:08.222 LoadingBlock             Stopped loading (~LoadingBlock() ../git/src/loadingthread.h:98)
02:08.243 LoadingBlock             > Loading (LoadingBlock(bool) ../git/src/loadingthread.h:80)
02:08.244 LoadingBlock             Starting loading (LoadingBlock(bool) ../git/src/loadingthread.h:83)
02:08.502 LoadingBlock             < Loading (~LoadingBlock() ../git/src/loadingthread.h:92)
02:08.503 LoadingBlock             Stopping loading (~LoadingBlock() ../git/src/loadingthread.h:96)
02:08.746 LoadingBlock             Stopped loading (~LoadingBlock() ../git/src/loadingthread.h:98)
02:08.752 DebugHelperClass           void Library::load() 1634 ms  *** ON GUI THREAD *** (~DebugHelperClass() ../git/src/debug.h:23)
02:08.800 Library                  Asked for invalid document "26085df0-813e-4741-97fe-2ca7d4574049" (entryForId(const QString&) const ../git/src/library/library.cpp:92)
02:10.990 DebugHelperClass           virtual Entry::SharedPtr Library::createEntry(const QJsonObject&) 11 ms  *** ON GUI THREAD *** (~DebugHelperClass() ../git/src/debug.h:23)
02:11.362 DocumentUploader::enqueue(EntryEntry was marked as deleted! (SharedPtr) ../git/src/documentuploader.cpp:267)
02:11.363 DocumentUploader::enqueue(EntryEntry was marked as deleted! (SharedPtr) ../git/src/documentuploader.cpp:267)
02:13.238 LoadingBlock             > Loading (LoadingBlock(bool) ../git/src/loadingthread.h:80)
02:13.239 LoadingBlock             Starting loading (LoadingBlock(bool) ../git/src/loadingthread.h:83)
02:13.338 DebugHelperClass           bool Document::createPagesMap() 97 ms  *** ON GUI THREAD *** (~DebugHelperClass() ../git/src/debug.h:23)
02:13.340 LoadingBlock             < Loading (~LoadingBlock() ../git/src/loadingthread.h:92)
02:13.341 LoadingBlock             Stopping loading (~LoadingBlock() ../git/src/loadingthread.h:96)
02:13.741 LoadingBlock             Stopped loading (~LoadingBlock() ../git/src/loadingthread.h:98)
02:13.743 DebugHelperClass           virtual AbstractDocumentWorker* DocumentWorkerPool::acquireDocumentWorker(std::shared_ptr<Document>) 504 ms  *** ON GUI THREAD *** (~DebugHelperClass() ../git/src/debug.h:23)
02:13.746 Entry                    Failed to remove marker file to indicate entry is finished downloading (setDownloading(bool, int, bool) ../git/src/library/entry.cpp:674)
02:15.131 LoadingBlock             > Loading (LoadingBlock(bool) ../git/src/loadingthread.h:80)
02:15.134 LoadingBlock             Starting loading (LoadingBlock(bool) ../git/src/loadingthread.h:83)
02:15.226 DebugHelperClass           bool Document::createPagesMap() 90 ms  *** ON GUI THREAD *** (~DebugHelperClass() ../git/src/debug.h:23)
02:15.227 LoadingBlock             < Loading (~LoadingBlock() ../git/src/loadingthread.h:92)
02:15.227 LoadingBlock             Stopping loading (~LoadingBlock() ../git/src/loadingthread.h:96)
02:15.636 LoadingBlock             Stopped loading (~LoadingBlock() ../git/src/loadingthread.h:98)
02:15.641 DebugHelperClass           virtual AbstractDocumentWorker* DocumentWorkerPool::acquireDocumentWorker(std::shared_ptr<Document>) 510 ms  *** ON GUI THREAD *** (~DebugHelperClass() ../git/src/debug.h:23)
02:15.644 Entry                    Failed to remove marker file to indicate entry is finished downloading (setDownloading(bool, int, bool) ../git/src/library/entry.cpp:674)
02:16.551 LoadingBlock             > Loading (LoadingBlock(bool) ../git/src/loadingthread.h:80)
02:16.554 LoadingBlock             Starting loading (LoadingBlock(bool) ../git/src/loadingthread.h:83)
02:16.589 DebugHelperClass           bool Document::createPagesMap() 33 ms  *** ON GUI THREAD *** (~DebugHelperClass() ../git/src/debug.h:23)
02:16.590 LoadingBlock             < Loading (~LoadingBlock() ../git/src/loadingthread.h:92)
02:16.590 LoadingBlock             Stopping loading (~LoadingBlock() ../git/src/loadingthread.h:96)
02:17.056 LoadingBlock             Stopped loading (~LoadingBlock() ../git/src/loadingthread.h:98)
02:17.058 DebugHelperClass           virtual AbstractDocumentWorker* DocumentWorkerPool::acquireDocumentWorker(std::shared_ptr<Document>) 507 ms  *** ON GUI THREAD *** (~DebugHelperClass() ../git/src/debug.h:23)
02:17.061 Entry                    Failed to remove marker file to indicate entry is finished downloading (setDownloading(bool, int, bool) ../git/src/library/entry.cpp:674)
02:17.571 LoadingBlock             > Loading (LoadingBlock(bool) ../git/src/loadingthread.h:80)
02:17.572 LoadingBlock             Starting loading (LoadingBlock(bool) ../git/src/loadingthread.h:83)
02:17.610 DebugHelperClass           bool Document::createPagesMap() 34 ms  *** ON GUI THREAD *** (~DebugHelperClass() ../git/src/debug.h:23)
02:17.611 LoadingBlock             < Loading (~LoadingBlock() ../git/src/loadingthread.h:92)
02:17.611 LoadingBlock             Stopping loading (~LoadingBlock() ../git/src/loadingthread.h:96)
02:18.076 LoadingBlock             Stopped loading (~LoadingBlock() ../git/src/loadingthread.h:98)
02:18.077 DebugHelperClass           virtual AbstractDocumentWorker* DocumentWorkerPool::acquireDocumentWorker(std::shared_ptr<Document>) 506 ms  *** ON GUI THREAD *** (~DebugHelperClass() ../git/src/debug.h:23)
02:18.083 Entry                    Failed to remove marker file to indicate entry is finished downloading (setDownloading(bool, int, bool) ../git/src/library/entry.cpp:674)
02:18.403 LoadingBlock             > Loading (LoadingBlock(bool) ../git/src/loadingthread.h:80)
02:18.406 LoadingBlock             Starting loading (LoadingBlock(bool) ../git/src/loadingthread.h:83)
02:18.437 DebugHelperClass           bool Document::createPagesMap() 29 ms  *** ON GUI THREAD *** (~DebugHelperClass() ../git/src/debug.h:23)
02:18.438 LoadingBlock             < Loading (~LoadingBlock() ../git/src/loadingthread.h:92)
02:18.439 LoadingBlock             Stopping loading (~LoadingBlock() ../git/src/loadingthread.h:96)
02:18.908 LoadingBlock             Stopped loading (~LoadingBlock() ../git/src/loadingthread.h:98)
02:18.910 DebugHelperClass           virtual AbstractDocumentWorker* DocumentWorkerPool::acquireDocumentWorker(std::shared_ptr<Document>) 506 ms  *** ON GUI THREAD *** (~DebugHelperClass() ../git/src/debug.h:23)
02:18.912 Entry                    Failed to remove marker file to indicate entry is finished downloading (setDownloading(bool, int, bool) ../git/src/library/entry.cpp:674)
02:20.009 LoadingBlock             > Loading (LoadingBlock(bool) ../git/src/loadingthread.h:80)
02:20.010 LoadingBlock             Starting loading (LoadingBlock(bool) ../git/src/loadingthread.h:83)
02:20.082 DebugHelperClass           bool Document::createPagesMap() 70 ms  *** ON GUI THREAD *** (~DebugHelperClass() ../git/src/debug.h:23)
02:20.083 LoadingBlock             < Loading (~LoadingBlock() ../git/src/loadingthread.h:92)
02:20.083 LoadingBlock             Stopping loading (~LoadingBlock() ../git/src/loadingthread.h:96)
02:20.511 LoadingBlock             Stopped loading (~LoadingBlock() ../git/src/loadingthread.h:98)
02:20.514 DebugHelperClass           virtual AbstractDocumentWorker* DocumentWorkerPool::acquireDocumentWorker(std::shared_ptr<Document>) 507 ms  *** ON GUI THREAD *** (~DebugHelperClass() ../git/src/debug.h:23)
02:20.517 Entry                    Failed to remove marker file to indicate entry is finished downloading (setDownloading(bool, int, bool) ../git/src/library/entry.cpp:674)
02:20.539 DocumentDeleter::onServiceUrlReceived(AbstractDocumentDeleterURL: QUrl("https://document-storage-production-dot-remarkable-production.appspot.com:443/document-storage/json/2/delete") (Task, QString) ../git/src/library/documentdeleter.cpp:312)
02:20.738 DocumentDeleter::onEntriesDeleted(AbstractDocumentDeleterfailed to delete document ("05443622-c0a3-4461-8cdf-24eafab5827d") (0) (Task, QNetworkReply*) ../git/src/library/documentdeleter.cpp:362)
02:22.562 LoadingBlock             > Loading (LoadingBlock(bool) ../git/src/loadingthread.h:80)
02:22.563 LoadingBlock             Starting loading (LoadingBlock(bool) ../git/src/loadingthread.h:83)
02:22.731 DebugHelperClass           bool Document::createPagesMap() 167 ms  *** ON GUI THREAD *** (~DebugHelperClass() ../git/src/debug.h:23)
02:22.733 LoadingBlock             < Loading (~LoadingBlock() ../git/src/loadingthread.h:92)
02:22.734 LoadingBlock             Stopping loading (~LoadingBlock() ../git/src/loadingthread.h:96)
02:23.064 LoadingBlock             Stopped loading (~LoadingBlock() ../git/src/loadingthread.h:98)
02:23.069 DebugHelperClass           virtual AbstractDocumentWorker* DocumentWorkerPool::acquireDocumentWorker(std::shared_ptr<Document>) 507 ms  *** ON GUI THREAD *** (~DebugHelperClass() ../git/src/debug.h:23)
02:23.072 Entry                    Failed to remove marker file to indicate entry is finished downloading (setDownloading(bool, int, bool) ../git/src/library/entry.cpp:674)
02:24.201                          loading 710a6040-caf5-494a-9247-5d90b467bba2 (load qrc:/qml/device/view/documentview/ToolBox.qml:126)
02:24.264 DebugHelperClass           virtual bool DocumentWorker::doLoadLinesForPage(Page*, int) 36 ms  (~DebugHelperClass() ../git/src/debug.h:23)
02:24.449 DebugHelperClass           void DocumentWorker::doRedrawPage(Page*, int, AbstractDocumentWorker::RedrawType) 221 ms  (~DebugHelperClass() ../git/src/debug.h:23)
02:24.471 DebugHelperClass           virtual bool DocumentWorker::doLoadLinesForPage(Page*, int) 16 ms  (~DebugHelperClass() ../git/src/debug.h:23)
02:24.493 DebugHelperClass           void DocumentWorker::doRedrawPage(Page*, int, AbstractDocumentWorker::RedrawType) 37 ms  (~DebugHelperClass() ../git/src/debug.h:23)
02:24.626 Library                  Asked for invalid document "26085df0-813e-4741-97fe-2ca7d4574049" (entryForId(const QString&) const ../git/src/library/library.cpp:92)
02:24.666 DebugHelperClass           void DocumentWorker::doRedrawPage(Page*, int, AbstractDocumentWorker::RedrawType) 159 ms  (~DebugHelperClass() ../git/src/debug.h:23)
02:24.683 DebugHelperClass           virtual bool DocumentWorker::doLoadLinesForPage(Page*, int) 15 ms  (~DebugHelperClass() ../git/src/debug.h:23)
02:24.954 DebugHelperClass           void DocumentWorker::doRedrawPage(Page*, int, AbstractDocumentWorker::RedrawType) 287 ms  (~DebugHelperClass() ../git/src/debug.h:23)
02:24.975 DebugHelperClass           virtual bool DocumentWorker::doLoadLinesForPage(Page*, int) 16 ms  (~DebugHelperClass() ../git/src/debug.h:23)
02:24.999 DebugHelperClass           void DocumentWorker::doRedrawPage(Page*, int, AbstractDocumentWorker::RedrawType) 40 ms  (~DebugHelperClass() ../git/src/debug.h:23)
02:25.012 DebugHelperClass           virtual bool DocumentWorker::doLoadLinesForPage(Page*, int) 11 ms  (~DebugHelperClass() ../git/src/debug.h:23)
02:25.062 DebugHelperClass           void DocumentWorker::doRedrawPage(Page*, int, AbstractDocumentWorker::RedrawType) 61 ms  (~DebugHelperClass() ../git/src/debug.h:23)
02:25.558 LoadingBlock             > Loading (LoadingBlock(bool) ../git/src/loadingthread.h:80)
02:25.562 LoadingBlock             Starting loading (LoadingBlock(bool) ../git/src/loadingthread.h:83)
02:25.707 DebugHelperClass           bool Document::createPagesMap() 144 ms  *** ON GUI THREAD *** (~DebugHelperClass() ../git/src/debug.h:23)
02:25.710 LoadingBlock             < Loading (~LoadingBlock() ../git/src/loadingthread.h:92)
02:25.711 LoadingBlock             Stopping loading (~LoadingBlock() ../git/src/loadingthread.h:96)
02:26.064 LoadingBlock             Stopped loading (~LoadingBlock() ../git/src/loadingthread.h:98)
02:26.070 DebugHelperClass           virtual AbstractDocumentWorker* DocumentWorkerPool::acquireDocumentWorker(std::shared_ptr<Document>) 511 ms  *** ON GUI THREAD *** (~DebugHelperClass() ../git/src/debug.h:23)
02:26.074 Entry                    Failed to remove marker file to indicate entry is finished downloading (setDownloading(bool, int, bool) ../git/src/library/entry.cpp:674)
02:26.375                          generating event 1
02:26.376 Digitizer                Unexpected event type  1 , code:  331 , value:  1 true (PenUnit*) ../git/src/epcanvas/digitizer.cpp:476)
02:26.535                          generating event 0
02:26.535 Digitizer                Unexpected event type  1 , code:  331 , value:  0 true (PenUnit*) ../git/src/epcanvas/digitizer.cpp:476)
02:26.619 LoadingBlock             > Loading (LoadingBlock(bool) ../git/src/loadingthread.h:80)
02:26.619 LoadingBlock             Starting loading (LoadingBlock(bool) ../git/src/loadingthread.h:83)
02:26.654 DebugHelperClass           bool Document::createPagesMap() 33 ms  *** ON GUI THREAD *** (~DebugHelperClass() ../git/src/debug.h:23)
02:26.655 LoadingBlock             < Loading (~LoadingBlock() ../git/src/loadingthread.h:92)
02:26.656 LoadingBlock             Stopping loading (~LoadingBlock() ../git/src/loadingthread.h:96)
02:27.121 LoadingBlock             Stopped loading (~LoadingBlock() ../git/src/loadingthread.h:98)
02:27.127 DebugHelperClass           virtual AbstractDocumentWorker* DocumentWorkerPool::acquireDocumentWorker(std::shared_ptr<Document>) 508 ms  *** ON GUI THREAD *** (~DebugHelperClass() ../git/src/debug.h:23)
02:27.131 Entry                    Failed to remove marker file to indicate entry is finished downloading (setDownloading(bool, int, bool) ../git/src/library/entry.cpp:674)
02:28.412 LoadingBlock             > Loading (LoadingBlock(bool) ../git/src/loadingthread.h:80)
02:28.415 LoadingBlock             Starting loading (LoadingBlock(bool) ../git/src/loadingthread.h:83)
02:28.518 DebugHelperClass           bool Document::createPagesMap() 101 ms  *** ON GUI THREAD *** (~DebugHelperClass() ../git/src/debug.h:23)
02:28.519 LoadingBlock             < Loading (~LoadingBlock() ../git/src/loadingthread.h:92)
02:28.519 LoadingBlock             Stopping loading (~LoadingBlock() ../git/src/loadingthread.h:96)
02:28.917 LoadingBlock             Stopped loading (~LoadingBlock() ../git/src/loadingthread.h:98)
02:28.922 DebugHelperClass           virtual AbstractDocumentWorker* DocumentWorkerPool::acquireDocumentWorker(std::shared_ptr<Document>) 510 ms  *** ON GUI THREAD *** (~DebugHelperClass() ../git/src/debug.h:23)
02:28.927 Entry                    Failed to remove marker file to indicate entry is finished downloading (setDownloading(bool, int, bool) ../git/src/library/entry.cpp:674)
02:29.228 DocumentDownloader::requeue(AbstractDocumentDownloaderDownload task was rejected from the queue "6fc15fe9-0b87-4062-9464-c179ef56ced3" 1 0 (Task) ../git/src/documentdownloader.cpp:344)
02:29.236                          QFile::remove: Empty or null file name
02:29.388 DebugHelperClass           virtual void Library::cleanInvalidEntry(Entry::SharedPtr) 153 ms  *** ON GUI THREAD *** (~DebugHelperClass() ../git/src/debug.h:23)
02:31.624 DebugHelperClass           virtual bool DocumentWorker::doStoreLinesForPage(Page*, int) 59 ms  (~DebugHelperClass() ../git/src/debug.h:23)
02:32.208 Digitizer                Unexpected event type  1 , code:  331 , value:  1 true (PenUnit*) ../git/src/epcanvas/digitizer.cpp:476)
02:32.209                          generating event 1
02:32.431                          generating event 0
02:32.432 Digitizer                Unexpected event type  1 , code:  331 , value:  0 true (PenUnit*) ../git/src/epcanvas/digitizer.cpp:476)
02:32.720 DebugHelperClass           virtual bool DocumentWorker::doStoreLinesForPage(Page*, int) 51 ms  (~DebugHelperClass() ../git/src/debug.h:23)
02:34.513 DebugHelperClass           void DocumentWorker::doEraseWithLine(Page*, int, int, const Line&) 17 ms  (~DebugHelperClass() ../git/src/debug.h:23)
02:34.688 DebugHelperClass           void DocumentWorker::doRedrawPage(Page*, int, AbstractDocumentWorker::RedrawType) 170 ms  (~DebugHelperClass() ../git/src/debug.h:23)
02:35.601 DebugHelperClass           virtual bool DocumentWorker::doStoreLinesForPage(Page*, int) 50 ms  (~DebugHelperClass() ../git/src/debug.h:23)
02:36.150 Digitizer                Unexpected event type  1 , code:  331 , value:  1 true (PenUnit*) ../git/src/epcanvas/digitizer.cpp:476)
02:36.151                          generating event 1
02:36.302 Digitizer                Unexpected event type  1 , code:  331 , value:  0 true (PenUnit*) ../git/src/epcanvas/digitizer.cpp:476)
02:36.303                          generating event 0
02:39.012 DebugHelperClass           virtual bool DocumentWorker::doStoreLinesForPage(Page*, int) 56 ms  (~DebugHelperClass() ../git/src/debug.h:23)
02:40.092 DebugHelperClass           virtual bool DocumentWorker::doStoreLinesForPage(Page*, int) 47 ms  (~DebugHelperClass() ../git/src/debug.h:23)

I think it throws a warning when the button is pressen: 02:36.302 Digitizer Unexpected event type 1 , code: 331 , value: 0 true (PenUnit*) ../git/src/epcanvas/digitizer.cpp:476)

AaronDavidSchneider commented 4 years ago

And a small video: https://www.dropbox.com/s/54akks05ajes0l4/IMG_1782.MOV?dl=0

AaronDavidSchneider commented 4 years ago

Is there a way to make it permanent?

ademasi commented 4 years ago

You could add the option "-plugin evdevlamy" directly in the systemd service file in /lib/systemd/system/xochitl.service:

root@remarkable:~# cat /lib/systemd/system/xochitl.service
[Unit]
Description=reMarkable main application
StartLimitIntervalSec=600
StartLimitBurst=4
OnFailure=remarkable-fail.service
After=home.mount

[Service]
ExecStart=/usr/bin/xochitl --system -plugin evdevlamy
Restart=on-failure
WatchdogSec=60

[Install]
WantedBy=multi-user.target

(Your video just made me buy the pen ^^)

AaronDavidSchneider commented 4 years ago

Thanks!

ddvk commented 4 years ago

added an installer