Turn on your client and Input Leap is ready!
Complete automation for Input Leap CLIENT setup and management. One command sets up everything you need for seamless mouse and keyboard sharing.
This is a CLIENT setup script - it prepares the machine that will receive mouse/keyboard control from another computer.
- π₯οΈ SERVER = Your main computer (has the physical mouse/keyboard)
- π» CLIENT = Secondary computer (controlled remotely) β This script sets up the CLIENT
βββββββββββββββββββ Network βββββββββββββββββββ
β SERVER βββββββββββββββββ€ CLIENT β
β β β β
β π±οΈ Mouse β β (Controlled) β
β β¨οΈ Keyboard β β β
β π₯οΈ Main Screen β β πΊ Extra Screen β
βββββββββββββββββββ βββββββββββββββββββ
(Controls) (Receives)
Move your mouse to the edge β Control switches to the client machine!
Move back β Control returns to your server machine!
# Install Input Leap server on your main computer
sudo pacman -S input-leap
# NEW: Minimalist setup commands
leap-server config # One-time configuration
leap-server add-client # Add client machine(s)
leap-server start # Start the server# Install & configure this client
curl -sSL https://raw.githubusercontent.com/your-username/input-leap/main/install | bash
# Connect to server
leap-client connect # NEW: Simple connection
# OR use traditional command
leap start # Traditional wayπ― That's it! Move mouse to edge to switch control.
cd input-leap
./install # Run our setup script (asks about network preference)π§ During setup, you'll choose:
- Server - Leap Ethernet (169.254.135.230) - Primary client, most reliable
- Client - Leap Ethernet (169.254.135.231) - Secondary client, for additional machines
- Dynamic LAN/WiFi - Use existing network (may need reconfiguration)
- Manual setup - Configure network later with
leap networkcommands
π‘ The script automatically validates sudo access for seamless installation!
# On your main computer:
sudo pacman -S input-leap # Install Input Leap server
# Minimalist setup (NEW!):
curl -O https://raw.githubusercontent.com/jorgemunozl/input-leap-computer/main/bin/leap-server
chmod +x leap-server
./leap-server config # Configure server
./leap-server add-client # Add this client machine
./leap-server start # Start serverπ― NEW: Minimalist Commands!
- SERVER:
leap-server start(simple terminal command!) - CLIENT:
leap-client connect(orleap start)
- GUI Way:
input-leap-server --configβ Click "Start" button - Minimalist Way:
leap-server configβleap-server startβ¨
# On this machine (client):
leap-client connect # NEW: Simple connect command!
# OR the traditional way:
leap start # Connect to server
leap status # Check connectionπ Complete workflow (MINIMALIST):
- SERVER:
leap-server start - CLIENT:
leap-client connect - Result: Mouse/keyboard sharing active! π
π How it works:
- Server OFF β Client cannot connect (will show "server unreachable")
- Server ON (GUI started) β Client connects automatically (if auto-start enabled)
- Server STOPS β Client disconnects automatically
π‘ Remember:
- SERVER:
leap-server start(NEW minimalist way!) or GUI - CLIENT:
leap-client connect(NEW!) orleap start
- Move mouse to screen edge β control switches to client
- Move back β control returns to server
- Keyboard follows mouse automatically! π
Input Leap servers are NEVER automatic! Here's why:
- Security: Servers don't auto-start to prevent unauthorized access
- Control: You decide when to share your mouse/keyboard
- Resources: Only runs when you actually need it
The workflow is:
- Main computer:
leap-server start(NEW!) or GUI β Click "Start" - This machine:
leap-client connect(NEW!) orleap start - Use Input Leap: Move mouse/keyboard seamlessly
- Done:
leap-server stopor stop server GUI when finished
Common mistakes:
- β Expecting server to start automatically
- β Running
leap starton server (useleap-server startinstead!) - β Forgetting to start server before connecting client
- β Not configuring client IP on server
- β
leap-server startfirst, thenleap-client connect
Never used a terminal? No problem! Here's what you need to know:
- On most systems: Press
Ctrl + Alt + T - On GNOME: Press
Superkey (Windows key) and type "terminal" - Still can't find it? Look for "Terminal" or "Console" in your applications menu
When the black window opens, type this exactly (copy-paste works too):
cd input-leapPress Enter. If you get an error like "No such file", you need to download this project first!
For Arch users:
./installFor Ubuntu/Debian users:
./setup-ubuntu.shPress Enter and follow the colorful prompts!
- If you see lots of text scrolling - that's normal! β
- If it asks for your password - type it (you won't see it, that's normal) β
- If it asks for server IP - just press Enter (you can set it later) β
- If something looks broken - read the error message (our scripts are helpful!) β
πΆ Never used Linux terminal before? No worries! Just copy-paste the commands below and press Enter. That's it!
Step 1: Open a terminal (Ctrl+Alt+T) and navigate to this folder:
cd input-leapStep 2: Run ONE of these commands:
# β¨ Super simple way (recommended)
./install
# π§ Traditional way (if you want to see more details)
./setup.shπ Network Choice: During setup, you'll choose your preferred network configuration:
- Server - Leap Ethernet (169.254.135.230) - Primary client, most reliable
- Client - Leap Ethernet (169.254.135.231) - Secondary client, for multiple machines
- Dynamic LAN/WiFi - Uses existing network
- Manual setup - Configure later
π Seamless Installation: Script automatically validates sudo access upfront!
Zero extra configuration needed! Just choose your network preference and press Enter when asked for your server IP - you can set it up later!
Step 1: Open terminal (Ctrl+Alt+T) and go to the folder:
cd input-leapStep 2: Run the setup:
./setup-ubuntu.shWhen prompted, enter your Input Leap server information:
Format options:
192.168.1.100(IP only - adds default port 24800)192.168.1.100:24800(IP with custom port)my-desktop(hostname only - adds default port 24800)my-desktop:24800(hostname with custom port)
Examples:
Enter Input Leap server IP/hostname: 192.168.1.100
Enter Input Leap server IP/hostname: desktop-pc:24800
For Arch Linux users: The script automatically detects and optimizes everything:
- Detects your system (GNOME/KDE/XFCE, laptop/desktop)
- Installs Input Leap (official repos + AUR fallback)
- Automatically applies GNOME optimizations (no questions asked!)
- Sets up auto-start on login
- Configures network interfaces seamlessly
- Tests the connection
For Ubuntu users: Similar automation with Ubuntu-specific optimizations.
-
Install Input Leap Server:
- Arch Linux:
sudo pacman -S input-leap - Ubuntu:
sudo apt install input-leap - Other systems: Download from Input Leap releases
- Arch Linux:
-
Configure Server:
# Start the server GUI input-leap-server --config # Or run from applications menu: "Input Leap Server"
-
Add This Client:
- In the server GUI, add your client machine
- Use the client's hostname or IP address
- Set up screen arrangement (left/right/top/bottom)
-
Start Server:
input-leap-server --config /path/to/config.conf
# On your main computer (server):
sudo pacman -S input-leap # Install server
input-leap-server --config # Configure clients
# Add your client machine's IP in the GUI
# Start the serverThis project is optimized for Arch Linux because:
- AUR integration - Falls back to
input-leap-gitautomatically - GNOME detection - Automatically optimizes screen lock, power management
- Zero prompts - No annoying questions, just works
- Network magic - Seamless Ethernet detection and configuration
- systemd perfection - Auto-configured user services
# NEW: Minimalist commands
leap-client connect # Connect to server (simple!)
leap-client config # Configure server IP
leap-client status # Check connection
# Traditional commands (still work)
leap start # Connect to server
leap stop # Disconnect
leap status # Check status with real-time info
leap config # Configure server (with examples!)
leap test # Test connection with helpful tips
leap ethernet # Quick Leap Ethernet setup (server/client role)
leap ethernet forever # Permanent ethernet setup (survives reboots)# NEW: Minimalist server management
leap-server config # Configure server (one-time)
leap-server add-client # Add client machine
leap-server start # Start Input Leap server
leap-server stop # Stop server
leap-server status # Check server status# Quick network fixes
leap ethernet # π§ Quick Leap Ethernet setup (server/client role selection)
leap ethernet forever # π Permanent Leap Ethernet setup with systemd-networkd (survives reboots)
leap network status # π Show all interfaces with IP/status
leap network static # π§ Auto-configure Ethernet with static IP (RECOMMENDED!)
leap network auto # π Auto-configure with DHCP
leap network test HOST # π Test server connectivity
leap network check # β
Check configured Input Leap server
# Static IP commands (for reliable connections)
leap network static # Auto-setup 169.254.135.230/16 (primary)
leap network static_ip 169.254.135.231 # Setup with secondary IP
leap network static enxc8a362 169.254.135.230 # Custom interface & IP
leap network static eth0 192.168.1.100 24 # Custom IP with netmask
# Short version (same commands)
leap net status # Same as leap network status
leap net static # Same as leap network staticπ― Leap Ethernet Features (NEW!):
- π Fixed IP addresses - No more DHCP changes breaking connections
- π Link-local networking - Works without router/DHCP (169.254.x.x range)
- β‘ Auto-detection - Finds your Ethernet interface automatically
- πΎ Persistent config - Remembers your settings across reboots
- π§ Manual override - Set custom IPs for any interface
- π Backup safety - Saves old config before changes
π§ Ethernet Command Options:
leap ethernet- Quick temporary setup (NetworkManager-based, resets on reboot)leap ethernet forever- Permanent setup (systemd-networkd, survives reboots) β‘ RECOMMENDED
π‘ When to use each:
- Temporary (
leap ethernet): Testing, one-time use, or when you want to easily revert - Permanent (
leap ethernet forever): Production use, daily workflow, permanent Input Leap setup
Smart Network Features:
- π Auto-detects Ethernet - Prioritizes wired over WiFi
- β‘ DHCP magic - Gets IP addresses automatically
- π Connection testing - Shows exactly what's wrong
- π Fallback handling - Switches to WiFi if Ethernet fails
- π‘ Helpful error messages - Tells you exactly how to fix issues
# Check status
leap status
# Test server connection
leap test
# View logs
leap logs
# Restart everything
leap restart
# Change server settings
leap config# Check if server is running
ps aux | grep input-leap-server
# Start server manually
input-leap-server --config /path/to/config.conf
# View server logs
journalctl -u input-leap-server
# Configure server GUI
input-leap-server --config# Check network interfaces
leap network status
# Auto-fix network issues
leap network auto
# Test specific server
leap network test 192.168.1.100:24800
# Check configured server
leap network checkCommon Network Problems:
- No Ethernet connection - Run
leap network autoto configure - Wrong interface active - Use
leap network statusto see all interfaces - Server unreachable - Use
leap network test SERVERto verify connectivity
- Configuration:
~/.config/input-leap/server.conf - Logs:
~/.cache/input-leap/client.log - Service:
~/.config/systemd/user/input-leap.service
leap-server config # Configure server (one-time setup)
leap-server add-client # Add client machine to server
leap-server start # Start Input Leap server
leap-server stop # Stop Input Leap server
leap-server status # Check server status# NEW Minimalist Commands
leap-client connect # Connect to server (simple!)
leap-client config # Configure server IP
leap-client status # Check connection status
# Traditional Commands (still work)
leap start # Connect to server
leap stop # Disconnect from server
leap status # Detailed connection status
leap config # Configure server with examples
leap test # Test connection with tips
leap network auto # Auto-configure static IPleap ethernet # Quick Leap Ethernet setup (server/client role selection)
leap ethernet forever # Permanent Leap Ethernet setup (systemd-networkd, survives reboots)
leap network status # Check network interfaces
leap network auto # Auto-configure static IP
leap network manual # Manual IP configuration
leap network check # Network diagnostics
leap network test IP # Test connectivity to serverπ Most Common Workflow:
- Server:
leap-server configβleap-server add-clientβleap-server start - Client:
leap-client connect - Done! Move mouse to edge to switch control
input-leap/
βββ setup.sh # Arch Linux setup
βββ setup-ubuntu.sh # Ubuntu/Debian setup
βββ bin/
β βββ input-leap-manager # Core management
β βββ leap # Simple commands
β βββ validate-environment # System check
βββ systemd/
βββ input-leap.service # Service template
- Fork the repository
- Create feature branch:
git checkout -b feature/name - Commit changes:
git commit -m 'Add feature' - Push:
git push origin feature/name - Open Pull Request
MIT License - see LICENSE file for details.
To use leap, leap-server, and all related commands from any directory, add the bin folder to your PATH:
# Add this to your ~/.bashrc (or ~/.zshrc)
export PATH="$HOME/project/githubProjects/input-leap/bin:$PATH"Then reload your shell:
source ~/.bashrcNow you can run leap, leap-server, etc. from anywhere!
Made with β€οΈ for seamless computing