I have recently added a USB macro keyboard to my system, there are 4 buttons bound to keys:
XF86Launch1, XF86Launch2, XF86Launch3, XF86Launch4.
The button presses work no problem when I bind them in other software such as discord, or if I bind the button so it launches a program etc.
teamspeak has no problem detecting the keypress to initially bind the key, as shown in the screenshot, XF86Launch4 has bound without a problem. But past that, teamspeak is unresponsive to keypresses. Even when focused on the window, the microphone is not toggled. Regular keyboard keys work as expected when bound to the same hotkey.
I have tested the key in isolation (no other programs listening for XF86Launch4, only teamspeak). But it still seems to ignore the keypress after the initial binding.
Ok i already made some research about keybinding problem on teamspeak and i found this for uncompatible device : antimicro
Itâs avalaible on linux. Give a try and let me know.
It will just âspoof/redirectâ the input signal from the controller to a keyboard one.
Iâve tried to install that plugin, but I donât know if it will work on linux, it is all just .dll files which I am not sure run on linux.
Also I have spent like 15-20 mins searching for where the plugins directory should actually live on linux. I have no idea, I tried putting that controller plugin in /opt/teamspeak3/plugins but nothing is detected. As I say, could be more of an issue with the .dll files than anything else.
I did install a random plugin from the addon browser within the client itself, but I canât figure out where it has placed it, it hasnât made a plugins/ directory anywhere I can see. Not in $HOME/.config/ or $HOME/.local/share/Teamspeak 3/ or /opt/teamSpeak3
Plugins are installed on LInux into $HOME/.ts3client/plugins, just so you know.
DLLs donât work on Linux, these are Windows dynamic libraries.
On the other note, are you able to change what key is being pressed on that keyboard (in other words, does this keyboard come with some software, even Windows one)? If not, maybe try installing AutoHotkey via Wine and creating a script thatâll bound a hotkey to that key (eg. F13-F25 or something like that).
One more thing! Which hotkey profile do you use when connecting to server? Synchronized one or local one? Additionally, are they different in any way?
Did you tried if the key work when you are not connected ?
Itâs just to see if itâs not a related profil problem.
I mean if you can bind the key then it should work all time.
Software-wise itâs really customizable, itâs essentially an arduino lenonardo with the ardunio keyboard library to act as a HID, so I can fire pretty much whatever key I want.
I have just tried binding one of the buttons to F5, TS will set the keybind to mute the mic, when I press the button to mute, it doesnât work, but I have noticed that if I spam the button, now and again it will toggle mic mute in TS. It seems to either be missing the keypress events.
Because the binding is now F5, I decided to try the button in a browser, refreshing a web page to test if it was my keypad that was problem, but it works fine, doesnât miss any presses and I can spam as much as I want.
I only have the default hotkey profile, local I presume, never set up any sort of sync.
Ok.
For TeamSpeak to accept any non mouse or keyboard inputs as hotkeys - e.g. controllers / gamepads / makropads - you need the above mentioned plugin.
This plugin is needed since ~ 2017. Since then there never has been a linux version and most likely never will :(.
This means there is no way to use those keys as hotkeys when running native TeamSpeak on Linux.
What you could do is run TS through wine and add the Plugin for windows.
Or you could write your own plugin to handle the hotkeys.
Those are the only two ways you currently can get this to work. Nothing else will help.
It is a shame because these docs do say it will be seen as a keyboard:
Notes and Warnings
These core libraries allow the 32u4 and SAMD based boards (Leonardo, Esplora, Zero, Due and MKR Family) to appear as a native Mouse and/or Keyboard to a connected computer.
The arduino I am using is a Leonardo 32u4, can you be more detailed about what the problem is? The plugin is for Gamepad & Joysticks, it doesnât mention secondary keyboards anywhere on it
Thatâs understandable, I am willing to bind to something common, like F5. It would be nice to get to the bottom of why the key is only occasionally detected. They presses are detected fine when I use xinput test <keypad id>.