pyrrhu5 / pipes-and-paper-enhanced Goto Github PK
View Code? Open in Web Editor NEWLive share to a browser the drawing made on a ReMarkable tablet
License: MIT License
Live share to a browser the drawing made on a ReMarkable tablet
License: MIT License
Hi, great project!
On my Mac I get an exception as soon as I open http://localhost:8001 in Safari or immediately if I run_debug() instead of run_server() in main.
./run.sh
Serving http server on http://localhost:8001
Websocket ready and running on http://localhost:6789
127.0.0.1 - - [30/Dec/2022 18:32:11] "GET / HTTP/1.1" 200 -
127.0.0.1 - - [30/Dec/2022 18:32:11] "GET /static/js/remarkable.js HTTP/1.1" 200 -
127.0.0.1 - - [30/Dec/2022 18:32:11] "GET /static/js/menu.js HTTP/1.1" 200 -
127.0.0.1 - - [30/Dec/2022 18:32:11] "GET /static/js/handler.js HTTP/1.1" 200 -
127.0.0.1 - - [30/Dec/2022 18:32:11] "GET /static/img/pen-solid.svg HTTP/1.1" 200 -
connection handler failed
Traceback (most recent call last):
File "..../pipes-and-paper-enhanced/.venv/lib/python3.9/site-packages/websockets/legacy/server.py", line 236, in handler
await self.ws_handler(self)
File "..../pipes-and-paper-enhanced/.venv/lib/python3.9/site-packages/websockets/legacy/server.py", line 1175, in _ws_handler
return await cast(
File "..../Develop/pipes-and-paper-enhanced/src/server.py", line 73, in handler
screen_input = await get_screen_input(listener)
File "..../Develop/pipes-and-paper-enhanced/src/screen_api.py", line 92, in get_screen_input
raise ValueError(f"Buffer is not 16 bits: {len(buffer)=} {buffer=}")
ValueError: Buffer is not 16 bits: len(buffer)=0 buffer=b''
./run.sh
Listening on /dev/input/event1
Traceback (most recent call last):
File "..../pipes-and-paper-enhanced/./main.py", line 32, in <module>
run_debug()
File "..../pipes-and-paper-enhanced/./main.py", line 18, in run_debug
screen_input = loop.run_until_complete(get_screen_input(listener))
File "..../3.9/lib/python3.9/asyncio/base_events.py", line 642, in run_until_complete
return future.result()
File "..../pipes-and-paper-enhanced/src/screen_api.py", line 92, in get_screen_input
raise ValueError(f"Buffer is not 16 bits: {len(buffer)=} {buffer=}")
ValueError: Buffer is not 16 bits: len(buffer)=0 buffer=b''
I had .venv set up and ssh access was already configured. I changed the hostname in main.py to match mine (rm2usb for USB connection). Checked rM was connected.
Hi! noticed this as a recent addition to awesome-reMarkable.
This is just an open suggestion as I've also myself forked pipes-and-paper years ago.
My take on "erase" was to take a new screenshot to refresh the screen after eraser was lifted up, effectively acting as an eraser. the screenshot mechanism itself is quite horrible and dependent on another project, but I found taking screenshots to be useful to stream an existing presentation/book and annotate over it, instead of just scribbling on a blank canevas.
For reference: https://github.com/martinetd/pipes-and-paper
feel free to close this immediately if the idea isn't tempting -- I might switch over if you do it better than me, which might not be difficult :) But have no use for the project right now, so won't spend time trying to rebase on top of your improvements.
I have a use case in mind, where I would interact (invisibly) with my rM2 during a 'whiteboard' session. While using the pen, for example to copy/paste/move something, I wouldn't want to leave traces on the whiteboard.
So I have implemented a "pause mode", i.e. the 'P' key toggles a state, where no lines are drawn, even with pen down. In this mode the pen/eraser icon is grey and the overlay green to indicate this mode. The green dot can also be used as a pointer, whitout taking care to hover. TIP would draw a smaller overlay dot, while ERASER has a bigger one.
If you like, I could provide the simple changes as PR - once I know how to do this right in github...
Hi, I wrote a little zsh script to start the application in a convenient way on a mac, but could be used on other platforms with small modifications, too. If interested I could push a feature branch?
Hi. I can't run your file, any idea what I'm doing wrong?
$ ./run.sh Traceback (most recent call last): File "./main.py", line 4, in <module> from src.connection import (SCREEN_DEVICE_PER_MODEL, get_remarkable_model, File "/home/charles/Téléchargements/pipes-and-paper-enhanced-stable/src/connection.py", line 17, in <module> SCREEN_DEVICE_PER_MODEL: dict[RemarkableModels, str] = { TypeError: 'type' object is not subscriptable
Are there any plans to allow for this to be packaged? This would entail creating a setup.py / pyproject.toml file and possibly tagging releases.
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.