Dual-role key implementation for hexon38#4709
Conversation
drashna
left a comment
There was a problem hiding this comment.
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 |
drashna
left a comment
There was a problem hiding this comment.
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. |
|
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 isshiftwhen held,fwhen tapped.k106(index finger in these gifs) is a single-rolegkey.Scenario 1:
k105downk105upfdownfupScenario 2:
k105downk106downk105upfdowngdownfupk106upgupScenario 3:
k105downk106downk106upshiftdowngdowngupk105upshiftupTypes of changes