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
Dual-role key implementation for hexon38 #4709
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Since this seems to be a personal/handwired board, could you move this to /keyboards/handwired
?
You've opened this pull request from your fork's There are instructions on how to keep your master updated here: Best Practices: Your fork's master: Update Often, Commit Never If you need any help with this just ask. You do not need to close this PR. Further changes should still be pushed to your master branch, until this PR is merged. |
Thank you so much for all of the help and feedback! I'll update the PR and submit a new commit. This is such a great project 👍 |
Ok, this should be ready for a re-review now @drashna |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also, could you rename the readme file to be all lowercase?
This is to prevent cross-platform issues since some OS's are not great about handling this.
OMG! I love how you added videos to show how things work!! |
Thanks @mechmerlin ! @drashna thanks for the additional feedback -- I've updated the PR. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
looks good
Thanks! |
* master: (759 commits) [Keyboard] Add cKeys Handwire 101 Keyboard (qmk#4848) [Keyboard] Iris via support, Rev 3 updates (qmk#4849) [Keyboard] Add bthlabs/geekpad (qmk#4840) [Keymap] Added resfury keymap (qmk#4827) Pointed LM Docs at expected keycodes (qmk#4835) Add personal userspace, update keymaps (qmk#4845) [Keyboard] Add support for THE50 (qmk#4844) Change handling of CUSTOM_MATRIX in common_features.mk slightly. Modified URLs to point to new locations [Keymap] Nyquist layout adapted from eorgodox_ez:skug (qmk#4830) [Keymap] Adds keymaps for muzfuz DZ60, Planck, Clueboard66 (qmk#4825) Changed rest note (qmk#4837) [Keymap] Add tw1t611 german keyboard layout for minidox. (qmk#4679) [Keyboard] hexon38 and Dual-role key implementation (qmk#4709) [Keymap] my keymap for the crkbd and update my iris keymap readme (qmk#4788) [Keymap] Update to personal keymaps and userspace (qmk#4831) [Keyboard] Fix layout macro name for Gergo info.json (qmk#4828) Remove empty action_function() Remove empty fn_actions[] [Keyboard] Adding support for Gergo (qmk#4792) ...
* initial dual-role key implementation for hexon38 * PR feedback, adding README * Moving to handwired subdir * Additional PR feedback
* initial dual-role key implementation for hexon38 * PR feedback, adding README * Moving to handwired subdir * Additional PR feedback
@cellularmitosis very interesting work! One quick question, will two mods pressed at the same time works as well? For example, ctrl+shift (as using dual-role keys 'L' and ';') and tab (as key combo 'Q'+'W'). So holding 'L' and ';', while pressing and releasing 'Q'+'W', then releasing "L" and ";" (might not at the exact same time). |
This PR includes an initial layout for hexon38, a custom keyboard I've been working on.
Additionally, this PR includes an alternate implementation for handling
MT()
keys which does not rely on timeouts, etc. It appears to work.I'd be very interested in feedback with regard to this implementation. I'm very new to the internals of QMK, so I'm not sure how easily it could be integrated for others to use (it currently exists in "user space", i.e.
process_record_user()
). Also, because I'm inexperienced, there may be ways of leveraging QMK functions to simplify my implementation, etc.Cheers!
Here are a few gifs of some scenarios:
Setup:
k105
(ring finger in these gifs) is a dual-role key which isshift
when held,f
when tapped.k106
(index finger in these gifs) is a single-roleg
key.Scenario 1:
k105
downk105
upf
downf
upScenario 2:
k105
downk106
downk105
upf
downg
downf
upk106
upg
upScenario 3:
k105
downk106
downk106
upshift
downg
downg
upk105
upshift
upTypes of changes