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

tuning latency / debouncing for CTL_T #142

Closed
wez opened this issue Feb 15, 2016 · 9 comments
Closed

tuning latency / debouncing for CTL_T #142

wez opened this issue Feb 15, 2016 · 9 comments

Comments

@wez
Copy link
Contributor

wez commented Feb 15, 2016

Prior to getting a hardware keyboard and programming it, I was using Karabiner to turn my capslock key into CTL_T(KC_ESC). This worked really well. Since I switched to a hardware implementation of this, I'm finding that I'm typing too fast for the firmware to register CTRL-W arrow (that's a CTRL-W followed by an arrow) which I use to navigate around in splits in vim.

I turned up debugging on the console and captured these two sequences to show what the keyboard is sending to the host system:

keyboard_report: 00 00 29 00 00 00 00 00 00 00 00 00 00 00 00 00
keyboard_report: 00 00 29 1A 00 00 00 00 00 00 00 00 00 00 00 00
keyboard_report: 00 00 29 00 00 00 00 00 00 00 00 00 00 00 00 00
keyboard_report: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
keyboard_report: 00 00 51 00 00 00 00 00 00 00 00 00 00 00 00 00
keyboard_report: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<that failed>


keyboard_report: 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
keyboard_report: 01 00 1A 00 00 00 00 00 00 00 00 00 00 00 00 00
keyboard_report: 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
keyboard_report: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
keyboard_report: 00 00 51 00 00 00 00 00 00 00 00 00 00 00 00 00
keyboard_report: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<that worked>

The first one of these is me typing at my normal speed, and the second is me introducing what feels like a very exaggerated delay in my typing.

I think that my ESC press is getting debounced out? I quite often end up with W being sent bare (no CTRL) or sometimes as just ESC.

The question is, what parameters are available to tune the timing around this?

@wez
Copy link
Contributor Author

wez commented Feb 15, 2016

I've traced this to the ergodox_ez IGNORE_MOD_TAP_INTERRUPT define. Removing it solves this particular problem... checking to see if it causes me any others :-)

@ezuk
Copy link
Contributor

ezuk commented Feb 16, 2016

Nice! How's it been so far?

@wez
Copy link
Contributor Author

wez commented Feb 17, 2016

Working well for me! I have a reasonable fix in my branch (see referenced commit above) but it depends on #151

@ezuk
Copy link
Contributor

ezuk commented Feb 24, 2016

@wez - I see that hasn't been submitted as a pull request here? Or am I missing something?

@wez
Copy link
Contributor Author

wez commented Feb 24, 2016

I have a couple of things in my branch that I'd like to get merged here before I submit a PR for this one thing; didn't want to bomb you all with everything at once, and it is easier to submit them as bits are accepted :-)

@ezuk
Copy link
Contributor

ezuk commented Feb 25, 2016

Makes sense! :)

On 23 February 2016 at 21:40, Wez Furlong notifications@github.com wrote:

I have a couple of things in my branch that I'd like to get merged here
before I submit a PR for this one thing; didn't want to bomb you all with
everything at once, and it is easier to submit them as bits are accepted :-)


Reply to this email directly or view it on GitHub
#142 (comment)
.

@piotr-dobrogost
Copy link

@wez
Do you still plan to submit PR for this issue?

@piotr-dobrogost
Copy link

From #366 (comment):

But I can tell you that #142 was never made into a PR, so the change isn't reflected in the keymap settings. Would you like to try playing with that constant yourself and seeing if it helps? Are you all set up with a build env?

I will try it out and report here. Build env shouldn't be a problem.
Is dual-role implementation part of tmk or did you implement it in qmk directly? What's the policy regarding bringing code from tmk project?

@eltang
Copy link
Contributor

eltang commented Jun 1, 2016

@piotr-dobrogost @ezuk As far as I know, the ErgoDox EZ's default layout needs the feature, or people will start activating Ctrl unintentionally while trying to type the Z key or the / key. The ErgoDox EZ's config.h file documents this pretty clearly.

@piotr-dobrogost However, you can use a config_user.h file, which is described here, to override the setting. Dual-role keys were grandfathered from TMK. What feature would you like to port to QMK?

@ezuk ezuk closed this as completed Jul 24, 2016
BlueTufa pushed a commit to BlueTufa/qmk_firmware that referenced this issue Aug 6, 2021
GerardoNevarez pushed a commit to GerardoNevarez/qmk_firmware that referenced this issue Apr 27, 2022
* Arisu, prime_e, ymd75 vial support

* looks better like this

Co-authored-by: Zhol Internet <zhol@internet.keyboard>
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

4 participants