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

T deck: support keyboard, trackball and touchscreen #2665

Merged
merged 35 commits into from
Jul 30, 2023
Merged

T deck: support keyboard, trackball and touchscreen #2665

merged 35 commits into from
Jul 30, 2023

Conversation

mverch67
Copy link
Collaborator

@mverch67 mverch67 commented Jul 28, 2023

  • the touchscreen base class implements the events swipe up/down/left/right tap/double-tap/long press
  • the touchscreen impl class hooks the getTouch callback from the TFT display driver into and translates the touch events to cardkb input events (long press maps to CANCEL)
  • the trackballInterruptBase class is copied from the up/downInterrupt class and extended by the left/right INTs of the trackball
  • the keyboard does not require special routines, just hook the I2C address into the various places in the code and let cardkb/cannedMessageModule do the work
  • the screen class has been extended to accept inputEvents and handlers for showPrev/NextFrame
  • CannedMessageModule has been enhanced for larger displays and destination selection is now also possible in canned mode
  • trivia: alt-b toggles the keyboard backlight

Note: as usual all commits from last week (which are already merged into firmware:master) are included in this PR (again and again and again). This is not intended and seems to be a github bug!?

@github-actions
Copy link
Contributor

github-actions bot commented Jul 28, 2023

🤖 Pull request artifacts

file commit
pr2665-firmware-2.1.21.308cc6d.zip 308cc6d

thebentern added a commit to meshtastic/artifacts that referenced this pull request Jul 28, 2023
@caveman99
Copy link
Member

Looks excellent to me.

You can ignore the log lines, it fill find what is already available on merge and skip the rest. Merging to Master is also cleaner logged with a rebase, so unless it tells you it can not rebase, use this one for merges ;-)

@mverch67 mverch67 marked this pull request as ready for review July 29, 2023 13:19
@mverch67 mverch67 requested a review from thebentern July 29, 2023 13:19
thebentern added a commit to meshtastic/artifacts that referenced this pull request Jul 29, 2023
@mverch67 mverch67 marked this pull request as draft July 29, 2023 15:19
thebentern added a commit to meshtastic/artifacts that referenced this pull request Jul 29, 2023
@mverch67 mverch67 marked this pull request as ready for review July 29, 2023 15:48
thebentern added a commit to meshtastic/artifacts that referenced this pull request Jul 29, 2023
@mverch67
Copy link
Collaborator Author

mverch67 commented Jul 30, 2023

I just did some fine-tuning regarding sensitivity and accuracy and now it detects the touch actions really really(!) well without so many accidental taps when swiping or single tap when double-tapping. Also the swipe detection is now configurable to some extent (via variants.h) for individual devices.

@mverch67
Copy link
Collaborator Author

mverch67 commented Jul 30, 2023

And during all my testing it happened 100 times that I accidentally did send out a canned message with an accidental tap while swiping. Now I chose to use double-tap for sending and now it's (almost) impossible to accidentally send out a wrong message.
As a consequence the screen does not react to single tap (e.g. when it's black / power off) but only to swipe and double-tap. We would need an additional e.g. "ALT_SELECT" in mesh.proto to make use of single tap event.

@thebentern thebentern merged commit 502a659 into master Jul 30, 2023
54 checks passed
@caveman99 caveman99 deleted the t-deck branch August 6, 2023 18:54
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.

3 participants