camunda / camunda-modeler

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

Keyboard shortcuts unavalible in non-QWERTY layout #4080

Open alexfeelow opened 10 months ago

alexfeelow commented 10 months ago

Describe the bug

Hello there. I can't use keyboard shortcuts like Ctrl + C, Ctrl + V, Ctrl + A on Windows (interesting that Ctrl + F is working) with Russian layout. It works in Cawemo (wich will be expired in april), but didn't work in Camunda Web Modeller, and such problem is in desktop version. I tried to download bpmn-js and run local on my side — the result is the same. Help me please to fix this problem.

Steps to reproduce

  1. Choose Russian layout
  2. Try to use Ctrl + C, Ctrl + V, Ctrl + A
  3. Shortcuts didnt work

Expected behavior

Keyboard shortcuts like Ctrl + C, Ctrl + V, Ctrl + A work with Russian layout

Environment

Additional context

No response

barmac commented 10 months ago

Hi, thanks for reporting. It seems that the keyboard shortcuts are quite a difficult topic to get right for multiple keyboard layouts (https://github.com/microsoft/vscode/issues/141761).

Besides the shortcuts you mentioned, does undo/redo (Ctrl+Z/Y) work for you? What are the expected keys that the shortcuts should fire on with Russian layout?

barmac commented 10 months ago

I assume we are discussing JCUKEN here:

image

https://en.wikipedia.org/wiki/JCUKEN

barmac commented 10 months ago

We used to stick to keycode to fire shortcuts for specific physical keys on the keyboard, but it doesn't work for each layout as users' expectations are different among languages (see the issue I linked).

alexfeelow commented 10 months ago

Hi, thanks for your reply.

On desktop version of Camunda 5.19 undo/redo is working correctly. There doesn't work only copy/paste. Hand tool (H), lasso tool and others work well.

In Сloud version of Modeler all these shortcuts are not working. After using the shortcut "Ctrl + F" starts standart function of finding in the browser.

Expected keys for copy/paste: in Russian layout key 'С' is the same as in english 'C'. in Russian layout key 'F' is 'А'

In cloud service Cawemo, which I consider belongs to Camunda corp. all hotkeys and shortcuts work correctly in all my layouts. After reciveing message about closing Cawemo, i tried to work in desktop app and in cloud. That's why i found such problems.

Best regards.

Чт, 1 февр. 2024 г. в 11:38, Maciej Barelkowski @.***>:

Hi, thanks for reporting. It seems that the keyboard shortcuts are quite a difficult topic to get right for multiple keyboard layouts ( microsoft/vscode#141761 https://github.com/microsoft/vscode/issues/141761).

Besides the shortcuts you mentioned, does undo/redo (Ctrl+Z/Y) work for you? What are the expected keys that the shortcuts should fire on with Russian layout?

— Reply to this email directly, view it on GitHub https://github.com/camunda/camunda-modeler/issues/4080#issuecomment-1920776925, or unsubscribe https://github.com/notifications/unsubscribe-auth/A3MMSQWDD6KM57MLFQUB4MDYRNIANAVCNFSM6AAAAABCMV23GKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMRQG43TMOJSGU . You are receiving this because you authored the thread.Message ID: @.***>

barmac commented 9 months ago

Thanks for clarification. So if I understood you correctly, the expected key locations are the same as for QWERTY layout users, but different keys are represented there in JCUKEN. Therefore, we could activate the shortcuts based on the location which can be detected via KeyboardEvent.code property.

alexfeelow commented 9 months ago

Thanks for your reply.

Yes, key locations are the same as for QWERTY layout. I think your offered solution will help.

Best regards

пт, 2 февр. 2024 г. в 13:58, Maciej Barelkowski @.***>:

Thanks for clarification. So if I understood you correctly, the expected key locations are the same as for QWERTY layout users, but different keys are represented there in JCUKEN. Therefore, we could activate the shortcuts based on the location which can be detected via KeyboardEvent.code property https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/code.

— Reply to this email directly, view it on GitHub https://github.com/camunda/camunda-modeler/issues/4080#issuecomment-1923567141, or unsubscribe https://github.com/notifications/unsubscribe-auth/A3MMSQRNTOFUFDROZ3XA6KTYRTBG7AVCNFSM6AAAAABCMV23GKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMRTGU3DOMJUGE . You are receiving this because you authored the thread.Message ID: @.***>

barmac commented 9 months ago

Thanks for collaboration. I am placing this in the backlog right now. This should be fixed in https://github.com/bpmn-io/bpmn-js

alexfeelow commented 9 months ago

Great news. Thank you. Will it be also fixed in next update of desktop version?

Пт, 2 февр. 2024 г. в 18:59, Maciej Barelkowski @.***>:

Thanks for collaboration. I am placing this in the backlog right now. This should be fixed in https://github.com/bpmn-io/bpmn-js

— Reply to this email directly, view it on GitHub https://github.com/camunda/camunda-modeler/issues/4080#issuecomment-1924161745, or unsubscribe https://github.com/notifications/unsubscribe-auth/A3MMSQXXIO5N6OJU2HB53DTYRUEM5AVCNFSM6AAAAABCMV23GKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMRUGE3DCNZUGU . You are receiving this because you authored the thread.Message ID: @.***>

barmac commented 9 months ago

I will take this to our iteration planning, but cannot tell any fixed date to make it work again.

alexfeelow commented 7 months ago

Good day! Tell me please, is there any information about the time when this issue will be fixed?

barmac commented 7 months ago

We don't have an estimation right now as the issue was moved to the backlog.