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] Concertina #11922

Merged
merged 3 commits into from
Feb 20, 2021
Merged

[Keyboard] Concertina #11922

merged 3 commits into from
Feb 20, 2021

Conversation

veikman
Copy link
Contributor

@veikman veikman commented Feb 15, 2021

A novel handwired keyboard.

Description

For a general description with photos, see https://viktor.eikman.se/article/the-concertina/.

It’s the physical shape that’s new. No major customizations have been made to the firmware.

I would like to provide Configurator support, but because the shape is highly three-dimensional, info.json is incomplete and self-contradictory in this PR. I have found this tool and this guide but a meaningful info.json would seem to require getting a local instance of Configurator up and running just to see how the visualization would eventually be rendered as I hand-craft the offsets. If I should I be doing that, please let me know.

Types of Changes

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

Checklist

  • My code follows the code style of this project
  • I have read the PR Checklist document and have made the appropriate changes except info.json, which is incomplete.
  • 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).

* Added a novel handwired keyboard.
* Perfunctory changes to pass CI.
@veikman
Copy link
Contributor Author

veikman commented Feb 16, 2021

The second commit has a stubbed-out info.json that is probably going to look bad and be useless, partly because it is not clear to me how the order of the JSON layout maps to the C macro, partly because I have not previewed how Configurator will render it. It does pass lint checks though.

keyboards/handwired/concertina/64key/64key.c Outdated Show resolved Hide resolved
keyboards/handwired/concertina/64key/64key.c Outdated Show resolved Hide resolved
keyboards/handwired/concertina/64key/64key.h Show resolved Hide resolved
keyboards/handwired/concertina/64key/config.h Show resolved Hide resolved
keyboards/handwired/concertina/concertina.h Show resolved Hide resolved
keyboards/handwired/concertina/config.h Show resolved Hide resolved
keyboards/handwired/concertina/64key/64key.h Outdated Show resolved Hide resolved
* Changes from code review: GPL headers, modernization, full-width
  representation of matrix to match info.json.
@veikman veikman requested a review from drashna February 19, 2021 07:01
@spidey3 spidey3 merged commit 5655d6e into qmk:master Feb 20, 2021
@veikman
Copy link
Contributor Author

veikman commented Feb 20, 2021

Thank you for the review and merge, but I would still be interested to know how to preview Configurator layouts before submitting a PR. Right now, Configurator shows no known layouts for the board. I guess I have failed somehow, but I don’t know where to start looking to fix this.

@noroadsleft
Copy link
Member

@veikman,

Thank you for the review and merge, but I would still be interested to know how to preview Configurator layouts before submitting a PR.

You can preview info.json files by opening QMK Configurator in your web browser and hitting Ctrl+Shift+I, in that order.

Right now, Configurator shows no known layouts for the board. I guess I have failed somehow, but I don’t know where to start looking to fix this.

Your submitted directory structure is wrong. You have source split between the handwired/concertina and handwired/concertina/64key directories. This isn't a problem on its own, but the 64key directory has no rules.mk file, the existence of which is required for QMK's Makefile to understand that this is a keyboard that can be compiled. You have a rules.mk file in handwired/concertina, but no keymaps folder therein, so make handwired/concertina fails because it can't find your layout macro LAYOUT_64key or any keymaps.

This block

#ifdef KEYBOARD_handwired_concertina_64key
#include "64key.h"
#endif

is never true because there is no keyboards/handwired/concertina/64key/rules.mk file, so KEYBOARD_handwired_concertina_64key is never defined.

I've posted a compilation fix at #11987. Would appreciate your attention there regarding the Configurator implementation, which I'm not sure is correct at this time.

@veikman veikman deleted the concertina branch March 21, 2021 11:35
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