Skip to content

Conversation

@azzamsa
Copy link

@azzamsa azzamsa commented Nov 23, 2025

Description

Add support for Cheapino

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

  • None

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

@azzamsa azzamsa force-pushed the add-cheapino-to-upstream branch from 7480ed0 to 6f9cb69 Compare November 23, 2025 01:09
@azzamsa azzamsa marked this pull request as ready for review November 23, 2025 01:10
@azzamsa azzamsa force-pushed the add-cheapino-to-upstream branch from 6f9cb69 to 6714833 Compare November 23, 2025 01:15
@zvecr zvecr added the invalid label Nov 23, 2025
@azzamsa azzamsa force-pushed the add-cheapino-to-upstream branch 7 times, most recently from f606211 to 582d5d6 Compare November 24, 2025 02:55
@azzamsa azzamsa force-pushed the add-cheapino-to-upstream branch from 582d5d6 to 0c6371d Compare November 24, 2025 03:01
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there a specific reason that the MATRIX_HAS_GHOST isn't being used in favor of this custom code?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

please update the pin functions to use the standard gpio function names:
https://docs.qmk.fm/drivers/gpio

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Probably could use the standard encoder feature here, but with the custom driver.

The ploopy devices have an example of this, but basically....
The press should be handled as a normal position in the matrix (and appears to be wired as such... so hard coding the behavior here is ... wrong).

And mostly, just need an encoder_driver_task function to run the encoder logic, and call encoder_queue_event(index, clockwise) based on behavior (eg, call peek matrix, and handle based on that)

Comment on lines +40 to +42

// Pick good defaults for enabling homerow modifiers
#define TAPPING_TERM 230
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is a user setting and should be left there.

Suggested change
// Pick good defaults for enabling homerow modifiers
#define TAPPING_TERM 230

#define WS2812_DI_PIN GP16 // The pin connected to the data pin of the LEDs
#define RGBLIGHT_LED_COUNT 1 // The number of LEDs connected

#define MAX_DEFERRED_EXECUTORS 32
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

default is 8, and you're only using 1 here.

Suggested change
#define MAX_DEFERRED_EXECUTORS 32

Worst case, if you're concerned about this, you can use a custom table for the executors for the kb stuff.

Comment on lines +51 to +54
#define RGBLIGHT_DEFAULT_HUE 128 // Sets the default hue value, if none has been set
#define RGBLIGHT_DEFAULT_SAT 128 // Sets the default saturation value, if none has been set
#define RGBLIGHT_DEFAULT_VAL \
32 // Sets the default brightness value, if none has been set
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can be moved to json (qmk migrate or qmk info -kb (name) -f json can help with that)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants