Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Conversation

@brad112358
Copy link

Rotary encoder INPUT_BROKER_SELECT_LONG events were not being generated on long press of the encoder select switch. Thus, upper case characters could not be entered in "Free Text" messages via the encoder.

The root cause was RotaryEncoderInterruptBase::runOnce() only being called once after RotaryEncoderInterruptBase::intPressHandler() because it always returned INT32_MAX.

The easy fix is to return 20 if the press is still detected and LONG_PRESS_DURATION has not passed.

🤝 Attestations

  • [ X] I have tested that my proposed changes behave as described.
  • [ X] I have tested that my proposed changes do not cause any obvious regressions on the following devices:
    • Heltec (Lora32) V3
    • LilyGo T-Deck
    • LilyGo T-Beam
    • RAK WisBlock 4631
    • Seeed Studio T-1000E tracker card
    • Other (please specify below)
      Tested on DIY NRF52 Promicro E22 board

@brad112358 brad112358 changed the base branch from develop to master December 22, 2025 00:25
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

Successfully merging this pull request may close these issues.

1 participant

Morty Proxy This is a proxified and sanitized view of the page, visit original site.