Tool to share mouse and keyboard across computers

This product was aimed at developers, whose work involves working in several operating systems at once. Combining several devices together into one cohesive experience, this solution shares one mouse, one keyboard, and one clipboard between all Windows, Mac, and Linux computers.

Project background

As a rule, software developers need more than just one computer to write the code properly and concentrate on numerous tasks. Some people have both a personal PC and one for work, or they may need a different OS, Mac or Windows on their computers, or, like gamers, have separate gaming and streaming machines.

In any case, they usually want to control multiple computers with the same keyboard and/or mouse. 

The main aim of this application was to set up a convenient workplace for developers working with several computers and monitors and a single input device. In short, to make all connected computers a single, easy-to-operate device. 

The idea of the project is that if two or more computers stand side by side and are connected to adjacent monitors, the input from the mouse and keyboard can be transmitted over the network, and work for all these computers.

  • Duration: March 2021 - October 2021
  • Location: the UK
  • Industry: IT Services
  • Services:
  • Cross-platform app development, Desktop development

Business needs

The target of this application is setting up a fast and convenient workplace with several computers and monitors and one input device. The idea of the project is that if two computers stand side by side and are connected to adjacent monitors, the input from the mouse and keyboard can be transmitted over the network as if they were connected to two computers.

The main business needs were:  

– an effective desktop shared mouse solution to cover such platforms as Windows, Linux, MacOS, and even Raspberry Pi; 

– a cross-platform app that, in theory, can support any number of computers; 

– transferring encrypted data over a local or global network from various input devices (mouse and keyboard), transferring files, as well as synchronizing the clipboard. 

Product features

  1. Connectivity. Connecting from 2 to 15 devices
  2. Switching. Easy switching between computers
  3. Customization. Customizing the keyboard to needed preferences
  4. Swapping. Opportunity to swap keys automatically

Solution

We have created functionality and design based on the technical documentation for effective mouse and keyboard sharing.

– Any configuration of adjacent screens and a seamless transition of controls from one computer (screen) to another

– Synchronizing settings functionality or keeping a different input language on each desktop

– Drag and drop of files between PCs (with the setting of the availability of this function for each desktop)

– Functionality for setting whether to synchronize the clipboard (separately text, images, and files)

– Automatic connection at power on

– Correct transfer of all popular keyboard shortcuts or, in the absence of their support on the target platform, a functionality that imitates them

– Encryption settings (on / off, and encryption type

– Deep network configuration

– Premium subscription and limitations of some features without it

– Automatic logging of errors, feedback, resumption of work in case of failures, auto-update

Our technology stack

  • С++
  • Qt
  • Win32
  • Windows
  • MacOS
  • Linux
  • HTTP
  • WebSockets
  • Boost

Client values

  1. We developed a stable cross-platform desktop app for Windows, Linux, MacOS and Raspberry Pi.
  2. The number of connected devices is now up to 15.
  3. Our development team paid extra attention to the app security.

Employee testimonial

Testimonial_Kyslynskyi
Oleksii Kyslynskyi C++ Developer

What does a developer feel when he closes a task that was considered impossible to complete? A delight! Watching how many complex ideas and approaches add up to a quick and convenient tool is why programmers take on complex tasks! This project is just like that: in the beginning, it was not clear whether it was possible to implement everything planned. And in the end, I bought this cool product that simplifies the developer’s life so much. The biggest challenge for me was the need to implement all the functionality for all the platforms. Technical documentation was not sufficient. Therefore, we searched the forums, appointed consultations with enthusiasts, and even wrote official letters to the creators of the platforms.

Let’s bring your idea to
life together!

    Successfully applied!