[Bug] Shortcuts don't work with Cyrillic keyboard layout
planned
V
Vladyslav Silchuk
I often switch between English and Ukrainian languages while writing notes, so it's a bit of a problem for me :)
Log In
michael_v_h
Merged in a post:
Hotkeys not working with non-English layout
O
Oleksandr Ponomarenko
Capacities hotkeys not working when using non-English keyboard layout. Looks like it registered a character instead of a physical key. So pressing Ctrl+K (Ctrl+Л in Ukrainian) triggers Chrome Search, instead of Capacities Search. Ctrl+A (Ctrl+Ф) works for the line you edit (because it is Electron native hotkey), but does not work properly for selecting all blocks, for instance. So it is impossible to work and modify text, because any command for Bold, Italic, Undo/Redo, or Select All not working properly. Only Capacities has this issue from all the apps I use, making it a very inconvenient experience and hard to stick to on a daily basic. Please take a look at this issue. Thank you for your time!
L
Literary Note
Yes, please, to respect users with Cyrillic keyboard, which you definitely have and will have more of them :)
I think all you need is to use
KeyboardEvent:code
instead of KeyboardEvent:key
. They code
one would be more relevant considering users with non-Latin keyboards. Thanks in advance, looking forward for this!
Y
Yurii Piskun
It's a big UX problem... Very annoying.
i'm sure it's complicated to implement, BUT why other apps (for ex. Notion) works perfectly? 🤔 So there is a solution, Capacities just need to apply it as others did.
V
Vladyslav Silchuk
Yurii Piskun I think it just boiled down to the fact that there were too many shortcuts to refactor, and only a few users (mostly me) complained about it, so the team saw no point in spending time on it for now.
It's a pity (I've been waiting for a fix for two years), but I still hope they will find the resources in the future. Even with this problem, Capacities has become my go-to app.
P.S. Glad to see you here! I was a big fan of your plugins when I was using LogSeq!
Steffen Bleher
planned
F
Fëdor Tarasenko
Update: most of the shortcuts work fine, although some of them still doesn't. The one that's the most annoying to not work is ⌘ ⌃ L
V
Vladyslav Silchuk
Fëdor Tarasenko On Windows, still nothing works.
A
Andrei Kalmykov
Any progress?
V
Vladyslav Silchuk
Almost 1.5 years from reporting it, any plans to address this bug in future releases? I am considering coming back and renewing my subscription on Capacities, but not being able to write and use the app comfortably in my native language is the only thing stopping me.
michael_v_h
Vladyslav Silchuk: Looking into this again. This will always be a dilemma, there is no perfect solution because it leads to problems either way. Is there any way to produce the letter "z" with the Cyrillic keyboard? A solution might be to add a checkbox to the settings on whether to use event.code or event.key. But that would still be a substantial refactoring project.
This article here summarizes it quite well: https://javascript.info/keyboard-events#:~:text=the%20right%20side.-,The%20event.,Cmd%2BZ%20for%20Mac).
V
Vladyslav Silchuk
michael_v_h Wow, thanks for the article, I didn't realize it was such a dilemma! Didn't expect the catch with German Y/Z, I thought all Latin keyboard layouts are the same :) That explains why you choose event.key.
So in Cyrillic based languages there's no such character as "z" (phonetically the same sound is represented by "з"), and physically on the place of key is character "я" (https://keyshorts.com/blogs/blog/44712961-how-to-identify-laptop-keyboard-localization#ukrainian). So currently when I press Ctrl+Z, Capacities registers it as Ctrl+Я, and obviously nothing happens. For me it should register as Ctrl+Z no matter which language I use, English or Ukrainian, that's how it works throughout the system. So it should clearly be event.code in this case, because when I'm typing in Ukrainian, I still use English-based shortcuts and care about the physical key.
Adding a checkbox is definitely a solution, but not very convenient - no other app I know has this kind of setting, and it'll probably confuse usual non-technical user. So maybe solution can be detecting user input layout, and for latin family (English, German, France, etc) - use event.key, for non latin-based (cyrillic, arabic, logographic, etc.) - use event.code.
I understand that it requires some thinking and refactoring anyway, and more importantly - time. But I think that the more Capacities grows - the more it becomes a problem for people from other countries - they just don't report it and stop using Capacities at some point because of frustration, like I did couple of times, despite my love to Capacities.
V
Vladyslav Silchuk
michael_v_h Sorry for bothering you, any progress on this issue?
Steffen Bleher it seems you have an Electron desktop app. I also have the same issue and I believe the bug may be caused due to the usage of event.key, rather than event.code. One is used to get the
character
produced by the key, while the other returns a representation of the actual physical key
. The latter is much better for implementing shortcut keys.O
Oleksandr Ponomarenko
Steffen Bleher I also have this issue, from this comment looks like it's very easy to fix?
Steffen Bleher
in progress
V
Vladyslav Silchuk
Hi, Steffen Bleher! Really sorry for mentioning you, but any chance you can look into it? I'm trying to introduce Capacities to my girlfriend, and for her (and sometimes for me), the app is almost unusable for writing in our native language. Even simple shortcuts like Ctrl+C/V or Ctrl+Z not working. Capacities is the only app with this issue that doesn't support shortcuts with Cyrillic keyboard layout.
I will be very grateful if you can fix this.
Lower priority, but also related: https://capacities.io/feedback/p/bug-text-statistic-doent-count-cyrillic-words
Steffen Bleher
Vladyslav Silchuk: Thanks for sharing. We'll look into it.
Load More
→