-
-
Notifications
You must be signed in to change notification settings - Fork 14
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Many keyboard shortcuts stopped working after upgrading to 3.25.0 #562
Comments
Hey @jason-wihardja Mind sharing which key combinations stopped working? |
Would it be useful if I upload my entire config file? Using this config, even the close tab action within default group stopped working |
Thanks @jason-wihardja, I'm working on some of the reported issues now. |
I am using a macropad to support my productivity, so you may find some weird or unusual key combinations, but those are the keys I assigned to my macropad. Normally, my keystroke pipeline looks something like this:
Is there any change to the way you capture keystrokes? For example, instead of capturing the F15/F17 that the driver sends, the software unintentionally captures A/B. |
@jason-wihardja Interesting, so it is all the I did some problems with the migration code (moving the config), that was my first guess that something went wrong there. Did manage to fix another bug, so that is good. Just need to figure out how I can emulate these keystrokes as I don't have a keyboard with those function keys. Doing some additional research around it now. |
@jason-wihardja we just released version https://github.com/zenangst/KeyboardCowboy/releases/tag/3.25.1 |
Sadly it still doesn't work. For example, in Spotify (using the previously provided config), hitting Home/End would result in increase/decrease volume. On my machine, it behaves like how the Home/End button normally work (go to the top/bottom of the view) |
@jason-wihardja would you mind compiling a list of shortcuts that don't work so that I can write some tests for those specific combinations. Also, one thing worth trying is to try and re-record the shortcuts, just to verify that there isn't a mismatch between old and new configuration and key mapping and lookup. |
I have also tried re-recording the shortcuts, and it didn't work. There is no difference between the old shortcut and the newly recorded one. The config looks the same. |
While testing for the above keys, I also have Karabiner Event Viewer on all the time. I can verify that there's no difference in the signals being sent from my device and for buttons available in my keyboard (not my macropad), like Is there anything significant you change the way this app capture keys? Because version 3.24.2 works flawlessly while version 3.25.0 and 3.25.1 don't. As I apparently rely a lot more on the buttons that don't work than the buttons that work for my daily workflow, I have no other option than to downgrade to 3.24.2 for now. |
@jason-wihardja |
@jason-wihardja just a minor follow-up, so that I'm not chasing a red herring. Would you mind enabling notifications for running workflows in the application preferences, just to verify if this is related to the keyboard shortcut trigger or the command that should forward keys to the system? |
@jason-wihardja Hey Jason, I've got some good news! I finally figured out why Home & End didn't map properly. I have a fix for that. But I still can't seem to reproduce the issue where you use Can you send me the flags that are sent when you press those keys? I'm not sure what Karabiner Event Viewer outputs, but I'm looking for the raw value for the I use Key Codes (https://manytricks.com/keycodes/) to look them up. Here's what I get when it's working for me. |
@jason-wihardja here's an early release for you to try out! |
I tried this option, but no notifications appeared, even for the working ones |
Here are the keycodes for every key combination I listed on the table above (the last one is F20, the Key Codes app fails to display the character/key) Using v3.52.2, I can confirm that Home/End now works. But other non-working keys are still not working. |
Hey @jason-wihardja, I'm still trying to figure this out. If you don't mind, I'd like to test your configuration in the test suite so I can use it for future regression testing. Is that okay with you? I tried to match By the way, what are you using Table Overview
|
@jason-wihardja I just tried your configuration locally, and the |
Sure, you may use the config. I'm currently away for a business trip, so I don't have my macropad with me right now. Will test again the key combination once I get back home. And yes, seems like I included For context, my karabiner captured different key combinations than the one being mapped in Keyboard Cowboy, in particular the ones that work globally regardless of app. I mainly use Keyboard Cowboy for key combinations that have different actions depending on apps, which is something Karabiner can't really do easily. This has never triggered any conflict before. |
@jason-wihardja could you let me know when you have time to re-test the latest version? |
Ok, so I've gotten back from the trip. I noticed that you've released v3.25.3. Let me re-test them. And what do you mean by |
So, after I test some more, it seems that for me, the behavior is the same as before. It's still not working. Using |
I don't know whether this has something to do with the issue or not, but apparently when I ticked the |
What I meant was, if you compare F13 or F16 with F20, you'll notice that the flags for F1-F19 are different. Here's the flags for F1-F19:
Now, let's look at your F20:
I made an assumption that all F-keys should use the function key mask. However, I believe this assumption was incorrect. The keys from F1 to F19 should have the function key mask, while the remaining keys should use the non-coalesced flag. |
This is likely related (my bindings also broke with 3.25.0, I only got around to trying to report now). For example, I use cmd-shift-k to open iterm with kalker.
The difference is that the caps lock cmd variant is reported as RCMD (right side cmd) rather than LCMD (left side cmd). Looks like you internally treat the two as equivalent (despite their different codes), as per ShortcutResolverTests.swift One approach you could take is instead of checking directly for RCMD or LCMD, instead checking for |
Thanks a bunch for your response, @CosmicToast! I'm curious, are you using third-party software to remap your caps lock key to command, or did you do that through System Settings? I'm wondering why it ends up as the right command key, maybe that's by design. While trying to figure this out, I found a small issue with how keyboard shortcuts are registered in Keyboard Cowboy. It doesn't check if each key is in the correct left or right position. I think this might be part of the problem we're seeing here. So, if you hold down left-shift + right command, it will be registered as right-shift & right command. Only one of the keys have to be on the right side for all of them to be registered as such. |
@CosmicToast @jason-wihardja found a minor issue in the previous version that I shared (so I deleted that comment). Here is a freshly brewed version. |
Running straight from it, the behaviour is a bit different:
System settings, probably coincidental (they had to pick one or the other, in the end). |
Thanks for testing the new version. I've started a major overhaul of the key capture process. This way, each key is clearly marked, like the left or right command. I think this will fix the mix-ups. I set up Karbiner elements so that my caps lock key can either be the escape key (when tapped) or the left control key (when held). I know this might not be the most straightforward way to do it, but it's the way I chose to avoid any confusion. But this won't solve the problem with the caps lock key being reported as the right command. If you want to use both the left and right sides at the same time, you'll need to change the workflows for different combinations. I'll keep you posted on any progress that I make. Thanks for your patience. |
Here is an update on the current state of things. What this means is that you can now make commands that involve left, right, or both of the command modifiers (this was not possible before based on the way we determined the modifiers' position). In order to do this, we had to perform a migration to the new data structure. In addition to making the transition to the new data structure, a backup will be created of the current configuration and stored in
This should help with rolling back to older versions if we need additional changes to the data structure in the future. I've successfully migrated my own configuration without hitches (thus far). |
Sure. Would love to try that out. Because so far I had no other solutions other than downgrade to 3.24.2. Although I believe that @CosmicToast's problem may be different compared to mine, but who knows. The new data structure hopefully can solve both problems. |
@jason-wihardja @CosmicToast here is another pre-release version that you can test with. Keep in mind that you also might have to re-record the keyboard shortcuts that previously didn't work as intended. |
Ok, so I've tried the new one and here's how the re-recorded config looks like From this config, the only non-working buttons are:
|
@jason-wihardja Thanks for following up. I'll take another look at your config when life allows and continue to dig into this. I have yet to do anything about F20, will also take a look at that one. |
Yes. everything on the left side. My workaround for the F20 is to now change the mapping in my macropad to |
@jason-wihardja just tried to record Key Codes include the same modifier flags when I test it there. |
I see. Your screenshot seems to be similar to my previous screenshot here
So, it seems that hitting that combination results in the fn modifier being included. |
Yeah, and the raw event that I get from the mach port includes the function key. I'll dig a bit deeper. Do you trigger the arrow shortcuts mentioned above using your macropad? |
@jason-wihardja I think I'm on to something now, I'm cooking a new version now for you to test. Just give me a minute for it to build. |
Here is the new version, don't forget to re-record the shortcut before testing. |
Yes, I'm using my macropad. But I think I can't really include/exclude individual buttons/modifiers as the way I recorded a macro is through a software where it has a similar record functionality as yours. And since the recorded macro is being saved directly into the device's onboard memory, I don't really have the necessary skill to access or modify it in a manner that's akin to being as raw as editing the json in yours.
Unfortunately, it still doesn't fix Remember the workaround that I mentioned before where I now used |
@jason-wihardja Are you using the macropad or the regular keyboard to record? The last change that I made was to revert the change where the function gets invoked when recording arrow keys, F-keys etc. Instead, it will record these as a single special key. I thought this would be as this is how we did it before the 3.25.0 release. |
@jason-wihardja, can you let me know which keyboard locale you're using? I'm adding some extra tests to the |
Using the latest version you uploaded, this is the config that has everything working (with some buttons like Using this new config, the functionality is equivalent to what I was achieving with version 3.24.2 and the config I attached previously here. |
@jason-wihardja here is a new version for test 🤞 |
@jason-wihardja I just released 3.25.4, because it included additional other fixes that I wanted to get out there, let me know how it goes. |
I have multiple keyboard shortcuts set for multiple apps. None of them are working after updating to 3.25.0.
A few things about my setup that might be useful for tracing issues:
Previously this setup worked fine. I can confirm this, because downgrading to 3.24.2 makes everything work again.
The text was updated successfully, but these errors were encountered: