UltimateHackingKeyboard / firmware

Ultimate Hacking Keyboard firmware
Other
420 stars 66 forks source link

Can't use secondary key role as modifier on a different key that has a secondary role #198

Closed daenney closed 4 years ago

daenney commented 6 years ago

I'm trying to configure the UHK as follows:

However, when I then hold the key to toggle the secondary Shift role and then press the key that emits [{, I don't get anything. I would expect that to emit {.

So this works: works

Then I can get the { when I hold the shift and hit the other key.

But configured this way, it fails: fails

If I now hold shift and then tap the key above it, nothing happens.

I've uploaded my config here: https://gist.github.com/daenney/b73b1d61a18d168efdd9f36fda477802

daenney commented 6 years ago

Forgot to mention:

mondalaci commented 6 years ago

@daenney Thanks for reporting! I could reproduce this issue, and we'll look into it.

daenney commented 6 years ago

I'm glad to hear that. Well, sorry it's causing you work but glad it might get fixed. If there's anything I can do to help test/debug this I'm happy to.

mondalaci commented 6 years ago

We're dedicated to fixing issues, so please keep reporting anything you might find. We have everything we need regarding this one.

daenney commented 5 years ago

I'm curious if this one is affected by #203?

mondalaci commented 5 years ago

@daenney. No. #203 did not fix this issue.

daenney commented 5 years ago

Ah, that's too bad, they felt related somehow.

Do you happen to have some pointers as to where I could look to fixing this one myself? It's probably not a super common problem for people but in my case it means I can't program my UHK the way I want to in order to replace my Ergodox as my daily driver. It's literally the only feature I miss, so if I can help out and speed up the process I'd be happy to invest some time into it. Just not really sure where to start.

mondalaci commented 5 years ago

@daenney Thank you for considering to helping us! Look for secondaryRole in right/src/usb_report_updater.c. This code is not easy to deal with, and it will be refactored by @eltang.

p4elkin commented 5 years ago

@daenney in the meantime I can suggest a firmware fork of mine that probably could help with your issue (if I got it correctly from the description): https://github.com/p4elkin/firmware/releases/tag/8.5.3.187-4

See the probably relevant readme part:

the algorithm tracks secondary role keys separately from each other, making it possible to e.g. have both ALT and CMD configured as secondary roles for some keys and have them activated at the same time (not possible in stock firmware);

Feel free to give it a shot, cheers.

daenney commented 5 years ago

@p4elkin Would you not be willing to contribute these changes back? I don't see the algorithm changes you've made to cause any obvious regressions in current functionality.

p4elkin commented 5 years ago

@daenney some discussion about that hapened in this issue: #207. In general - I'd be both hands up for that and planning to invest some time on making the changes as transparent and understandable as possible (hopefully those are not hard to comperehd apart from couple of gotchas/tricks).

However, it is eventually @mondalaci's and @eltang's call and I am pretty sure that they're quite busy atm esp with the add-on design going on.

jcowgar commented 4 years ago

Good evening, I just took delivery of my UHK yesterday and this bug is affecting me quite a bit. I switched over to p4elkin's branch so this will work properly but would really like to be on the latest from UHK.

Any thoughts on when this might get fixed?

kareltucek commented 4 years ago

Good evening!

I expect this to be fixed within a few weeks if all goes well. Currently, I have quite a good idea on what to do with secondary roles, but need to look into refactoring options for layer switching first.

kareltucek commented 4 years ago

Fixed in #265.