quicksilver / Quicksilver

Quicksilver Project Source
http://qsapp.com
Apache License 2.0
2.72k stars 283 forks source link

[Bug]: Ctrl-Space hotkey doesn't activate QS and non-hotkey activate QS v2.2.2 #2885

Closed NaokiMatsuzaki closed 2 years ago

NaokiMatsuzaki commented 2 years ago

Before submitting your bug report, please confirm you have completed the following steps

Bug description

I searched and found several closed issues on Ctrl-Space. But I couldn't find any open issue on the latest version. I set Ctrl-Space as a hotkey. When I use "ABC" layout, Ctrl-Space activate QS. But when I switch to "Dvorak" layout, Ctrl-Space doesn't activate QS. I assume that keyboard layouts are sane because when I set Ctrl-Space as a shortcut for Spotlight, it activates in both layouts.

I found that keys other than Space activate QS even if I don't set them as hotkeys. I use MacBookPro Japanese(JIS) keyboard. It has two keys for switching input sources. Japanese Eisuu key (a key between left-⌘ and space, labeled "英数"), keyCode: 102/0x66 Japanese Kana key (a key between right-⌘ and space, labeled "かな"), keyCode: 104/0x68 When I press these key with Ctrl key, QS is activated.

I run the following command in Terminal. Hotkey's keyCode is different from these keys.

❯ defaults read com.blacktree.Quicksilver QSActivationHotKey { character = " "; keyCode = 49; modifiers = 262401; }

Steps to reproduce

  1. Switch input source to "ABC" layout.
  2. Open QS and set Activation Shortcut to Ctrl-Space (shown as "⌃␣").
  3. Press Ctrl-Space and confirm that QS is activated(expected).
  4. Press Ctrl-Eisuu and confirm that QS is not activated(expected).
  5. Press Ctrl-Kana and confirm that QS is activated(not expected).
  6. Switch input source to "Dvorak" layout (Same behavior in "Dvorak - Qwerty ⌘" or "Colemak").
  7. Press Ctrl-Space and confirm that QS is not activated(not expected).
  8. Press Ctrl-Eisuu and confirm that QS is activated(not expected).
  9. Press Ctrl-Kana and confirm that QS is activated(not expected).

Expected behavior

QS is activated after pressing Ctrl-Space in both layouts. QS is not activated after pressing Ctrl-Eisuu or Ctrl-Kana in both layouts.

MacOS Version

macOS 12

Quicksilver Version

2.2.2(4036)

Relevant Plugins

No response

Crash Logs or Spindump

No response

Screenshots

No response

Additional info

For non-JIS keyboard, Eisuu / Kana keys are available via Karabiner-Elements.

pjrobertson commented 2 years ago

Thank you fr the very detailed bug report. I am unable to reproduce the issue, but have not tried using a JIS keyboard.

Before I do that - what happens if you enable the option in Quicksilver to always use a specific keyboard layout: Screen Region 2022-06-08 at 22 53 31

NaokiMatsuzaki commented 2 years ago

Thank you for your reply. First I enabled the option and set it to switch "ABC". Next I set it "Dvorak". In each case the behavior of hotkeys was the same as my previous post. Once QS is activated, input source was switched to the corresponding layout properly.

I noticed that the behavior of hotkeys depends on the keyboard type of System Preferences. I connected BlueTooth wireless keyboards and tapped System Preferences > Keyboard > Change Keyboard Type and opened Keyboard Setup Assistant. Then I selected keyboard type in Select Keyboard Type menu. This menu seems unavailable to built-in keyboard. When I selected ANSI or ISO type, wireless keyboards' hotkey worked in both "ABC" and "Dvorak". When I selected JIS type, it didn't work in "Dvorak". I checked only Ctrl-Space key this time. MBP built-in JIS keyboard's behavior didn't change in all cases.

JIS keyboard + JIS type: didn't work in "Dvorak" ANSI keybard + JIS type: didn't work in "Dvorak" JIS keyboard + ANSI or ISO type: worked in both layouts ANSI keyboard + ANSI or ISO type: worked in both layouts

pjrobertson commented 2 years ago

Thank you for the update, @NaokiMatsuzaki .

I am trying to understand the issue, and have enabled the JIS keyboard for me. Here is what I see: Screen Region 2022-06-10 at 21 42 39

I do not see a Ctrl key on this keyboard layout. Can you please either link to an actual image of the keyboard you use, or let me know which key (highlight it in the image) when you say the 'Ctrl' key.

I am confident we will be able to fix this soon!

NaokiMatsuzaki commented 2 years ago

Thank you for your help. When I say "Ctrl" key, it means the left Control (⌃) key between Tab (⇥) and left Shift (⇧) key. Its position is swapped with Caps Lock (⇪) key. dvorak

pjrobertson commented 2 years ago

I see, thank you for confirming.

I'm pleased to say that this issue should now be fixed, and will be out in the next release of Quicksilver soon. You can, however, confirm this has been fixed by downloading the Quicksilver-debug version from here and testing it: https://github.com/quicksilver/Quicksilver/actions/runs/2478332286

This was a very interesting problem to solve! Thank you again for your clear descriptions and responses. ありがとう