Macro String being UpperCased Unintentionally (Arduino Boards Update)

Managed to get my sketch to a good state yesterday, one of the last things I did before I finished for the day was to update the submodules in my hardware directory to pick up all the latest goodness!

Brought the keyboard to work to find I had problems. I tested on both Windows and OSX and the issue is when I have a Macro(PSTR) where the string has either numbers of special characters it is getting garbled on output and is producing something not defined in the sketch.

For example foo@bar.com is coming out as
foo@BAR>COM
and
Test1234
TEST!@#$

I removed all the updates I made yesterday which was to remove FunColor, OSM(Shift_Left) & OSM(Shift_Right) has the keyboard was doing something odd when I tried to use the shift key at all with those in. Another oddity I have never seen before but I am now getting is occasionaly I am getting 10+ character duplicates for some FN+Keys (noticed this on uiop keys)

So finally this afternoon I had some time so I checked out my last push to github from 9 days ago! I just reflashed and I still have the same issue with my Macros printing uppercased strings.

Has anyone else noticed anything like this after updating I am guessing quite recently? ( I usually update once a week to pick up any fixes )

Replying to myself:

I have reset my M01 back to stock, I cloned a new version of avr and the Model01-Firmware, I see the exact same behaviour on the NumPad(AnyKey Macro).

I have seen a reply to a different thread about reverting Kali back to a previous version, can we get a tag to revert to please.

The Macro produces:

KEYBOARDIO MODEL )! _ KALEIDOSCOPE LOCALLY BUILTKEYBOARDIO MODEL )! _ KALEIDOSCOPE LOCALLY BUILT

I’ve had this exact problem since the last update. From what I can surmise, is that as soon as you have macro’d any character needed a shift, It never releases the shift and all remaining characters in the macro command get the shift applied.
I’ve adjusted my macro’s to apply a U(LeftShift) after any character that uses it to display and that has resolved my issues. But do we need to file a bug for this?

There is definitely something buggy going on, I believe I was getting shifted characters even after the macro ended.

Thank you for the work around, that will help.

Yes please, that makes it a lot easier to keep track of, and to prioritize. Both @obra and myself are pretty swamped right now, having bug reports is very useful for our continued sanity (for some values of sanity).

Happy to report it correctly, however I am not sure where exactly to report it. I assume you want issues raised in github for the respective Modules?

I would say I have noticed 3 very different issues with regards to making my libraries on Sunday. I cannot tell you the last time I did this, making it very difficult to identify what got updated.

The issues I have experienced :

Macros (PSTR) are being mangled after using a shifted character. ( tested on a fresh git pull of libs and sketch )
OneShot seems to be broken when used with a shift key, it appears the key is being actuated on/off repeatedly. ( not tested in a base sketch yet )
Keys are being incorrectly repeated after certain actions. ( not tested in a base sketch yet )

From a user POV this hinders the ability to use the keyboard. Is there any way we could start tagging releases for libraries so if people find an issue they can at least roll back to a known good state. I have attempted to roll back various libraries but I am finding it a little difficult to find the correct combination of git commits which still builds a firmware.

If you report it against the plugin where you discovered the problem, that’s good enough. If all else fails, and you don’t know where to report it, open it against Kaleidoscope itself. You can even put all of these into one report, we’ll break it up from there if need be.

I will hold off on the key-repeating issue until i can reproduce it with a single repetitive action, I am getting close as it is nearly always after a shifted character.

As I was typing this message I found a very simple reproducable issue for one-shot, with one shot enabled IF I hold the shift key and use arrows to select text every few characters the shift is turning off so the selection stops and restarts. Even with the OneShot in locked mode the same issue occurs whilst trying select text.

I will hold off another issue in a separate project as it all looks like it is related the shift modifier or modifiers in general.

1 Like