For some backstory, this was a project that I started in order to dive deeper into learning the capabilities of JavaFX.
I stumbled upon the Robot class that simulates basic user input and sought to have some fun with it.
Cerebrum is a Java-based portable tool that utilizes the Netty API to create a low latency, network-based, mouse/keyboard sharing tool. It is named Cerebrum as it coordinates mouse/keyboard input between multiple devices like the brain coordinates functions in the body.
If you modify the code you can attempt to connect more than 10 devices. I merely set the limit at 10 to keep the settings slider intelligible.
The main purpose is to allow for a user to be able to connect other computers together and eliminate the need for extra keyboards and mice.
If you know how to port forward, you can ALSO use this as a remote desktop software if paired with a 3rd-party screen-sharing application.
- Easy to use, simple GUI.
- Able to control up to maximum of 10 simulataneous devices.
- Java 10 Runtime or Higher
- ~18 MB of Disk Space
- Optional: Knowledge of Port Forwarding
Please check the target folder then download and double-click Cerebrum-1.0.jar to run.
- Decide what computer will be the
hostand what port you would like to use. - Run the software on said computer and click
Connect. The settings menu will load. - In the Settings Menu:
- Check the
HostCheckBox. - Type Server in the
IP Addresssection. - Enter your desired port in the
Portsection. - Slide the bar to the desired number of computers you would like to connect.
- Click
Save.
- Check the
- Once the
Connection Statusbecomes a blue check, run the software on the remote devices and clickConnect. The settings menu will load. - In the Settings Menu:
- Enter in the IPv4 of the
hostin theIP Addresssection. - Enter your previously chosen port in the
Portsection. - Click
Save.
- Enter in the IPv4 of the
- Wait a few seconds, and you should see a translucent cyan window pop up on the
hostwith the title being either your device name or an IP Address. This window is the control panel for that respective device. In this control panel, all keyboard and mouse data performed on this window will be sent to the respective remote device. That is to say, clicking anywhere on the panel will correspond to a click on the respective remote device at that location (if scaled properly). - Once finished, Click
Disconnectto stop the server or click on the names of each device on theLive Connectionswindow to disconnect them.
- Follow the same steps described above, but ensure that the
hostis port-forwarded and that the client enters the external IP Address of thehost.
- OS-Exclusive Key Combinations (ie. CTRL+ALT+DEL) are not functional.
