Skip to content
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

Camunda Modeler Keyboard Shortcuts not working with non ENG keyboard layout #2724

Open
romanraspopov opened this issue Feb 2, 2022 · 11 comments · Fixed by bpmn-io/diagram-js#681
Labels
backlog Queued in backlog bug Something isn't working good first issue Good for newcomers spring cleaning Could be cleaned up one day ux

Comments

@romanraspopov
Copy link

romanraspopov commented Feb 2, 2022

Camunda Modeler keyboard shortcuts work fine when the keyboard layout is set to ENG.

image

Вut when I change keyboard layout to RUS, shortcuts stop working.
I have to switch the keyboard layout all the time or use menu Edit and select Undo, Redo and so on which is timewasting.
It would be great to fix it in order to help users save time.

UPD:
One-symbol shortcuts (like "H", "L" and others) work fine with any keyboard layout. Only composite shortcuts ("Ctrl + C", etc.) crash.
image

Expected Behavior

Keyboard shortcuts should work with any keyboard layout.

Environment

  • Version: 4.12.0
  • Operating System: Windows 10 amd64
  • Plugins:
  • Execution Platform: BPMN - Camunda Platform

Related to bpmn-io/diagram-js#928

@romanraspopov romanraspopov added the bug Something isn't working label Feb 2, 2022
@nikku nikku added the ux label Feb 16, 2022
@nikku
Copy link
Member

nikku commented Feb 16, 2022

Thanks for opening this bug.

I can see how annoying that is. How do other apps usually handle Russian keyboard layout? I.e. how does VSCode keyboard shortcuts change between English and Russian? Is it still the same button to be pressed (on the keyboard) or is it the same / similar key?

@nikku nikku added the help wanted Extra attention is needed label Feb 16, 2022
@romanraspopov
Copy link
Author

Thanks for reply!
I`ve checked VSCode, it handles Russian keyboard layout very well. All shortcuts work fine.

@marstamm marstamm added the backlog Queued in backlog label Feb 21, 2022
@kerlon5
Copy link
Contributor

kerlon5 commented Oct 23, 2022

@romanraspopov @nikku just cheked it on windows 10 and ubuntu 22.10 with russian keyboard - can't reproduce

@romanraspopov
Copy link
Author

romanraspopov commented Oct 23, 2022 via email

@kerlon5
Copy link
Contributor

kerlon5 commented Oct 25, 2022

double checked this on windows 10 with Russian as system language - issue confirmed. on windows 10 where Russian is only second input language this problem does not exist. @romanraspopov do you have Russian as system language?

@romanraspopov
Copy link
Author

romanraspopov commented Oct 25, 2022 via email

@kerlon5
Copy link
Contributor

kerlon5 commented Nov 16, 2022

@barmac I'm not sure that you can close this without merging #3264

@nikku nikku reopened this Nov 16, 2022
@nikku nikku added the needs review Review pending label Nov 17, 2022 — with bpmn-io-tasks
@barmac
Copy link
Collaborator

barmac commented Nov 17, 2022

I agree. This issue was in fact closed automatically due to this fragment in the linked PR:

fix https://github.com/camunda/camunda-modeler/issues/2724

@nikku nikku added spring cleaning Could be cleaned up one day good first issue Good for newcomers and removed help wanted Extra attention is needed needs review Review pending labels Nov 28, 2022
@nikku nikku added the backlog Queued in backlog label Nov 28, 2022 — with bpmn-io-tasks
@nikku
Copy link
Member

nikku commented Feb 14, 2023

@romanraspopov @kerlon5 As we investigate a fix, just to double check:

  • You are on Windows
  • You use a cyrillic keyboard layout
  • You expect which keys exactly to trigger undo / redo? These that bind to the physical KeyZ and KeyY?

@romanraspopov
Copy link
Author

romanraspopov commented Feb 15, 2023 via email

@nikku
Copy link
Member

nikku commented Feb 19, 2023

As we do it we need to ensure to not break existing keyboard layouts (i.e. German QWERTZ) with the addition of physical keys.

Physical keys must always be accounted for after actual keys, I think. If we want to go the alternative route we need to allow users to explicitly configure keyboard bindings (#2627). That is the route most editors (VSCode, ...) do to support non latin keyboards, i.e. Russian.

Alternatively we could attempt to detect keyboard layouts via Keyboard#getLayoutMap and conditionally enable physical keys.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backlog Queued in backlog bug Something isn't working good first issue Good for newcomers spring cleaning Could be cleaned up one day ux
Projects
None yet
5 participants