tshotkeytrigger is a CLI tool that triggers hotkey actions in Teamspeak 6 via TeamSpeak Remote Applications API.
Its primary purpose is to work around current limitations of TeamSpeak on Linux under Wayland compositors, the lack of support for global hotkeys. In these environments, hotkeys only work when the TeamSpeak window is focused.
This tool enables you to trigger actions such as "Toggle Mute" by calling TeamSpeak’s Remote API externally. You can then use your desktop environment's native global shortcut system to bind keys to run this tool. For example on Gnome: Gnome Keyboard Shortcuts
Note: This tool cannot simulate push-to-talk key presses, as it does not support holding a key down, only discrete press and release actions can be triggered.
Alternative: On some desktop environments - KDE Plasma - you can alternatively run TS6 in XWayland mode without additional tooling and have global shortcuts work as intended. See the guide. However, this method doesn't fully work on GNOME, as XWayland applications only receive global keypresses when an XWayland application is currently focused, not when a native Wayland application is in focus.
This tool is built to be run on Linux.
Build and install the AUR package - tshotkeytrigger.
You can download the provided binary from Releases page. Extract the archive and place the executable in your preferred directory.
The binary requires libwebsockets shared library, version 4.3.*. Use your system's package manager to install it.
For example, on Debian/Ubuntu:
apt install libwebsockets19t64
For a list of available options and usage instructions run:
tshotkeytrigger --help
In TeamSpeak, ensure that Remote Apps are enabled - go to Settings -> Remote Apps -> Enabled.
To allow the tool to trigger an action, you’ll need to bind a virtual key press (sent by the tool) to a specific action in TeamSpeak. This can be configured under Settings -> Key Bindings.
The application will guide you through creating a new trigger during setup.
Run the following command to set up a new trigger
tshotkeytrigger --button-id <button-id> --setup
<button-id> is a custom identifier of the virtual key you want to use. It can be any string you choose. For example "toggle.mute".
tshotkeytrigger --button-id <button-id>
- Meson with Ninja backend
- C compiler - gcc
- libwebsockets development files installed
Set up the build directory in release mode
meson setup builddir --buildtype=release
Compile the project
meson compile -C builddir
Install the executable to the default location.
meson install -C builddir
This project is licensed under the MIT License. See LICENSE for full text.
This tool uses:
- libwebsockets (MIT License) for WebSocket integration
See THIRD_PARTY_LICENSES.