Remote control the mouse and keyboard of a Mac/Windows/Linux computer from a html page, e.g. from a smartphone or a tablet. Adapted from https://github.com/simquat/LocalTrackpad.
The views (dropdown menu or swipe top part left/right):
- Mouse/trackpad control, cursor, generic keys (e.g. for youtube, netflix), send text.
- VLC control buttons.
- A filebrowser to open movies/files.
- If a jpg file is opened, all jpg's in the current folder are shown in VLC as image viewer
- A history of recently opened movies/files.
Note that there is no access control, everybody on the (local) network has access to webremotecontrol!
- On the server:
- Install VLC and make sure movies are automatically opened with it.
- Download a zip, extract it somewhere and run (in screen/tmux)
bin/webremotecontrol.bat
(Windows) orbin/webremotecontrol
(Mac/Linux). It is not signed, google for "open unsigned mac/win". - Click on one of the buttons to show a QR code that contains the server URL and scan this with the client.
- Client: Adding an icon to your homescreen should make a web app.
The config file webremotecontrol.txt
is automatically generated in the current folder. Example content:
httpserverport=9000
urls=npo,https\://www.npo.nl/mijn_npo\#history;netflix,http\://netflix.com;youtube,http\://youtube.com;southpark,http\://southpark.cc.com/full-episodes/random
vlc=/Applications/VLC.app or vlc=C\:\\Program Files\\VideoLAN\\VLC\\vlc.exe
The vlc
setting pointing to the VLC program is only needed to open VIDEO_TS
DVD folders.
- Get Java from https://jdk.java.net
- Clone the repository
- I use the free community version of IntelliJ IDEA, just open the project to get started.
- Compile and run manually:
./gradlew run
. - Package:
./gradlew clean dist
. The builds are inbuild/libs
.
- Kotlin and Gradle
- Javalin as webserver
- Hammer.JS to capture touch events
- QRGen to generate the QR code
- js-mobile-console for debugging
- Runtime plugin to make runtimes with JRE