arduino / arduino-ide

Arduino IDE 2.x
https://www.arduino.cc/en/software
GNU Affero General Public License v3.0
2.34k stars 398 forks source link

Shortcuts don't work with non-English keyboard layouts #2490

Closed linuxni closed 3 months ago

linuxni commented 3 months ago

Describe the request

Depending on the keyboard language used when Arduino IDE is running, shortcut keys may not work.

Describe the current behavior

Arduino IDE Shortcut Key Problem:

Core issue: The functionality of shortcut keys within the Arduino IDE is determined by the keyboard layout state when the IDE is launched. Specific scenarios: a) Normal operation case:

When Arduino IDE is launched while Mac OS keyboard layout is set to English Result: Shortcut keys (e.g., CMD + C, CMD + V, etc.) work normally

b) Problem case:

When Arduino IDE is launched while Mac OS keyboard layout is set to a non-English language (e.g., Korean) Result: Shortcut keys do not function

Notable points:

Changing the keyboard layout after launching the IDE does not resolve the issue The problem occurs regardless of the IDE's language setting (English/Korean)

Presumed cause: It appears that the Arduino IDE sets its shortcut keys based on the keyboard layout at the time of launch and fails to recognize subsequent changes. 스크린샷 2024-08-13 21 39 30 스크린샷 2024-08-13 21 39 48

Arduino IDE version

2.3.2

Operating system

macOS

Operating system version

15.0

Additional context


Keywords

- "keybinding" - "key binding" - "hotkey" - "hot key" - "accelerator" - "key combination" - "key sequence" - "key chord" - "shortcut key"

Issue checklist

per1234 commented 3 months ago

Hi @linuxni. Thanks for taking the time to submit an issue.

I see we have another report about this at https://github.com/arduino/arduino-ide/issues/2263.

It is best to have only a single issue per subject so we can consolidate all relevant discussion to one place, so I'll go ahead and close this in favor of the other.

If you end up with additional information to share, feel free to comment in the other thread.