This repository provides two scripts to help you set up and start Input Leap (a KVM software) between a server (e.g., a Mac mini) and a client (e.g., a MacBook Pro).
setup-input-leap.sh: Automates the initial setup of Input Leap, including downloading pre-built binaries, extracting them, and configuring the server and client.start-input-leap.sh: A convenience script to start the Input Leap server and client after the initial setup.
- macOS: These scripts are designed for macOS.
- SSH Access: SSH access must be configured between your server and client machines.
- Curl:
curlmust be installed on both machines. - Accessibility Permissions: For Input Leap to control your mouse and keyboard, you must manually grant it permission in macOS System Settings (or System Preferences) on both the server and client machines.
- Go to System Settings (or System Preferences).
- Navigate to Privacy & Security.
- Click on Accessibility.
- Enable the toggle switch next to
input-leaps(for the server) andinput-leapc(for the client). You may need to click the lock icon and enter your password to make changes.
- Clone this repository to your server machine.
- Customize the scripts: Open
setup-input-leap.shandstart-input-leap.shand update theCLIENT_USER,CLIENT_HOST, andSERVER_HOSTvariables with your specific details. - Run the setup script: Execute
./setup-input-leap.shon your server machine. You can optionally provide an Input Leap version as an argument (e.g.,./setup-input-leap.sh v3.0.4). This will download and configure Input Leap on both machines.
After the initial setup, you can use the start-input-leap.sh script to easily start Input Leap:
./start-input-leap.sh- Synergy Conflicts: If you have Synergy installed, it might conflict with Input Leap. The
setup-input-leap.shscript attempts to stop Synergy processes, but you may need to manually ensure Synergy is not running. - Server Exits Immediately: Ensure you have granted Accessibility permissions to
InputLeap.app(orinput-leaps) in your macOS System Settings. - Client Not Connecting: Verify network connectivity between your server and client. Check firewalls and ensure hostnames resolve correctly.