Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

LSFT() keys such as KC_ASTR and KC_LPRN put the keyboard in a bad state if shift is held #391

Closed
ec1oud opened this issue Jun 9, 2016 · 6 comments

Comments

@ec1oud
Copy link

ec1oud commented Jun 9, 2016

I'm using Ergodox EZ. I have four such keys on my layout: KC_ASTR,KC_AMPR,KC_LPRN,KC_RPRN. If I actually hold the shift key when I press one of those keys, I get into a weird state where most typing is impossible (except that the U key sends =, for some reason) and I need to reset the keyboard (re-plug it).

What I would like instead is to be able to assign other keys/macros to the shifted state for those keys. The ultimate solution might be to treat the shift keys as a layer switch instead of sending shift, and then define what the shifted key will be on that layer. Is such a thing possible? And then we might need another definition which means shifted-transparent, KC_STRN or something like that, because in the shift-layer, most letter keys simply need to send shift-character when shift is held. Only a few keys need special handling of shift, so that a key could be KC_LPRN when shift is not held, and some sort of macro when shift is held. Whereas the "A" key would be defined as KC_A on the default layer and KC_STRN on the shift layer.

@eltang
Copy link
Contributor

eltang commented Jun 9, 2016

Most of what you want is already possible!

Change the IS_COMMAND() definition to a different condition or to 0 if you don't use the feature.

You can make a modifier key pop you into another layer every time it's pressed by defining it as ACTION_LAYER_MODS(layer, mods). I'm not sure I understand your description of KC_STRN.

@ezuk
Copy link
Contributor

ezuk commented Jun 16, 2016

@ec1oud did this help?

@sergei-dyshel
Copy link

sergei-dyshel commented Jul 10, 2016

I'm experiencing this problem. I have a layer (1) which maps number keys to their shifted state (!, @, # etc.). When I'm pressing those keys alone, everything works perfectly. But as soon as I press Shift+number (while still being in that layer), keyboard start behaving strangely and I need to replug it.

Any ideas?

@jackhumbert
Copy link
Member

It sounds like your keyboard's entering command mode, and changing the layer (shift + shift + number does this). You can disable command mode with COMMAND_ENABLE = no in your Makefile.

@sergei-dyshel
Copy link

It was exactly that! Thanks, Jack!

@ec1oud
Copy link
Author

ec1oud commented Jul 13, 2016

COMMAND_ENABLE = no in the Makefile: that works, thanks!

I didn't get around to trying the other suggestions yet.

BlueTufa pushed a commit to BlueTufa/qmk_firmware that referenced this issue Aug 6, 2021
* Add default keymap for C39

* Add default keymap for Cannonkeys Instant60

* Add default keymap for Cannonkeys Ortho48

* Add default keymap for Cannonkeys Practice60

* Add default keymap for Cannonkeys Practice65

* Add default keymap for Cannonkeys Satisfaction75 (prototype and rev1)

* Add default keymap for Canoe

* Add default keymap for Catch 22

* Add default keymap for Chimera Ergo

* Add default keymap for Chimera LS

* Add default keymap for Chimera Ortho

* Add default keymap for Christmas Tree (2017 revision)

* Add default keymap for Ckeys naKey

* Add default keymap for Ckeys Obelus

* Add default keymap for Claw44

* Add default keymap for Comet46

* Add default keymap for Contra

* Add default keymap for ADB-USB Converter

* Add default keymap for HP 46010A Converter

* Add default keymap for IBM 5291 converter

* Add default keymap for IBM Terminal converter

* Add default keymap for Apple M0110 USB converter

* Add default keymap for Apple Numeric Keypad IIe converter

* Add default keymap for Palm USB Stowaway converter

* Add default keymap for Sun Type 3 USB converter

* Add default keymap for Sun Type 5 USB converter

* Add default keymap for USB-to-USB converter (BLE, Hasu and Pro Micro variants)

* Add default keymap for XT USB converter

* Add default keymap for Cospad

* Add default keymap for CU24

* Add default keymap for CU75

* Add default keymap for IBM Model M 101 converter

* Add default keymap for coseyfannitutti Mullet

* Add default keymap for coseyfannitutti Mulletpad

* Remove Cannonkeys Satisfaction75 default keymaps

Configurator can't compile Satisfaction75 for reasons above my skill level.
jiaxin96 pushed a commit to Oh-My-Mechanical-Keyboard/qmk_firmware that referenced this issue Oct 18, 2023
drashna added a commit to drashna/qmk_firmware that referenced this issue Jul 5, 2024
* fix: Change webhid_leds variable declaration location

* fix: various oryx issues

* Also fix aliases

* Fix test case in alias

* Add additional define

* Cleanup workflow

* fix more
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants