O
OpenDeck5mo ago
heresy

Trying to get keybinds to work with Stream Deck + on Fedora

I'm trying to set some keybinds in OpenDeck. I can't seem to get them to work properly. I want to use the F13-F20 keys if possible. I think the issue I'm running into is that OpenDeck is not forwarding my InputSimulation config to the deck
177 Replies
Eris2cats
Eris2cats5mo ago
I have to get to the end, press enter, press backspace, and then it functions
Terrorwolf
Terrorwolf5mo ago
Is there anything in the logs? Is one of the other F keys working? What exactly did you put in the Field? For me F13-F20 are working but not every game for example supports these.
heresy
heresyOP5mo ago
No thing in the logs. I can't actually get any keybinds to work. I tried the enter->backspace combo, but it didn't work
Terrorwolf
Terrorwolf5mo ago
what exactly are you writing in the field?
heresy
heresyOP5mo ago
[k(F20,p)] I'm on v2.4.4 if that helps oh and I'm using Fedora with KDE Plasma
Terrorwolf
Terrorwolf5mo ago
How did you install OpenDeck? With the RPM or via FlatPak?
heresy
heresyOP5mo ago
FlatPak
Terrorwolf
Terrorwolf5mo ago
Is the run command Action working?
heresy
heresyOP5mo ago
yes. It worked immediately even The result of pressing any configuration for input simulation is just 0
nekename
nekename5mo ago
wdym 0?
heresy
heresyOP5mo ago
I think what's happening is that the press of the button the stream deck is being registered not the command associated, but I could be wrong
heresy
heresyOP5mo ago
No description
heresy
heresyOP5mo ago
This is what happens if I press the button in Discord's keybinder I should note however, that is not a standard 0. I can't just press 0 and activate the keybind. I have to press the button (any button) on my Stream Deck Plus. My main goal here is just to set up keybinds to manage discord without the use of a plugin due to the app authorization not consistently working. I think the 0 might be discord's default for detecting a keypress but not knowing what it was. I tried to use ydotool to simulate the key presses, but that didn't work either.
heresy
heresyOP5mo ago
this is what xev gives me if it helps. I pressed 'o' manually for reference and then pressed two different keys on the deck
No description
heresy
heresyOP5mo ago
I don't have any other streamdeck software running my current setup is the Stream Deck Plus with XLR dock
Terrorwolf
Terrorwolf5mo ago
Did you put it in key down or key up?
heresy
heresyOP5mo ago
I tried both Down mostly. Sometimes both, never just up Well maybe just up once 🤔
Terrorwolf
Terrorwolf5mo ago
Because thats something I observed in some video games where I need to put it in the key up field.
heresy
heresyOP5mo ago
hmmm, Discord definitely recognizes it on KeyUp and not down 🤔 and by recognizes i mean it sets '0' on KeyUp and not KeyDown
Terrorwolf
Terrorwolf5mo ago
It sets 0 when you try F13 or up? If yes, does Discord support F13 and up keys?
heresy
heresyOP5mo ago
Any key I try sets 0
nekename
nekename5mo ago
please try a Xorg session
heresy
heresyOP5mo ago
Ok, I'll get back to you guys once I try that I've switched to EndeavorOS from Fedora, I got F10 to work
heresy
heresyOP5mo ago
No description
heresy
heresyOP5mo ago
since the 0 here is any key on the streamdeck I suppose I could set any key I wanted as the keybind 🤔 I wasn't able to use multiple keys at once though actually I can't seem to get any keys to work besides the F keys F1-F12, but my particular issue is fixed
Terrorwolf
Terrorwolf5mo ago
Are you on a wayland or X11 session?
heresy
heresyOP5mo ago
I'm not sure. I'll investigate I'm using wayland
Terrorwolf
Terrorwolf5mo ago
Are you able to try with X11? It probably is a Wayland issue.
heresy
heresyOP5mo ago
how would I go about that. I'll do some research later, but I'm short on time atm
Terrorwolf
Terrorwolf5mo ago
what distro did you said you have installed?
nekename
nekename5mo ago
endeavour
heresy
heresyOP5mo ago
I swapped to endeavor which is arch based
Terrorwolf
Terrorwolf5mo ago
I think you should be able to choose at the login screen.
heresy
heresyOP5mo ago
It does the same thing in X11. I used [k(a,p)] as the command
Terrorwolf
Terrorwolf5mo ago
Which Desktop environment did you choose?
heresy
heresyOP5mo ago
I was using X11 and Wayland
Terrorwolf
Terrorwolf5mo ago
Thats not the Desktop environment. DE is like Gnome, KDE, and so on.
heresy
heresyOP5mo ago
KDE
Terrorwolf
Terrorwolf5mo ago
ok. Will try that after work when I have time how it plays out in my vm.
nekename
nekename5mo ago
I'll do some testing of the new Wayland/libei support in the library at some point and decide whether it's ready to include in the starter pack
heresy
heresyOP5mo ago
Thanks for your hard work 💪
nekename
nekename5mo ago
but it should work in X11 could you try [t("hello")]
heresy
heresyOP5mo ago
I did, I think, I'm pretty sure I got [t("m")] to work
nekename
nekename5mo ago
so it's just the Function keys that don't work?
heresy
heresyOP5mo ago
Actually only the Function keys were working once I got the k function to work
nekename
nekename5mo ago
hm
heresy
heresyOP5mo ago
The exact setup I'm using currently is EndeavorOS, Stream Deack Plus w/ XLR Dock, Wayland (just switched back from X11). I'm not sure I can be of any help except to provide the results of what happens when I press buttons under certain settings. If make a list of things you want me to test let me know. I'll keep an eye on this thread. I'm currently using the Generic Keyboard driver, but I don't really expect that to be helpful information
nekename
nekename5mo ago
The starter pack logs would be good
heresy
heresyOP5mo ago
I'll get them to you fairly late today, I might forget since it's a busy day. Where can I find them? Do you want me to do anything to generate logs so you have lots of examples?
nekename
nekename5mo ago
<log folder>/plugins/com.amansprojects.starterpack.sdPlugin.log you can open the log folder from the settings page just running a variety of commands should be good, especially the ones that dont work did you say that text (i.e. [t("m")]) works, but keys (i.e. [k(...)]) don't?
heresy
heresyOP5mo ago
Yes
nekename
nekename5mo ago
I see, ok @Drɘw this is the same issue then this means it isn't a wayland/x11 specific issue also, i can repro so maybe don't bother with sending logs
heresy
heresyOP5mo ago
👍 Good luck with development
nekename
nekename5mo ago
unfortunately neither the Wayland nor libei features seem to fix it wayland feature just says "no available protocols" or something, libei panics I've got exams this week so I won't be able to do much more work unfortunately
Terrorwolf
Terrorwolf5mo ago
What do you need in order to reproduce the bug?
nekename
nekename5mo ago
nothing really, all I did was try using [k(...)] and it doesnt work text input works though
heresy
heresyOP5mo ago
Well I hope you can figure it out. I know how frustrating development work can be :JustaSip: Good luck with your exams
Terrorwolf
Terrorwolf5mo ago
Interesting. I just checked and the Key I set up on Sunday (worked on Sunday) doesn't work anymore today.
heresy
heresyOP5mo ago
Did you try setting a function key to see if that works?
Terrorwolf
Terrorwolf5mo ago
You mean like F1 for example?
heresy
heresyOP5mo ago
Lol yes F1
Terrorwolf
Terrorwolf5mo ago
F1 seems to work and opens the discord help
heresy
heresyOP5mo ago
I use F6-F10
Terrorwolf
Terrorwolf5mo ago
the one I tried to use which didn't work is Numpad0
heresy
heresyOP5mo ago
:agony:
Terrorwolf
Terrorwolf5mo ago
is F1 opening the help for you?
heresy
heresyOP5mo ago
Don't know, didn't try it I'm actually at work currently. I can let you know later
Terrorwolf
Terrorwolf5mo ago
Yeah, would be nice if you could try it when at home. No rush.
heresy
heresyOP5mo ago
I don't expect it would though. It might, when discord registers the keybind it looks like 0 + F10 Well 0 + F1 in your case
Terrorwolf
Terrorwolf5mo ago
does it paste 0 in text fields if you press the button?
heresy
heresyOP5mo ago
No
Terrorwolf
Terrorwolf5mo ago
ok. Because I think 0 is als the default key the utils detect when an unrecognized key is pressed.
heresy
heresyOP5mo ago
I think discord registers the the button on the Stream deck is pressed, but doesn't know what value it should have Yes
Terrorwolf
Terrorwolf5mo ago
and since key down and key up are their own events, both are recognized
heresy
heresyOP5mo ago
Right I just think it's extra weird that F keys work, but the others don't Btw if I use something like F20 I get 0 + 0. So the default key being 0 makes sense
Terrorwolf
Terrorwolf5mo ago
F20 should be recognized by most utils tho
heresy
heresyOP5mo ago
Not sure, not my wheelhouse
Terrorwolf
Terrorwolf5mo ago
thats true
heresy
heresyOP5mo ago
I'm kinda curious to look into it though. Could be a good learning experience :Major_Armstrong:
nekename
nekename5mo ago
Yes probably thanks, I have NOT revised enough lol
heresy
heresyOP5mo ago
Real yes it does
Drɘw
Drɘw5mo ago
chiming in on this thread because I get similar behaviour anything I bind in discord is just '0' (no 0+F1, etc.), which is key 248 if I look at wev regardless of which I bind the streamdeck button to
[14: wl_keyboard] key: serial: 10790; time: 19435380; key: 248; state: 0 (released)`
sym: NoSymbol (0), utf8: ''
[14: wl_keyboard] key: serial: 10790; time: 19435380; key: 248; state: 0 (released)`
sym: NoSymbol (0), utf8: ''
heresy
heresyOP5mo ago
What did you put in OpenDeck? ex. [k(F1,p)]
Drɘw
Drɘw5mo ago
[k(F__,p)] tried 4 keys [k(uni('m'))] will sometimes input letters but doesn't do anything if m is a keybind or shortcut in various programs
heresy
heresyOP5mo ago
Right Just making sure you're adding the ,p to your keybinds. I'm not sure what other types of key presses there are but p is what I use
Drɘw
Drɘw5mo ago
sorry, yes edited
heresy
heresyOP5mo ago
No worries
Drɘw
Drɘw5mo ago
was adding ,p to keydown field and ,r to keyup, not sure if that's right
heresy
heresyOP5mo ago
I only did ,p I did ,p in keydown and keyup. There was something earlier about only keyup getting registered. You can try doing ,p in keyup as well to see what happens
Terrorwolf
Terrorwolf5mo ago
Just did some digging in the logs and found this Error:
No description
Terrorwolf
Terrorwolf5mo ago
And tested some of these which are working as expected
heresy
heresyOP5mo ago
Interesting 🤔 Have you tried doing multiple at the same time? That was the other issue I ran into
Terrorwolf
Terrorwolf5mo ago
not yet. I only tried one at the time so far. But let me try something ok. Now not even F1 is working anymore. I don't know why...
Terrorwolf
Terrorwolf5mo ago
Now I get this error:
No description
heresy
heresyOP5mo ago
🤔
nekename
nekename5mo ago
hmm, this is a parsing error, so you haven't inputted the command correctly
heresy
heresyOP5mo ago
What's the standard delimiter for the commands? "," or ", " or something else?
Terrorwolf
Terrorwolf5mo ago
Its the same that worked. Copied it even from my backup to make sure.
heresy
heresyOP5mo ago
🤔 based on this I'd guess it's ", " which isn't what the example in OpenDeck demonstrates. I can't know that for sure without checking the source code
Terrorwolf
Terrorwolf5mo ago
the example in opendeck atleast for me shows , or what do you mean exactly
heresy
heresyOP5mo ago
Is that ", " or ","
Terrorwolf
Terrorwolf5mo ago
without space. But none of it works for me
heresy
heresyOP5mo ago
I'm trying to exhaust the simple options before considering something more complicated. Just making sure that the delimiter between commands is accurate currently. ron may be expecting something different, or there may be custom code involved to parse before it reaches ron. Again, I'm not familiar with the code so I can only make guesses. I'll take a look at the code later probably. Who knows, a fresh set of eyes might help find the issue
nekename
nekename5mo ago
no, I don't think whitespace matters I also thought I sent that already but apparently discord is bugging out
heresy
heresyOP5mo ago
Ok, no worries
nekename
nekename5mo ago
but what is the command ...? thats really strange, because this shouldn't be a new bug, I haven't updated the starter pack in a while or at least this part of it so maybe KDE updated?
heresy
heresyOP5mo ago
It's me lol, my bad luck with tech is transferring over :DignityLaugh:
Terrorwolf
Terrorwolf5mo ago
Thats the one that worked before: [k(F1,p)]
heresy
heresyOP5mo ago
I'm very confused at the moment. I just got multiple keybind to work and I was able to press letter keys like m granted I've been doing letters wrong this whole time, but still [k(F20,p),k(uni('t'))] anything above F12 does seem to be coming through as BACKSPACE, so that's a little odd, but still this is progress My foray into the source code didn't really help, but did confirm it wasn't a parsing issue. Taking a journey into crates is always a wild ride this does return 0 + BACKSPACE + T congrats on good looking, well organized code btw
heresy
heresyOP5mo ago
Ok, I don't see a way to send a Scancode or Numpad0 directly. I could be wrong because I don't understand the full capabilities of several of these options. Also, I do have a list of these currently unused keycodes: [8, 93, 97, 103, 120, 132, 149, 154, 168, 178, 183, 184, 197, 202, 217, 219, 222, 230, 248]. Anyway, I think this partiular issue is resolved with me. [k(F20,p),k(uni('t'))] seems to be doing reasonably well and I can manage enough combinations now that I understand what's going on. I could have sworn I tried that before though.
No description
Terrorwolf
Terrorwolf5mo ago
The thing is, Numpad0 worked last sunday for me without problems.
heresy
heresyOP5mo ago
:Lamentation: well, it's not in the list anymore, so either the list is static or it got removed at some point
Terrorwolf
Terrorwolf5mo ago
the thing is, in enigo its still there. I can't say where this list comes from. and for a friend of mine in linux mint, it still works. May I ask how you installed Opendeck? Flatpak or something else? @heresy @Drɘw
Drɘw
Drɘw5mo ago
your AUR package hehe
Terrorwolf
Terrorwolf5mo ago
Ok. Just wanting to confirm or deny two theories i had during the night. One is, if it maybe has something to do with flatpak or not.
heresy
heresyOP5mo ago
The AUR But it had the same issues as the FlatPak if I remember
Terrorwolf
Terrorwolf5mo ago
Ok. Thanks. I have found a way to fix the porblem I think.
heresy
heresyOP5mo ago
:JustaSip:
Terrorwolf
Terrorwolf5mo ago
@nekename If you remember, I have made a custom version of the plugin with an different delay for Neo. I just asked him for his Opendeck folder, and as soon as I replaced my com.amansprojects.starterpack.sdPlugin folder with his, everything started to work again. According to the time stamp on the plugin, I made this on 4th February 2025. And according to Opendeck its also Version 1.4.1. I need to go now and won't be at home until Sunday, but I am available for anything if needed.
nekename
nekename5mo ago
what the heck? i changed nothing lol
Terrorwolf
Terrorwolf5mo ago
Thats just what i dsicovered. Because I talked with neo yesterday and it still worked. Then he sent me his plugin folder and I tried, and it worked without problems.
nekename
nekename5mo ago
the only change between 1.4.0 and 1.4.1 was adding the documentation to the input simulation settings section
Terrorwolf
Terrorwolf5mo ago
Chabged back, problem still occurs. And that was a while ago and since then it still worked until a few days ago.
heresy
heresyOP5mo ago
Coding be like: :CatSHAKE:
nekename
nekename5mo ago
yeah exactly, if this is a new problem then its not an OpenDeck/starter pack problem must be a KDE/other update
Terrorwolf
Terrorwolf5mo ago
But why is it working with the "old" plugin executable?
nekename
nekename5mo ago
not an Arch problem as I have it too oh yeah, true
nekename
nekename5mo ago
maybe try some of the older ones from https://github.com/nekename/opendeck-starterpack/releases ?
GitHub
Releases · nekename/opendeck-starterpack
This repository contains an OpenAction plugin that provides basic actions for use in OpenDeck. - nekename/opendeck-starterpack
nekename
nekename5mo ago
it's missing 1.4.0 but the only change in 1.4.1 was docs
Terrorwolf
Terrorwolf5mo ago
I can try it on Sunday since I am not at home to press the buttons.
nekename
nekename5mo ago
actually, scratch that, stuff is working? F1 opens discord help even F12 seems to work, testing in the vscode terminal, it prints ~ and it does that when i manually press F12 even the "End" key seems to work
Terrorwolf
Terrorwolf5mo ago
Yeah. Everything from the above list is working. Nothing else. This one
nekename
nekename5mo ago
I don't think that one is supposed to
No description
nekename
nekename5mo ago
looks like Windows only so, either you were on windows, or you're imagining things? but if it works in Neo's version...
Terrorwolf
Terrorwolf5mo ago
Still on linux. And you need to check further down. There it is for linux Unless my Arch Linux pc magically turned into windows.
heresy
heresyOP5mo ago
How unfortunate
Terrorwolf
Terrorwolf5mo ago
I am hapoy thats not the case as far as I can tell.
nekename
nekename5mo ago
really? I can't see it 💀 OK, I can see them in the latest main source but in the 0.3.0 source, which is used by the starter pack 1.4.1, it is locked to Windows
Terrorwolf
Terrorwolf5mo ago
No description
Terrorwolf
Terrorwolf5mo ago
Sorry. Only on the phone right now
nekename
nekename5mo ago
yeah ^ so maybe you pointed Cargo.toml to the git version when you built it for Neo I think that resolves the issues then, the next starter pack release, if enigo releases a new version before then, will have numpad keys, as well as the wayland feature enabled I've marked this as resolved :)
heresy
heresyOP5mo ago
:JustaSip: Thanks for your hard work
Terrorwolf
Terrorwolf5mo ago
Nope. Needed the local delay changes sind helldivers is not able to detect the keystrokes else
nekename
nekename5mo ago
No description
nekename
nekename5mo ago
the support is unreleased so you must have built using git enigo
Terrorwolf
Terrorwolf5mo ago
Wtf. Why did it then work last week with the default one? When was this released?
nekename
nekename5mo ago
january 29th
No description
Terrorwolf
Terrorwolf5mo ago
Ok. That would explain why it workd with neos version. But why did it work last week atleast for me?
nekename
nekename5mo ago
I think you must either have had Neo's version installed, or are imagining it 😭 ok i actually have to write my essay now, see you all later
Terrorwolf
Terrorwolf5mo ago
I didn't have the version of neo until today at noon. Bye. Good luck
nekename
nekename5mo ago
maybe you had it by mistake, since you made it right? otherwise i don't know
Terrorwolf
Terrorwolf5mo ago
I haven't installed it on my device. Else it would have worked in HD2 @nekename I don't know why that is, but when I now build the OpenDeck Starterpack with the from me modified enigo lib (just change the delay), neither the new Brightness Action shows up nor is the Numpad in Input simulation working. I saw that the Starterpack moved from its own git repo to the whole OpenDeck one so I cloned the whole OpenDeck Repo and modified the Cargo Toml to use the local Enigo Lib there again.
nekename
nekename5mo ago
yes that's right, the brightness action was added in a commit to the OpenDeck repo, the separate one is scheduled for removal
Terrorwolf
Terrorwolf5mo ago
Yeah. But shouldn't it then show up if I build it out of the OpenDeck Repo? Because its not showing for me.
nekename
nekename5mo ago
have you made sure to delete the plugin from the plugin directory first? it only auto-updates the plugin if the versions are different (I haven't bumped the plugin version yet)
Terrorwolf
Terrorwolf5mo ago
I have stopped opendeck, deleted the plugin and added the newly build one freshly pulled from github
nekename
nekename5mo ago
try installing the one I sent?
Terrorwolf
Terrorwolf5mo ago
Will try. Give me a moment still nothing
nekename
nekename5mo ago
🤨 it just doesn't show up in the list? did you install with the "Install from file" button or manually?
Terrorwolf
Terrorwolf5mo ago
manually. I think I found the Problem. Opendeck wasn't completely Up2Date since I have problems with my ISP and now all git commands are likely to time out at the moment. It shows up now with my and your version. Now I need to figure out why Numpad is again not working with my version. Ok. It seems like Opendeck is modifying the selfbuild Plugin at startup since everytime I start Opendeck after changing the executable in the plugins folder the timestamp changes to the current time. and also the checksum changes
nekename
nekename5mo ago
it would do that if there was a mismatch with the version of the one in the OpenDeck source when you built it, and the one installed
Terrorwolf
Terrorwolf5mo ago
but if the local build one and the opendeck installed from git are both pulled within the last 2h the version should match shouldn't it?
nekename
nekename5mo ago
yes just check the manifest files to be sure
Terrorwolf
Terrorwolf5mo ago
Both manifests (the one from the src folder I built from and the one in the Plugin folder) are showing 1.4.1 Any idea @nekename ?
nekename
nekename5mo ago
maybe also check the version of the plugin in /usr/lib/opendeck/plugins
Terrorwolf
Terrorwolf5mo ago
Will do that First thing tomorrow. Just saw the time and need to go to bed.
nekename
nekename5mo ago
lol, good night
Terrorwolf
Terrorwolf5mo ago
Thanks Good Morning, This one also states 1.4.1
Berny
Berny5mo ago
not to hijack this, but I am on EndevourOS (Arch based) as well and it seems keyboard input does not work at all. The plugin log states that its doing something, but the input never comes to the apps. I use Gnome/Wayland and noticed that the log talks about X11 🙂 15:54:12 [DEBUG] (1) enigo::platform::x11: xtest_fake_input with keycode 67, deviceid 3, delay 0 15:54:12 [DEBUG] (1) enigo::platform::keymap: added the key 67 to the held keycodes 15:54:12 [DEBUG] (1) enigo::platform: entered the key via x11 15:54:12 [DEBUG] (1) enigo::platform: added the key F1 to the held keys 15:54:12 [DEBUG] (1) enigo::platform: entered the key 15:54:12 [DEBUG] (1) enigo::platform: key(key: F1, direction: Release) 15:54:12 [DEBUG] (1) enigo::platform::x11: xtest_fake_input with keycode 67, deviceid 3, delay 0 15:54:12 [DEBUG] (1) enigo::platform::keymap: removed the key 67 from the held keycodes 15:54:12 [DEBUG] (1) enigo::platform: entered the key via x11 15:54:12 [DEBUG] (1) enigo::platform: removed the key F1 from the held keys 15:54:12 [DEBUG] (1) enigo::platform: entered the key 15:54:12 [DEBUG] (1) enigo::platform: released all held keys and held keycodes 15:54:12 [DEBUG] (1) enigo::platform::x11: x11rb connection was dropped input was [k(F1,p)]
nekename
nekename5mo ago
Yeah for now it should work in XWayland apps but not native Wayland ones. In a future release I'll enable enigo's Wayland support
Berny
Berny5mo ago
thanks a lot
Berny
Berny5mo ago
btw I found a great workaround for now. ydotool: https://github.com/ReimuNotMoe/ydotool you need to add your user to the group "input" and create a user service for ydotoold once the service is running, use Run Command in OpenDeck and use ydotool key 44:1 44:0 for example to input the key "y"
GitHub
GitHub - ReimuNotMoe/ydotool: Generic command-line automation tool ...
Generic command-line automation tool (no X!). Contribute to ReimuNotMoe/ydotool development by creating an account on GitHub.
nekename
nekename5mo ago
cool
Inferna
Inferna5mo ago
I've got another issue to add to the pile. I haven't checked every possible key, but it seems I am unable to use alphanumeric keys unless they're unicode. This isn't a huge problem currently. But a bigger issue is that livesplit-core appears to use a different key mapping making it difficult to control. I'm not sure if there's anything that can be done about the incompatibility. https://github.com/LiveSplit/livesplit-core/blob/master/crates/livesplit-hotkey/src/key_code.rs
GitHub
livesplit-core/crates/livesplit-hotkey/src/key_code.rs at master ·...
livesplit-core is a library that provides a lot of functionality for creating a speedrun timer. - LiveSplit/livesplit-core
nekename
nekename5mo ago
For the alphanumeric keys, a quick look at the library source shows that there are no dedicated keycodes for numbers on any platform, and only on Windows there are some for the letters. So yeah, stick to unicode for those. For that software, it shouldn't matter what the keys are called in their code, as long as you press the right keys in OpenDeck.
Inferna
Inferna5mo ago
Ok. That makes sense. Strange then that it's not picking up the input. I set F12 to start in the keybinding and it works there, but sending it via input simulation nothing happens.

Did you find this page helpful?