Mouse Switching Software for WEYTEC IP Remote and Deskswitch products for Linux and Unix OS
This software enables mouse switching for Linux/Unix based operating systems. This software scans the mouse’s position and sends the appropriate commands to the WEYTEC devices via the USB Interface. The software needs to be installed on all source PCs to enable the switching between the PCs by moving the mouse to the edge of the desktop.
The software itself needs no configuration, USB devices are detected automatically.
The system configuration must be performed either over the Smart Touch Tool or the WDP Configuration Console or in case of the USB Deskswitch III, with the Deskswitch setup tool.
It works with the following products of WEY Technology AG:
-
WEYTEC IP Remote Transmitter family
- IP Remote I Transmitter (Part No. 24870T)
- IP Remote II DVI Transmitter (Part No. 24872T)
- IP Remote II DP Transmitter (Part No. 24872TDP)
- IP Remote III 4K Transmitter (Part No. 24873T)
- IP Remote IV Transmitter (Part No. 24874T)
-
WEYTEC USB Deskswitch III (Part No: 22412S)
Installing lmss through the rpm or deb package will enable lmss autostart.
Download the latest binary release suitable for your distro (deb/rpm based) and install the package with your favourite package manager. On most distributions just navigate to your downloaded package and double click it, a graphical package manager will guide you through the install process.
NOTE: On some distributions (e.g. Ubuntu) you must choose download file
in your browser, as Open with -> Software Install
will fail with a message
like: "Failed to install file: not supported"
deb-based (Ubuntu, Debian, ...):
sudo apt install /PATH/TO/PACKAGE.deb
or
sudo dpkg -i /PATH/TO/PACKAGE.deb
sudo apt install -f
rpm-based (CentOS, REL, Fedora, ...):
sudo yum install /PATH/TO/PACKAGE.rpm
If you decide to do a manual install you will need a terminal with root
permissions, the lmss
executable and a lmss.desktop
file.
The executable can be build or downloaded from
releases.
If you decided to download the binary release .xz
archive, navigate to the
containing dir - in this example it will be the users download directory - and
decompress it.
cd ~/Downloads
xz -kd lmss-4.0.4-Linux-bin.xz
now you should find a executable named lmss-4.0.4-Linux-bin
, move it to the
install location and change its name and file permissions to enable running it
in a user session context.
sudo mv lmss-4.0.4-Linux-bin /usr/bin/lmss
sudo chmod u+s /usr/bin/lmss
The .desktop file can be downloaded from the repository and needs to be placed in on of the XDG autostart directories. In this example we will use the global autostart directory.
sudo mv lmss.desktop /etc/xdg/autostart/lmss.desktop
The udev.rules file is needed since v4.0.x and can be downloaded from
releases. It shall be moved to the
udev-rules.d dir, e.g. /usr/lib/udev/rules.d/
sudo mv 100-wey-usbhid.rules /usr/lib/udev/rules.d/100-wey-usbhid.rules
After logoff/login lmss should autostart with your user session.
lmss uses XRandR to detect the screen/monitor layout. Depending on your
configuration the order of the screens returned by XRandR may not correspond to
the order of the screens the Wey device expects. To work around this it is
possible to override the screen layout by providing a manual configuration and
thereby disabling the auto detection though XRandR. If a screen layout
configuration file is present at /etc/lmss.sl
it will be used and automatic
detection is disabled.
The config file format consists of one screen configuration per line in the
format: widthxheight+xoffset+yoffset
A sample file of 4 FHD screens next to each other would look like this:
1920x1080+0+0
1920x1080+1920+0
1920x1080+3840+0
1920x1080+5760+0
lmss uses the autostart feature described in the Desktop Application Autostart Specification on freedesktop.org
The following is only necessary if lmss was manually installed. The installation through the rpm or deb package automatically starts lmss.
Place
lmss.dektop in
your global XDG autostart dir /etc/xdg/autostart
and make sure your lmss
binary is installed correctly.
If you do not want to enable this feature globaly, you need to move the
lmss.desktop
file from the /etc/xdg/autostart
directory and place it in the
user autostart dir ~/.config/autostart/
for all user accounts you want this
feature to be enabled on.
Just place a file called lmss.desktop
containing Hidden=true
in the users
home ~/.config/autostart/
.
- Ubuntu 20.04 LTS, 22.04 LTS
- CentOS 7, 8
- AlmaLinux 8.9
- Rocky Linux 8
- RHEL® 7.9
Other distributions should work too, as long as X.org is used as session window system. The installation of the software / autostart / rights might differ per distribution. Please provide feedback and feel free to provide PR with changes that are needed to make the software run on other distributions and versions.
- C++20 compatible compiler (gcc >= 10)
- cmake
- libxi-dev
- libxrandr-dev
apt install git build-essential cmake libxi-dev libxrandr-dev gcc-10 g++-10 cpp-10
update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-10 100 \
--slave /usr/bin/g++ g++ /usr/bin/g++-10 \
--slave /usr/bin/gcov gcov /usr/bin/gcov-10
Verify that gcc-10 is now the default:
$ gcc --version
gcc (Ubuntu 10.5.0-1ubuntu1~20.04) 10.5.0
...
yum install centos-release-scl
yum install llvm-toolset-7-cmake git devtoolset-11 rpm-build libXi-devel libXrandr-devel llvm-toolset-7-cmake devtoolset-11
Get a shell with cmake
and gcc
in the correct version:
scl enable devtoolset-11 llvm-toolset-7 bash
git clone https://github.com/WEYTEC/LMSS.git
cd LMSS
./build.sh
cd build
cpack -G DEB
cpack -G RPM
The verbosity of log messages can be set with the -v
command line argument. To
enable the most verbose output (debug level) set -v
to level 7:
lmss -v 7
See the usage output for more options:
lmss --help
Level | Description |
---|---|
1 | Alert |
2 | Critical |
3 | Error |
4 | Warning |
5 | Notice |
6 | Informational |
7 | Debug |
- requires X.org as session window system at the moment
- on some distributions Mouse Switching does not work on the login screen, due to missing user rights