Skip to content

The saving of self-calibration data to the EEPROM has been disabled, … - #473

Open
javisnbz wants to merge 1 commit into
Keychron:2025q3from
javisnbz:2025q3
Open

The saving of self-calibration data to the EEPROM has been disabled, …#473
javisnbz wants to merge 1 commit into
Keychron:2025q3from
javisnbz:2025q3

Conversation

@javisnbz

@javisnbz javisnbz commented Jun 4, 2026

Copy link
Copy Markdown

Description

The auto-calibration function ends up persistently writing data to the EEPROM, overwriting the data from the manual calibration done in Keychron Launcher. When manually calibrating in Keychron Launcher, the keys show a perfect travel between 0mm and 4mm, allowing customization of the actuation point to the desired millimeters (one of the advantages of using an HE keyboard). The problem is that with use, the auto-calibration replaces the manual calibration values, causing some keys to have a maximum travel of 1.8mm, others 3.0mm, etc., affecting typing and making it dependent on the auto-calibration in temporary RAM to "correct" this discrepancy.

I modified the firmware, preventing the auto_calibration_check function, which calls save_calibration_value, from persistently writing data. I'm using the modified firmware, and the keyboard doesn't show any problems since the manual calibration isn't affected. All the keys respond between 0mm and 4mm when turned on, and I can use any actuation point I want.

Types of Changes

  • Core
  • Bugfix
  • New feature
  • Enhancement/optimization
  • Keyboard (addition or update)
  • Keymap/layout (addition or update)
  • Documentation

Issues Fixed or Closed by This PR

  • With the modified firmware, the keyboard works perfectly and without errors. Ideally, the firmware should check for any existing manual calibration to avoid overwriting it.

Checklist

  • My code follows the code style of this project: C, Python
  • I have read the PR Checklist document and have made the appropriate changes.
  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.
  • I have read the CONTRIBUTING document.
  • I have added tests to cover my changes.
  • I have tested the changes and verified that they work and don't break anything (as well as I can manage).

…preventing it from replacing manual calibration data.

The saving of self-calibration data to the EEPROM has been disabled, preventing it from replacing manual calibration data.
@github-actions

Copy link
Copy Markdown

Thank you for your contribution!
This pull request has been automatically marked as stale because it has not had activity in the last 45 days. It will be closed in 30 days if no further activity occurs. Please feel free to give a status update now, or re-open when it's ready.
For maintainers: Please label with bug, awaiting review, breaking_change, in progress, or on hold to prevent the issue from being re-flagged.

@github-actions github-actions Bot added the stale label Jul 20, 2026
@javisnbz

javisnbz commented Aug 8, 2026

Copy link
Copy Markdown
Author

Any news? I have been using it modified since then, and the issues with the actuation distance have disappeared.

@github-actions github-actions Bot removed the stale label Aug 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant