# KVM switch

A KVM switch (with KVM being an abbreviation for "keyboard, video, and mouse") is a hardware device that allows a user to control multiple computers from one or more sets of keyboards, video monitors, and mouse.

## Name

Switches to connect multiple computers to one or more peripherals have had multiple names.
The earliest name was Keyboard Video Switch (KVS). With the advent of the mouse, the Keyboard, Video and Mouse (KVM) switch became popular. The name was introduced by Remigius Shatas, the founder of Cybex (now Vertiv), a peripheral switch manufacturer, in 1995. Some companies call their switches Keyboard, Video, Mouse and Peripheral (KVMP).

## Types

USB keyboards, mice, and I/O devices are the most common devices connected to a KVM switch. The classes of KVM switches discussed below are based on different types of core technologies, which vary in how the KVM switch handles USB I/O devices—including keyboards, mice, touchscreen displays, etc. (USB-HID = USB Human Interface Device)

### USB Hub Based KVM

    Also called an Enumerated KVM switch or USB switch selector, a connected/shared USB device must go through the full initiation process (USB enumeration) every time the KVM is switched to another target system/port. The switching to different ports is similar to the process of physically plugging and unplugging a USB device into the targeted system.

### Emulated USB KVM

    Dedicated USB console port(s) are assigned to emulate special sets of USB keyboard or mouse switching control information to each connected/targeted system. Emulated USB provides an instantaneous and reliable switching action that makes keyboard hotkeys and mouse switching possible. However, this class of KVM switch only uses generic emulations and consequently has only been able to support the most basic keyboard and mouse features. There are also USB KVM devices that allow cross-platform operating systems and basic keyboard and mouse sharing.

### Semi-DDM USB KVM

    Dedicated USB console port(s) work with all USB-HID (including keyboard and mouse), but do not maintain the connected devices' presence to all of the targeted systems simultaneously. This class of KVM takes advantage of DDM (Dynamic Device Mapping) technology.

### DDM USB KVM

    Dedicated Dynamic device mapping USB console port(s) work with all USB-HID (including keyboard and mouse) and maintain the connected devices' special functions and characteristics to each connected/targeted system. This class of KVM switch overcomes the frustrating limitations of an Emulated USB Class KVM by emulating the true characters of the connected devices to all the computers simultaneously. This means that you can now use the extra function keys, wheels, buttons, and controls that are commonly found on modern keyboards and mice.

### KVM+Dock

    A KVM switch with built-in docking station. It combines two devices, a KVM switch and a docking station. The customer expectations for this kind of product has increased due to a rising number of work from home setups that need to share user I/O devices between a personal PC and work laptop as a consequence of COVID pandemic restrictions.
| Feature | Hub Base Class | Emulated Class | Semi-DDM Class | DDM Class |
| USB re-enumeration required | Required on every switch of port | No, only for keyboard/mouse | No, for all USB-HID | No, for all USB-HID |
| Latency in sharing connected USB devices | Longest, depending on connected system's OS (about 10–15 seconds) | Short | Short | No latency |
| Supports Hot-Key Command | No | Yes, only on dedicated keyboard port | Yes, all the console Semi-DDM ports | Yes, all the console DDM ports |
| Supports special keyboard and mouse functions | Limited* | No, only acts as standard keyboard/mouse | Yes | Yes |
| Windows 7/Windows 8 showing correct connected devices | Limited* | No, shows as standard keyboard and mouse no matter what keyboard/mouse are connected to the KVM | Yes | Yes |
| Windows7/Windows 8 built-in touchscreen monitor driver support | Limited* | No | Yes* | Yes |
| Wireless combo keyboard and mouse support | Limited* | No | Yes* | Yes |
| USB-HID (other than keyboard/mouse) support | Limited* | No | Yes* | Yes |
| USB touchscreen sharing support | Limited* | No | Yes* | Yes |
| Drawing tablet support | Limited* | No | Yes* | Yes |
| USB wireless unifying receiver support | Limited* | No | Yes* | Yes |
| Pros | Passes all signals between USB devices and target system/computer(s) | USB keyboard/mouse switching control, shorter switching time, Hot-Key Commands | Full USB keyboard/mouse switching control, DDM ports can work with all USB-HID class devices, Short switching time (latency: within 1 sec.), Hot-Key commands (apply to all USB Semi-DDM ports), Lower cost than Full DDM class switches | Full USB keyboard/mouse switching control, DDM ports can work with all USB-HID class devices, Shortest switching time (no latency), Hot-Key commands (apply to all USB DDM ports) |
| Cons | Longest latency, delay in device availability, Can't use USB keyboard/mouse to control KVM switching process, No Hot-Key command, Generates HPD error when switching with particular OS's | Supports only limited/fixed general keyboard and mouse profiles, Special keyboard and mouse functions will not work, Can only share "standard" USB keyboard/mouse, Can't share other USB-HID such as: touchscreen monitor, drawing tablet, etc., Generated HPD error while using other USB-HID | Still has latency when switching | Higher cost |

### Limited*

    supported, but does not allow USB re-enumeration, which not only causes long delays in switching, but also sometimes causes HPD (Hot-Plug Device) errors to the OS system(s).

### Yes*

    Latency time within 1 second while switching between channels/ports.

### KVM+Dock

    Dual DP1.4 KVM switch with TB4 dock model will be the first model released for full-buss DisplayPort 1.4 sharing for 4K144hz gaming monitors.

## Use

A KVM Switch is a hardware device used in data centers that allows the control of multiple computers from a single keyboard, monitor and mouse (KVM). The switch allows data center personnel to connect to any server in the rack. A common example of home use is to enable the use of the full-size keyboard, mouse and monitor of the home PC with a portable device such as a laptop, tablet PC or PDA, or a computer using a different operating system.
KVM switches offer different methods of connecting the computers. Depending on the product, the switch may present native connectors on the device where standard keyboard, monitor and mouse cables can be attached. Another method to have a single DB25 or similar connector that aggregated connections at the switch with three independent keyboard, monitor and mouse cables to the computers. Subsequently, these were replaced by a special KVM cable which combined the keyboard, video and mouse cables in a single wrapped extension cable. The advantage of the last approach is in the reduction of the number of cables between the KVM switch and connected computers. The disadvantage is the cost of these cables.
The method of switching from one computer to another depends on the switch. The original peripheral switches (Rose, circa 1988) used a rotary switch while active electronic switches (Cybex, circa 1990) used push buttons on the KVM device. In both cases, the KVM aligns operation between different computers and the users' keyboard, monitor and mouse (user console).
In 1992–1993, Cybex Corporation engineered keyboard hot-key commands. Today, most KVMs are controlled through non-invasive hot-key commands (e.g. Ctrl+Ctrl, Scroll Lock+Scroll Lock and the Print Screen keys). Hot-key switching is often complemented with an on-screen display system that displays a list of connected computers.
KVM switches differ in the number of computers that can be connected. Traditional switching configurations range from 2 to 64 possible computers attached to a single device. Enterprise-grade devices interconnected via daisy-chained and/or cascaded methods can support a total of 512 computers equally accessed by any given user console.

## Video bandwidth

While HDMI, DisplayPort, and DVI switches have been manufactured, VGA is still the most common video connector found with KVM switches for industrial applications and manufacturing applications, although many switches are now compatible with HDMI and DisplayPort connectors. Analogue switches can be built with varying capacities for video bandwidth, affecting the unit's overall cost and quality. A typical consumer-grade switch provides up to 200 MHz bandwidth, allowing for high-definition resolutions at 60 Hz.
For analog video, resolution and refresh rate are the primary factors in determining the amount of bandwidth needed for the signal. The method of converting these factors into bandwidth requirements is a point of ambiguity, in part because it is dependent on the analogue nature and state of the hardware. The same piece of equipment may require more bandwidth as it ages due to increased degradation of the source signal. Most conversion formulas attempt to approximate the amount of bandwidth needed, including a margin of safety. As a rule of thumb, switch circuitry should provide up to three times the bandwidth required by the original signal specification, as this allows most instances of signal loss to be contained outside the range of the signal that is pertinent to picture quality.
As CRT-based displays are dependent on refresh rate to prevent flickering, they generally require more bandwidth than comparable flat panel displays. High-resolution and High-refresh-rate monitors become standard setups for advanced high-end KVM switches (specially with Gaming PC).
* 2023: the highest resolutions and refresh-rate supported by Advanced DDM-class DisplayPort 1.4 KVM switch at 4K144hz, 5K120/240hz, 8K60hz (w/DSC)

## Monitor

A monitor uses DDC and EDID, transmitted through specific pins, to identify itself to the system. KVM switches may have different ways of handling these data transmissions:
* None: the KVM switch lacks the circuitry to handle this data, and the monitor is not "visible" to the system. The system may assume a generic monitor is attached and defaults to safe settings. Higher resolutions and refresh rates may need to be manually unlocked through the video driver as a safety precaution. However, certain applications (especially games) that depend on retrieving DDC/EDID information will not be able to function correctly.
* Fake: the KVM switch generates its own DDC/EDID information that may or may not be appropriate for the monitor that is attached. Problems may arise if there is an inconsistency between the KVM's specifications and the monitor's, such as not being able to select desired resolutions.
* Pass-through: the KVM switch attempts to make communication between the monitor and the system transparent. However, it may fail to do so in the following ways:
** generating Hot Plug Detect (HPD) events for monitor arrival or removal upon switching, or not passing monitor power states - may cause the OS to re-detect the monitor and reset the resolution and refresh rate, or may cause the monitor to enter or exit power-saving mode;
** not passing or altering MCSS commands - may result in incorrect orientation of the display or improper color calibration.
Microsoft guidelines recommend that KVM switches pass unaltered any I$^2$C traffic between the monitor and the PC hosts, and do not generate HPD events upon switching to a different port while maintaining stable non-noise signal on inactive ports.

### Monitors with built-in KVM switch functions

    More monitors had been included a built-in KVM switch to be able to have two computer systems (two upstream system connections) to share the monitor. However, since most of current monitors with KVM switch functions had been putting the only hub-class KVM switch with them. There is no HID emulation or no EDID emulation/feeding to all connected systems. In addition, they're limited to having 2 systems connected to it. And only can control one monitor (the monitor itself only) with the built-in KVM switch. The built-in KVM switch CAN not support multi-monitor switching and control via it.

## Passive and active (electronic) switches

KVM switches were originally passive, mechanical devices based on multi-pole switches and some of the cheapest devices on the market still use this technology. Mechanical switches usually have a rotary knob to select between computers. KVMs typically allow sharing of two or four computers, with a practical limit of about twelve machines imposed by limitations on available switch configurations. Modern hardware designs use active electronics rather than physical switch contacts with the potential to control many computers on a common system backbone.
One limitation of mechanical KVM switches is that any computer not currently selected by the KVM switch does not 'see' a keyboard or mouse connected to it. In normal operation this is not a problem, but while the machine is booting up it will attempt to detect its keyboard and mouse and either fail to boot or boot with an unwanted (e.g. mouseless) configuration. Likewise, a failure to detect the monitor may result in the computer falling back to a low resolution such as (typically) 640x480. Thus, mechanical KVM switches may be unsuitable for controlling machines which can reboot automatically (e.g. after a power failure).
Another problem encountered with mechanical devices is the failure of one or more switch contacts to make firm, low resistance electrical connections, often necessitating some wiggling or adjustment of the knob to correct patchy colors on screen or unreliable peripheral response. Gold-plated contacts improve that aspect of switch performance, but add cost to the device.
Most active (electronic rather than mechanical) KVM devices provide peripheral emulation, sending signals to the computers that are not currently selected to simulate a keyboard, mouse and monitor being connected. These are used to control machines which may reboot in unattended operation. Peripheral emulation services embedded in the hardware also provides continuous support where computers require constant communication with the peripherals.
Some types of active KVM switches do not emit signals that exactly match the physical keyboard, monitor, and mouse, which can result in unwanted behavior of the controlled machines. For example, the user of a multimedia keyboard connected to a KVM switch may find that the keyboard's multimedia keys have no effect on the controlled computers.

## Software alternatives

There are software alternatives to some of the functionality of a hardware KVM switch, such as Multiplicity, Synergy, and Barrier, which does the switching in software and forwards input over standard network connections. This has the advantage of reducing the number of wires needed. Screen-edge switching allows the mouse to function over both monitors of two computers.

## Remote KVM extenders

There are two types of remote KVM extenders that are best described as local remote and KVM over IP.

### Local remote (including KVM over USB)

Local remote KVM extender design allows users to control computer equipment up to 1,000 feet (300 m) away from the user consoles (keyboard, monitor and mouse). They require a direct cable connection from the computer to the KVM extender to the console and include support for standard category 5 cabling between computers and users interconnected by the extender. In contrast, USB powered KVM extenders are able to control computer equipment using a combination of USB, keyboard, mouse and monitor cables of up to 5 metres (16 ft).

### KVM over IP (IPKVM)

KVM switch over IP extenders use a dedicated micro-controller and potentially specialized video capture hardware to capture the video, keyboard, and mouse signals, compress and convert them into packets, and send them over an Ethernet link to a remote console application that unpacks and reconstitutes the dynamic graphical image. KVM over IP subsystem is typically connected to a system's standby power plane so that it's available during the entire BIOS boot process. These extender devices allow multiple computers to be controlled locally or globally with the use of an IP connection. There are performance issues related with LAN/WAN hardware, standard protocols and network latency so user management is commonly referred to as "near real time".
Access to most remote or "KVM" over IP extenders today use a web browser, although many of the stand-alone viewer software applications provided by many manufacturers are also reliant on ActiveX or Java.

#### Whitelisting

Some KVM chipsets or manufacturers require the "whitelisting" or authority to connect to be implicitly enabled. Without the whitelist addition, the device will not work. This is by design and required to connect non-standard USB devices to KVM extenders. This is completed by noting the device's ID (usually copied from the Device manager in Windows), or documentation from the manufacturer of the USB device.
Generally all HID or consumer grade USB peripherals are exempt, but more exotic devices like tablets, or digitisers or USB toggles require manual addition to the white list table of the KVM.

#### Implementation

In comparison to conventional methods of remote administration (for example in-band Virtual Network Computing or Terminal Services), a KVM switch has the advantage that it doesn't depend on a software component running on the remote computer, thus allowing remote interaction with base level BIOS settings and monitoring of the entire booting process before, during, and after the operating system loads. Modern KVM over IP appliances or switches typically use at least 128-bit data encryption securing the KVM configuration over a WAN or LAN (using SSL).
KVM over IP extenders can be implemented in different ways. With regards to video, PCI KVM over IP cards use a form of screen scraping where the PCI bus master KVM over IP card would access and copy out the screen directly from the graphics memory buffer, and as a result it must know which graphics chip it is working with, and what graphics mode this chip is currently in so that the contents of the buffer can be interpreted correctly as picture data. Newer techniques in OPMA management subsystem cards and other implementations get the video data directly using the DVI bus. Implementations can emulate either PS/2 or USB based keyboards and mice. An embedded VNC server is typically used for the video protocol in IPMI and Intel AMT implementations.

## Computer sharing devices

KVM switches are called KVM sharing devices because two or more computers can share a single set of KVM peripherals. Computer sharing devices function in reverse compared to KVM switches; that is, a single PC can be shared by multiple monitors, keyboards, and mice. A computer sharing device is sometimes referred to as a KVM Splitter or reverse KVM switch. While not as common, this configuration is useful when the operator wants to access a single computer from two or more (usually close) locations - for example, a public kiosk machine that also has a staff maintenance interface behind the counter, or a home office computer that doubles as a home theater PC.