Logo This project is hosted on
Go here to have a look at the project page


0. Table Of Contents

1. What is NetInput

The NetInput package aims at providing a possibility to use one mouse and/or keyboard with two or more workstations. Think of it as a software implementation of a keyboard/mouse switch with one server where the actual devices are connected and several clients which recieve the respective control data for mouse/keyboard over a local network.

The development of NetInput is currently in Pre-Alpha phase, which means that its use might be highly dangerous for the integrity of your system. It should never be used on a productive system.

At this point, the features are very limited. NetInput currently supports only mouse input. There is a client for Linux and a server for Windows, though a Linux client and a Windows server are planned.

2. Download NetInput

The several NetInput packages can be obtained from the SourceForge download page.

Here you can see the available packages and their latest releases:

3. Documentation

3.1 The Windows server


If you have downloaded the binary package, all you have to do is extract the archive.

To compile the source package using the supplied Makefile, you will need a properly set up MinGW gcc environment. A

should do the job. It will create an executable (NetInputServer.exe) and a DLL (NetInputHook.dll).


Simply run NetInputServer.exe (make sure the .dll is placed in the working directory). A new icon will appear in the system tray. To change the program settings or to quit the program, right click on the icon and a popup menu will open.

Use the scroll lock key to enable or disable mouse transmission. While in transmission mode, the normal local mouse input is blocked.

3.2 The Windows client (under development)

Nothing to say yet...

3.3 The Linux server (under development)

Nothing to say yet...

3.4 The Linux client

Installation / Usage

The Linux client comes in the form of a device driver. Once installed it will add a mouse/keyboard devic file in /dev and should immediately work with practically every application with mouse/keyboard input.

NetInput currently only supports Kernel 2.6.x. You will need the sources of your running kernel in order to compile the NetInput driver. Additionally the kernel needs the input subsystem (CONFIG_INPUT) built in.

If these requirements are met, you can compile the driver with

After that, you can insert the module with
  insmod ./netinput.ko
Then it should work fine.

You can change the listening TCP port at compile time by modifying the UDP_IP macro definition in the Makefile.

4. Feedback

Bug reports and feature requests as well as successful and unsuccessful installation reports on individual systems are highly appreciated and should go to for now.

Any support requests should go to the same address.

5. License

Copyright (c) 2005 Philip Kranz (

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.