Shift + Click not working

I’m probably using Chrysalis wrong here.

On my shiny new Model 100, holding down either of the two shift keys (currently mapped to the innermost of the four thumb keys on both sides) and clicking with the mouse does not do what I would expect.

For example, if I’m editing text then if I use my laptop keyboard I can select from where the text caret currently is up to where the mouse cursor is hovering by holding down shift and clicking. If I try this with the Model 100 it appears to ignore the shift key and just move the text caret.

What am I doing wrong?

2 Likes

After a little investigation (with something like: https://codepen.io/QDeltaE/pen/PjXWZr) it appears that applications do not receive a ‘key down’ event until after I release the shift key. For other modifiers (f.e. Ctrl, Alt) this is not the case, but for the Shift key both the ‘key down’ and ‘key up’ events only seem to be delivered when the key is released. I appreciate that that’s a pretty high level explanation of what’s happening, but it might be relevant.

Still not sure how to fix the Shift + Click issue.

I’ve worked around this by mapping both of my physical Shift keys to the right-hand shift key with the shift modifier applied.

This solves my problem with Shift + Click, but it feels like a bit of an ugly hack.

Did you perhaps turned on the SpaceCadet shift feature in Preferences / My Keyboard, by any chance?

I didn’t (deliberately) turn it on, but it is currently ‘on’.

Turning it off has indeed solved it. Thank you!

1 Like

I don’t recall switching SpaceCadet on either, but it is on. Is it possible to have both SpaceCadet and Shift+Click?

SpaceCadet does time out, so if you hold shift down long enough (the default is 200ms), the shift will activate and shift + click will work. There is also a “no delay” mode for SpaceCadet, which will activate shift immediately when the key toggles on, but if it’s released before the timeout, the shift will turn off and the “tap” value for the key will be used. Both of these things are configurable in Kaleidoscope, but not (I think) in Chrysalis.

The timeout is configurable in Chrysalis, the no-delay mode currently isn’t - mostly because I failed to come up with a reasonably simple UI for presenting the option.