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

[Keyboard] add kbd0 Curve0 60 ANSI #24609

Merged
merged 4 commits into from
Dec 4, 2024
Merged

[Keyboard] add kbd0 Curve0 60 ANSI #24609

merged 4 commits into from
Dec 4, 2024

Conversation

kbd0
Copy link
Contributor

@kbd0 kbd0 commented Nov 16, 2024

Adding a keyboard

Description

Adding the Curve0 60 ANSI keyboard

Types of Changes

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

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

keyboards/kbd0/curve0/60_ansi/keyboard.json Outdated Show resolved Hide resolved
keyboards/kbd0/curve0/60_ansi/readme.md Outdated Show resolved Hide resolved
keyboards/kbd0/curve0/60_ansi/keymaps/default/keymap.json Outdated Show resolved Hide resolved
@waffle87 waffle87 requested a review from a team November 16, 2024 20:17
@dunk2k
Copy link
Contributor

dunk2k commented Nov 17, 2024

Based on reference image:

  1. Could layout information for this keyboard be altered to conform to PR Checklist regarding keyboards/PCBs with multiple layout options. (i.e. LAYOUT_all)
  2. Compatible Community Layouts are:
    • 60_ansi
    • 60_ansi_split_bs_rshift

@kbd0
Copy link
Contributor Author

kbd0 commented Nov 17, 2024

Based on reference image:

  1. Could layout information for this keyboard be altered to conform to PR Checklist regarding keyboards/PCBs with multiple layout options. (i.e. LAYOUT_all)

  2. Compatible Community Layouts are:

    • 60_ansi
    • 60_ansi_split_bs_rshift

Am unsure how best to proceed here.

The keyboard supports split backspace, split left shift, and split right shift both ways (1u 1.75u or 1.75u 1u). This results in 2 * 2 * 3 = 12 possible layouts. Having 12 layouts to choose from seems annoying for the user but maybe this is the best way?

The PCB and default keymap are designed to work for most cases by default (backspace is either the 2u key or the right 1u key; left shift is either the 2.25u key or the (left) 1.25u key, right shift is either the 2.75u key or the (left) 1.75u key). But I can see how having just the full layout can be confusing

@dunk2k
Copy link
Contributor

dunk2k commented Nov 17, 2024

Am unsure how best to proceed here.

  1. As per PR Checklist - in keyboard.json a LAYOUT_all layout will need to be provided in "layouts"
  2. Layout macro/name in default keymap changed to LAYOUT_all
  3. Add 60_ansi and 60_ansi_split_bs_rshift Community Layouts to keyboard.json ("layouts" and "community_layouts")
  4. Optional: include a matrix_diagram.md file (search repo for examples)

I'd agree that a layout entry in "layouts" (keyboard.json file) for every single combination is excessive, matrix_diagram.md will allow experienced users to tailor firmware to their chosen physical layout.

Copy link
Contributor

@dunk2k dunk2k left a comment

Choose a reason for hiding this comment

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

as per Conversation

keyboards/kbd0/curve0/60_ansi/keyboard.json Outdated Show resolved Hide resolved
keyboards/kbd0/curve0/60_ansi/keyboard.json Show resolved Hide resolved
keyboards/kbd0/curve0/60_ansi/keymaps/default/keymap.json Outdated Show resolved Hide resolved
keyboards/kbd0/curve0/60_ansi/keymaps/default/keymap.json Outdated Show resolved Hide resolved
Co-authored-by: Duncan Sutherland <[email protected]>
@kbd0 kbd0 requested a review from dunk2k November 29, 2024 00:59
@waffle87 waffle87 merged commit d01303c into qmk:master Dec 4, 2024
3 checks passed
pull bot pushed a commit to kruton/qmk_firmware that referenced this pull request Dec 4, 2024
* add kbd0/curve0/60_ansi keyboard

* Apply suggestions from code review

Co-authored-by: jack <[email protected]>

* Apply suggestions from code review

Co-authored-by: Duncan Sutherland <[email protected]>

---------

Co-authored-by: unknown <code-monke>
Co-authored-by: jack <[email protected]>
Co-authored-by: Duncan Sutherland <[email protected]>
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.

4 participants