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.
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