Wrong shortcut for indentation on German keyboard still not fixed

@Danika_Dakika Yes I did, thanks for the previous work, it gave good insights. It applies somewhat similar to German layout. If I understand your thread over there correctly, you say you are able to indend and outdent when using the buttons on Turkish layout keyboards that would in the physical position of the buttons on English International layout. For me at least (German/up-to-date macOS), this is not the case. Neither can I indent with the short cut that is described in the label nor with the one that uses the keys in the physical position of the described short cut.
I haven’t tried this with others since posting, but maybe I find the time on the weekend to do so, and will post a list if this makes tracking the problem easier.

I’m with dae at least for the part that we should use Shift in the labels, as at least Mac users (irrespective of them using the browser or app version) will expect the label to be something like ⌘ > for indend and ⇧ ⌘ > for outdent, just like dae used ⌘ A and ⇧ ⌘ A in his example. This seems to be convention, at least on Apple systems.

The discussion in this thread was, as far as I can tell, about the logic of how things work. I wanted to add—with my post above—that I think it would be best to at least do something in the meantime, preferably enabling users with “non-standard” layouts to indend etc. somehow, or at least disable the shortcuts that don’t work. Yet, @Anon_0000 did point out that this is not so much about QShortcuts as was suggested in the other post, but rather about the custom logic, which I cannot say for sure but sounds reasonable, as @Anon_0000 definitely is right about the event.key and event.code thing. When I looked into shortcuts.ts after he posted earlier, this is what struck me as well. I was like “Why won’t it work, since event.key is recognizing the keys I press just fine?”. I tried it using a dummy JS script and it worked for all layouts I use. I, too, saw that there was a lot of custom logic in this file. Without any JSDocs etc., I could not understand how the whole system works at first glance.
Thanks @Anon_0000 for trying out the proof of concept already. I will try this as well as soon as I find the time (sadly I have important tests ahead). Maybe all of us can tackle this problem together and fix it.

1 Like