Skip to main content
  1. Posts/

One Desk, Three Machines, One Keyboard — My Multi-Monitor Productivity Setup

· David Steeman · Linux, DIY

I have 7 screens across 3 computers on one desk — and I control all of them with a single keyboard and mouse. No hardware KVM switch, no cable swapping, no “which machine am I on right now?” confusion. Just one seamless workspace spread across three machines.

Here’s how I built it, why I chose this setup, and the tools that make it work.

The Three Machines
#

Personal Laptop — Left Side
#

My personal machine sits on the left side of the desk. The laptop sits open on the desk surface, with an external monitor mounted directly above it. This machine handles my personal life: Home Assistant dashboards keep an eye on my smart home, my camera system runs on a dedicated screen zone, and apps like Discord and WhatsApp live here too. It’s also where I tinker with personal projects.

By keeping this completely separate from my work machine, I avoid the mental context switch of work notifications bleeding into personal time (and vice versa).

Work Laptop — Center Stage
#

The work laptop is the powerhouse of the setup, positioned front and center. It has the most screen real estate: the laptop’s built-in display plus two external monitors mounted above, one to the middle-left and one to the middle-right. Three screens dedicated to productivity — Outlook on one, browser-based tools like Odoo on another, and Office products (Word, Excel, Visio, PowerPoint) on the third.

This is where the deep work happens, and having three screens means I rarely need to switch virtual desktops or alt-tab my way through the day.

AI Desktop — Right Side
#

To the right sits my AI desktop. It has one external monitor, elevated above the desk surface. This machine is my AI productivity workstation — it runs my virtual machines and containers, and it’s where I interact with AI tools for development work. Having a dedicated machine for this means heavy workloads (model inference, container builds, VM snapshots) don’t interfere with work or personal tasks.

The Physical Layout
#

All four external monitors are mounted at the same height, forming a clean horizontal surface across the full width of the desk. Here’s roughly how it looks from my chair:

┌──────────────┐  ┌──────────────┐  ┌──────────────┐  ┌──────────────┐
│   Personal   │  │   Work L     │  │   Work R     │  │  AI Desktop  │
│  (external)  │  │  (external)  │  │  (external)  │  │  (external)  │
└──────────────┘  └──────────────┘  └──────────────┘  └──────────────┘
┌──────────────┐  ┌──────────────────────────────────┐
│   Personal   │  │         Work Laptop              │
│   (laptop)   │  │         (open, on desk)          │
└──────────────┘  └──────────────────────────────────┘

The laptop screens sit at desk level, while the external monitors float above them. This gives me a clear line of sight to all screens without neck strain — the externals are at a natural eye-level, and the laptop screens are just a glance down.

The Monitor Stand — A Custom Build
#

I couldn’t find a commercial monitor stand that fit my exact needs — supporting 3 monitors at the right height, with enough depth for laptops underneath, and minimal footprint. So I built one.

It’s a custom wooden monitor stand — minimal, sturdy, and wide enough to hold the three external monitors (personal, work left, work right). The laptops tuck underneath, and the whole thing keeps the desk surface usable.

The fourth monitor (AI desktop) is… temporarily sitting on a box. I should fix that. One day.

Cable Management — Or How I Avoided a Rat’s Nest
#

Three machines, seven screens, multiple peripherals — that’s a lot of cables. My approach is simple: hide everything behind the machines. The laptops and desktop sit far enough back on the desk that the cables dangling behind them are invisible from the front.

The clever part (if I say so myself) is the power setup. I mounted two power strips behind the monitor stand:

  • Power strip 1 — Always on: Powers the machines themselves and anything that needs to stay running 24/7.
  • Power strip 2 — Motion sensor controlled: This one is connected to a motion sensor. When I walk away from my desk, it automatically switches off the monitors and any non-essential devices like chargers. Walk back? Everything powers back up. No wasted electricity, no remembering to hit a switch.

InputLeap — The Glue That Holds It All Together
#

This is the magic. InputLeap is an open-source software KVM (Keyboard, Video, Mouse) that lets you share a single keyboard and mouse across multiple computers over your local network. You just move your cursor off the edge of one screen and it appears on the next machine — as if they were all one computer.

How It Works
#

One machine runs as the server (the one with the keyboard and mouse physically connected), and the others run as clients. You configure the screen layout in the server to match your physical arrangement — in my case, personal laptop on the left, work laptop in the middle, AI desktop on the right. When I move my cursor past the right edge of my personal machine’s screen, it seamlessly appears on the work laptop’s leftmost screen. Keep going right past the work screens, and the cursor lands on the AI desktop.

The keyboard follows the cursor. Type wherever the mouse is. Clipboard sharing even works across machines — copy on one, paste on another.

Why InputLeap — And Not Synergy or Barrier
#

This wasn’t my first attempt at a software KVM. My journey went like this:

  • Synergy — The original. Worked well for years, but went commercial. The open-source version stagnated, and I didn’t want to pay a subscription for something that should be simple.
  • Barrier — A fork of Synergy that kept the open-source spirit alive. I used it for a while, but development slowed down, and I started hitting reconnect issues and edge-case bugs.
  • InputLeap — The active fork and spiritual successor. It picked up where Barrier left off, with better Wayland support, more reliable reconnections, and an active community. This is what I run today, and it’s been rock solid.

Limitations
#

InputLeap isn’t perfect. A few things to be aware of:

  • No video sharing — It’s keyboard and mouse only. You still need monitors connected to each machine.
  • DRM content — Some protected content (Netflix in browsers, certain apps) can behave oddly when InputLeap is capturing input.
  • Occasional reconnects — If a machine goes to sleep or the network hiccups, you may need to wait a few seconds for the client to reconnect.
  • No drag-and-drop files — Clipboard text sharing works, but you can’t drag files between machines.

None of these are dealbreakers for me, but worth knowing going in.

Finding Your Cursor on 7 Screens
#

Here’s a problem I didn’t anticipate: with this much screen real estate, the mouse cursor gets lost. A lot. You move from the far-left personal monitor to the far-right AI desktop and suddenly you can’t find the pointer. It’s like losing your car in a parking lot, but the parking lot is your desk.

The Solution: Locate Pointer
#

Both Windows and Linux have a built-in feature that helps:

Windows: Enable “Show location of pointer when I press the CTRL key” in Mouse Settings > Additional mouse options > Pointer Options. Pressing Ctrl drops an animated ring on your cursor.

Linux (GNOME): Enable it via gsettings set org.gnome.desktop.interface locate-pointer true. Pressing Left Ctrl highlights the cursor position. You can also increase the cursor size under Settings > Accessibility > Seeing.

I also increased the cursor size on both operating systems and switched to a high-visibility theme. It sounds minor, but a larger, brighter cursor is much easier to track across 7 screens.

Bonus: Pointer Trails on Windows
#

Windows also supports pointer trails — a fading ghost trail that follows the cursor. There’s no native equivalent on GNOME, so I rely on the Ctrl-to-locate feature and a larger cursor on the Linux machines.

A Day in the Life
#

Here’s what a typical workflow looks like:

  1. Morning: I sit down, the motion sensor detects me, monitors power on. Home Assistant dashboards are already showing on the personal machine — I can see the house status at a glance.
  2. Work time: I slide the cursor to the center screens and start working. Three monitors means my IDE is full-screen on one, the project documentation on another, and communication tools on the third.
  3. AI assistance: I need to run a container build or bounce ideas off an AI tool — cursor slides right to the AI desktop. No context switching on the work machine.
  4. Break: Cursor goes left. Check Discord, respond to WhatsApp, glance at the security cameras. Work notifications stay on the work machine — out of sight, out of mind.

The whole time, I never touched a hardware switch or reconnected a cable. One keyboard, one mouse, seven screens, three machines.

Final Thoughts
#

This setup isn’t for everyone. It’s a lot of hardware, a lot of cables, and a lot of configuration. But if you’re someone who needs clean separation between work, personal, and experimental computing — and you have the desk space — it’s incredibly effective.

The key ingredients:

  • Purpose-built machines instead of one overloaded desktop
  • InputLeap for seamless input sharing
  • Custom furniture when off-the-shelf doesn’t cut it
  • Smart power management to keep things efficient
  • Accessibility tricks (locate cursor, large pointers) to stay sane across 7 screens