camunda / camunda-modeler

An integrated modeling solution for BPMN, DMN and Forms based on bpmn.io.
https://camunda.com/products/modeler
MIT License
1.49k stars 479 forks source link

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

Open romanraspopov opened 2 years ago

romanraspopov commented 2 years ago

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


Related to https://github.com/bpmn-io/diagram-js/issues/928

nikku commented 2 years ago

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?

romanraspopov commented 2 years ago

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

kerlon5 commented 1 year ago

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

romanraspopov commented 1 year ago

Ive just updated the version to 5.4.2 and checked it on Windows 10. The bug remains. I cant use Ctrl+C and Ctrl+V keyboard shortcuts when the Russian layout is set. I have to switch to English.

вс, 23 окт. 2022 г. в 15:40, Victor Naumov @.***>:

@romanraspopov https://github.com/romanraspopov @nikku https://github.com/nikku just cheked it on windows 10 and ubuntu 22.10 with russian keyboard - can't reproduce

— Reply to this email directly, view it on GitHub https://github.com/camunda/camunda-modeler/issues/2724#issuecomment-1288103851, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABCP7CZBGQATJGZYPRHPBADWEUW3DANCNFSM5NLYSSLA . You are receiving this because you were mentioned.Message ID: @.***>

kerlon5 commented 1 year ago

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 commented 1 year ago

Yes, Russian is set as system language (default). I can use only menu Copy/Cut/Paste commands when Russian layout is set. Keyboard shortcuts Ctrl+C, Ctrl+X and Ctrl+V don`t work. However the other shortcuts (Ctrl+Z, Ctrl+Y, H, L, S, etc.) work fine.

вт, 25 окт. 2022 г. в 10:46, Victor Naumov @.***>:

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 https://github.com/romanraspopov do you have Russian as system language?

— Reply to this email directly, view it on GitHub https://github.com/camunda/camunda-modeler/issues/2724#issuecomment-1290131947, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABCP7C2QAS665WA4DEUGR73WE6F6RANCNFSM5NLYSSLA . You are receiving this because you were mentioned.Message ID: @.***>

kerlon5 commented 1 year ago

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

barmac commented 1 year ago

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 commented 1 year ago

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

romanraspopov commented 1 year ago

Looks like I`ve got some software conflict on my laptop. There is nothing to do with camunda, the problem is on my side.

вт, 14 февр. 2023 г. в 20:18, Nico Rehwaldt @.***>:

@romanraspopov https://github.com/romanraspopov @kerlon5 https://github.com/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?

— Reply to this email directly, view it on GitHub https://github.com/camunda/camunda-modeler/issues/2724#issuecomment-1430103433, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABCP7C24LBJPURWJNE3KTDLWXO45ZANCNFSM5NLYSSLA . You are receiving this because you were mentioned.Message ID: @.***>

nikku commented 1 year ago

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 (https://github.com/camunda/camunda-modeler/issues/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.