WebSocket Keyboard is a client-server tool for sending keyboard events from a HTTPS page on your desktop/mobile browser to the active display of a linux server.
This package was put together to allow control of a Raspberry Pi 4 from a Android mobile phone without using a physical keyboard. It works on Ubuntu 16.04 LTS and above, Raspbian Jessie and above. And there is almost no lag on the local network as it uses sockets for communication.
sudo git clone https://github.com/dalvlex/ws-keyboard /opt/ws-keyboard
sudo /bin/bash /opt/ws-keyboard/install.sh
ws-keyboard may only be installed in /opt/ws-keyboard
Visit both https://<YOUR_SERVER_IP>:9500/
and https://<YOUR_SERVER_IP>:9502/
and add browser exceptions for the self-signed SSL certificate.
Access https://<YOUR_SERVER_IP>:9500/
click 'Connect' and start sending keyboard events to the linux active display.
sudo /bin/bash /opt/ws-keyboard/uninstall.sh
sudo rm -rf /opt/ws-keyboard
This was inspired by Ralf Meermeier's Android application UniversalController and code examples from the simple-websocket-server Python module.
- Add portrait keyboard options and landscape game controller for mobile
- Extend frontend UI and add user/password access with SQLite support
- Create functionallity to add/remove buttons which trigger system commands
- Add user classes with permissions for system commands
- Receive push notifications which may be linked to system commands
- Add mouse events