hluk/CopyQ

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

Open

#1,323 建立於 2020年2月29日

在 GitHub 查看
 (32 留言) (0 反應) (0 負責人)C++ (419 fork)batch import
Windowsbughelp wanted

倉庫指標

Star
 (7,372 star)
PR 合併指標
 (平均合併 17小時 35分鐘) (30 天內合併 13 個 PR)

描述

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.

貢獻者指南