hluk/CopyQ

Shortcut Ctrl+` not working when launching CopyQ with Czech keyboard on Windows

Open

#1,323 opened on Feb 29, 2020

View on GitHub
 (32 comments) (0 reactions) (0 assignees)C++ (419 forks)batch import
Windowsbughelp wanted

Repository metrics

Stars
 (7,372 stars)
PR merge metrics
 (Avg merge 17h 35m) (13 merged PRs in 30d)

Description

UPDATE: Parts which turned out to be probably irrelevant, were either removed or striked-through. And new findings were added.

Describe the bug If I set a global keyboard shortcut Ctrl+` for a command, it doesn't get mapped (i. e. it doesn't do anything) after Windows/CopyQ restarts when Czech keyboard layout is active. But when I use a shortcut like Ctrl+Alt+B, there is no problem.

Workaround (how to avoid the problem)

  1. Always start Windows / CopyQ with English keyboard layout,
  2. don't forget to have English activated when assigning the Ctrl+` shortcut. or when saving the CopyQ preferences. And "English" can be possibly exchanged for any other keyboard layout preferred by a user.

To Reproduce Steps to reproduce the behavior:

  1. Go to the CopyQ's preferences window, switch to the Shortcuts tab.

  2. Assign shortcut Ctrl+` to the Show/hide main window command, while having English keyboard layout active.

  3. Close the window.

  4. Press the shortcut (this means: pressing the same physical keys as above) - the CopyQ's window appears = correct.

  5. Switch to a different keyboard layout - from English to Czech in our case.

  6. Press the shortcut - the CopyQ's window disappears = correct.

  7. Log off from Windows and log in again. UPDATE: It is enough just to quit CopyQ and start it again while Czech keyboard layout is active.

  8. Press the shortcut - the CopyQ's window doesn't appear = BUG. Expected behavior Any shortcut assigned to a command should work at any moment, including the moment after CopyQ is restarted while whatever keyboard layout is active.

Screenshots n/a

Version, OS and Environment

  • Application Version [3.10.0] or newer
  • OS [Windows 10] (with Czech locale)

Additional context and findings There is also a historical bug #427 that coped with keyboard shortcuts and which might be related to this one.

For example Visual Studio Code handles the Ctrl+` shortcut correctly:

  • with English layout, it shows (and maps to) Ctrl+`
  • with Czech layout, it shows (and maps to) Ctrl+;

When pressing Ctrl+` in CopyQ's popup for assigning shortcut with Czech layout activated, CopyQ shows it thinks Ctrl+° was pressed, which seems incorrect and such shortcut, when saved, is not working in any scenario.

This is contrary to for example Czech's Ctrl+š (this is equivalent to pressing Ctrl+3 with English layout) - this gets correctly recognized and working when saved as a shortcut - and even when starting CopyQ with English layout active.

Contributor guide