Installation

Windows

Using a Windows Installer

You can get the latest version of the app from the releases page on GitHub. Download the .msi file and run it to install the app.

After installing the app, the installer will run the settings app. Currently it's not really optimized, so the startup time is not perfect; it can take a couple seconds for the app to get started. On the first start-up the settings app will configure the service to run when you log into the system.

When the settings app starts up you should configure the character mappings (you can read more about it in the next article). After you have configured the character mappings and possibly some other preferences, start the app using the Start button at the bottom of the window. That's it! Now you're ready to use the Keyboard Switch service.

Current only the x64 version can be installed with an installer. If you want the Arm64 version then you should use a portable version or build the installer yourself.

Uninstalling the App

You can uninstall the app using the Settings app just like you would uninstall any other app.

Note: The installer will not delete the registry entry which says that your app should start when you log in! If you want to keep your registry clean, you have to disable it in the settings app before uninstalling it.

Upon uninstallation the installer will ask whether you want to delete the app's configuration as well. If you choose not to delete the configuration, you can delete it later manually at any other time. It's stored under the user's local app data folder.

Using the Portable Version

If you don't want to install the app (or can't), you can use the portable version of the app. It's literally the same as the installable version; there are no differences. Again, go to the releases page on GitHub and download KeyboardSwitch-4.1-x64-win.zip or KeyboardSwitch-4.1-arm64-win.zip. If you're not sure which one you should download, then it's most probably x64. Extract the archive to anywhere you want and start KeyboardSwitchSettings.exe. It will configure the app to run when you log in just like the installed version. The configuration for the portable version is also stored under the user's local app data folder.

macOS

Installing the App

You can get the latest version of the app from the releases page on GitHub. Download the .pkg file and run it to install the app. If your computer is running on an Intel CPU then you should get the x86_64 package. If your computer is running on an Apple CPU (e.g. M1) then you should get the arm64 package.

The installer will install multiple things:

  • The Keyboard Switch Service app will be put into the /opt folder - you shouldn't run or interact with this app directly

  • The Keyboard Switch Settings app will be put into the /Applications folder

  • The descriptor file for running the service app when you log in will be put into the /Library/LaunchAgents folder

After installing the app, open Keyboard Switch Settings - it should appear in the list of your apps.

Immediately upon opening the app a dialog window should appear which says that Keyboard Switch would like to control this computer using accessibility features. The app needs this to listen to the magic key combination while running in the background, and without these permissions it won't work. This dialog will appear only when you're installing the app for the first time. If you have installed it previously, then macOS will most probably remember that you gave the app appropriate permissions.

Click the Open System Preferences button on the dialog window. Unlock the settings and check the Keyboard Switch checkbox. Lock the settings, close System Preferences, and go back to the Keyboard Switch Settings app.

If the dialog window didn't appear for some reason, then press the Start button at the bottom of the window. The service app will start and immediately stop, because it doesn't have the accessibility permissions, and the dialog window will appear again.

You should configure the character mappings (you can read more about it in the next article). After you have configured the character mappings and possibly some other preferences, start the app using the Start button. That's it! Now you're ready to use the Keyboard Switch service.

Uninstalling the App

Many apps on macOS can be uninstalled just by deleting the app bundle from the /Applications folder. This is not the case with Keyboard Switch. Multiple things should be done to remove it from the system. You shouldn't concern yourself with those things though - you should just run an uninstaller package and it will remove Keyboard Switch.

As with the installer package, you can also get it from the releases page on GitHub. Download and run the KeyboardSwitchUninstaller-4.1.pkg file, and Keyboard Switch will be removed.

If you want to delete the app's configuration as well, then delete the hidden .keyboard-switch folder in your home folder.

Linux

Installing the App

Prerequisites

There are several prerequisites for running the app on Linux:

  • X11

  • X Keyboard Extension (XKB) which is enabled by default

  • X Test Extension - used to simulate pressing keys like Ctrl+C and Ctrl+V for you

  • xsel - used to copy and paste text

  • Bash - used to call xsel, but you don't need to have it as your default shell

  • Freedesktop conventions - used to make the service app start when you log in, and to make the settings app appear in the list of your installed apps (not required for the app itself though)

Keyboard Switch doesn't support Wayland (even with XWayland).

The most popular desktop systems (at least GNOME, KDE Plasma, Cinnamon, and LXQt) all adhere to the Freedesktop protocols, so the last prerequisite is automatically available, unless you're running a very unusual setup.

Click here to see the list of Linux distributions on which the app was tested.

If your desktop environment is GNOME then you should restart it right after installation. If you're not sure which desktop environment you're using then it's most probably GNOME since it's the default one on Ubuntu, Debian, CentOS, Fedora and others (but not Linux Mint). Press Alt+F2, then type r and press Enter. This will restart GNOME.

Using a Deb Package

If you're running a Debian-based distribution (e.g. Ubuntu or Mint), then you can install KeyboardSwitch using a deb package. You can get it from the releases page on GitHub.

The package takes care of xsel and the X Test extension, so you don't need to install them yourself.

After installation, the settings app will be available in the list of installed apps, and the service app will be configured to run at login.

Both the amd64 and arm64 versions are available, but the latter is experimental.

Using an RPM Package

If you're running a RHEL-based distribution (e.g. CentOS or Fedora), or SUSE, then you can install KeyboardSwitch using an RPM package. You can get it from the releases page on GitHub.

The package takes care of xsel and the X Test extension, so you don't need to install them yourself.

If you're using RHEL, CentOS, or Rocky Linux, then make sure that the EPEL repository is installed before installing KeyboardSwitch. Otherwise, it won't be able to install xsel.

SUSE may complain that it cannot find libXtst when installing the app using the RPM package. This is because the package is targeted for RHEL and derivatives. You can ignore this warning and proceed with installation, but make sure that libXtst6 is installed before starting the app.

After installation, the settings app will be available in the list of installed apps, and the service app will be configured to run at login.

Both the x86_64 and aarch64 versions are available, but the latter is experimental.

Using a Tar Archive

KeyboardSwitch is also available as a tar.gz fie. You can get it from the releases page on GitHub. You can then extract it to anywhere you like (e.g. into the /opt directory). The deployed app includes two scripts - install.sh and uninstall.sh. install.sh adds the settings app to the list of installed apps. uninstall.sh deletes this configuration.

Both the x64 and arm64 versions are available, but the latter is experimental.

The following scripts assume that the /opt directory is writable.

Here are the steps required for installing the app on Debian, Ubuntu, Linux Mint, etc.:

sudo apt update
sudo apt install xsel libxtst6  # Install xsel and the X Test Extension
tar -xzf keyboard-switch-4.0-x64.tar.gz -C /opt
cd /opt/keyboard-switch
./install.sh

Here are the steps required for installing the app on RHEL, CentOS, Fedora, or Rocky Linux (use yum instead of dnf on older systems):

sudo dnf install epel-release  # Add the EPEL repository (not needed for Fedora)
sudo dnf install xsel          # Install xsel
sudo dnf install libXtst       # Install the X Test Extension
tar -xzf keyboard-switch-4.0-x64.tar.gz -C /opt
cd /opt/keyboard-switch
./install.sh

Here are the steps required for installing the app on SUSE (you may need to add the X11:XOrg repository to install libXtst6):

sudo zypper install xsel      # Install xsel
sudo zypper install libXtst6  # Install the X Test Extension
tar -xzf keyboard-switch-4.0-x64.tar.gz -C /opt
cd /opt/keyboard-switch
./install.sh

Here are the steps required for installing the app on Arch Linux:

sudo pacman -S xsel     # Install xsel
sudo pacman -S libxtst  # Install the X Test Extension
tar -xzf keyboard-switch-4.0-x64.tar.gz -C /opt
cd /opt/keyboard-switch
./install.sh

Uninstalling the App

For the deb and RPM packages, it's simple - just uninstall the package. For the tar.gz file, run the included uninstall.sh script, and delete the app's directory. If you want to delete the app's configuration as well, then delete the ~/.keyboard-switch directory.

Last updated