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

Add QC60 #3472

Merged
merged 9 commits into from
Jul 25, 2018
Merged

Add QC60 #3472

merged 9 commits into from
Jul 25, 2018

Conversation

coarse
Copy link
Contributor

@coarse coarse commented Jul 23, 2018

Added files for my split staggered 60%, QC60. Commit includes:

  • Config files for QC60
  • Config for all supported layouts
  • Default keymap and my friend's keymap

Todo:

  • Setup I2C RGB Underglow
  • Link files for case design
  • Link pictures of finished builds

along with this program. If not, see <http://www.gnu.org/licenses/>.
*/

#ifndef CONFIG_USER_H
Copy link
Member

Choose a reason for hiding this comment

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

Could you replace the boilerplate with #pragma once?

Eg, the file should look like:

#pragma once

#define USE_I2C

#define MASTER_LEFT

#define XXXXXXX KC_NO

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_BASE] = LAYOUT_ANSI_DEFAULT(
Copy link
Member

Choose a reason for hiding this comment

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

The Layout macro should be LAYOUT_ansi_default.

Eg, everything but LAYOUT should be lowercase.

@@ -0,0 +1,3 @@
ifndef QUANTUM_DIR
Copy link
Member

Choose a reason for hiding this comment

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

This block isn't needed.

Either remove the contents of the file, or remove the file.

You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/

Copy link
Member

Choose a reason for hiding this comment

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

Could you replace the boilerplate with #pragma once?

Eg, the file should look like:

#pragma once

#define USE_SERIAL

#define MASTER_LEFT

#define FN MO(_FN)

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_BASE] = LAYOUT_HHKB_SPLIT_LSHIFT(
Copy link
Member

Choose a reason for hiding this comment

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

The layout macros should be lowercase.

Eg LAYOUT_hhkb_split_lshift

{R47, R46, R45, R44, R43, R42, XXX, XXX}, \
}

#define LAYOUT_ISO_ALT( \
Copy link
Member

Choose a reason for hiding this comment

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

This should be LAYOUT_iso_alt

{R47, R46, R45, R44, R43, XXX, XXX, XXX}, \
}

#define LAYOUT_HHKB_DEFAULT( \
Copy link
Member

Choose a reason for hiding this comment

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

This should be LAYOUT_hhkb_default

Does this match the actual HHKB layout?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Because it's a split keyboard, the bottom row doesn't 100% follow the HHKB layout. The layout macro, along with splitting backspace and right shift, does not include the leftmost and rightmost keys on the bottom row which is the same behavior with HHKB layouts.

{XXX, R46, R45, R44, R43, XXX, XXX, XXX}, \
}

#define LAYOUT_HHKB_SPLIT_LSHIFT( \
Copy link
Member

Choose a reason for hiding this comment

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

This should be LAYOUT_hhkb_split_shift (or lshift)

@noroadsleft?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I opted to go with "split_lshift" to avoid confusion. HHKB layout, by default, comes with a split right shift.

{XXX, R46, R45, R44, R43, XXX, XXX, XXX}, \
}

#define LAYOUT_WKL_DEFAULT( \
Copy link
Member

Choose a reason for hiding this comment

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

This should be LAYOUT_wkl_default

# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend

DEFAULT_FOLDER = qc60/rev1
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 rev1 folder here?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Sorry, forgot to change this to qc60/proto. Initially used rev1 but then opted to go proto instead.

Copy link
Member

Choose a reason for hiding this comment

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

Not a problem. Just wanted to make sure, so that it will compile correctly.


Make example for this keyboard (after setting up your build environment):

make qc60/rev1:default
Copy link
Member

Choose a reason for hiding this comment

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

This should be make handwired/qc60/proto:default then.

@drashna
Copy link
Member

drashna commented Jul 25, 2018

Awesome, thanks!

@drashna drashna merged commit c14e297 into qmk:master Jul 25, 2018
mattfluder pushed a commit to mattfluder/qmk_firmware that referenced this pull request Jul 30, 2018
* Added initial files for QC60 prototype

* renamed all 'keymap' to 'layout'

* renamed layout macros to suggested naming convention of LAYOUT_macro_description

* replaced boilerplate

* removed rules.mk from keymap folders

* replaced 'qc60/rev1' with 'qc60/proto'

* replaced more boilerplate

* renamed DEFAULT_FOLDER to point at the correct folder

* updated readme
alexey-danilov pushed a commit to alexey-danilov/qmk_firmware that referenced this pull request Aug 3, 2018
* Added initial files for QC60 prototype

* renamed all 'keymap' to 'layout'

* renamed layout macros to suggested naming convention of LAYOUT_macro_description

* replaced boilerplate

* removed rules.mk from keymap folders

* replaced 'qc60/rev1' with 'qc60/proto'

* replaced more boilerplate

* renamed DEFAULT_FOLDER to point at the correct folder

* updated readme
tenderlove added a commit to tenderlove/qmk_firmware that referenced this pull request Aug 5, 2018
* master: (184 commits)
  Docs: Clarify "right" -> "right-handed" (qmk#3507)
  Docs: Fixed the link to the advanced keycodes wiki (qmk#3505)
  Keyboard: Update KEYMAP to LAYOUT for ckeys obelus (qmk#3495)
  Keyboard: Hide JC65 directory in QMK Configurator (qmk#3491)
  Keymap: jennetters iris keymap (qmk#3488)
  Keymap: jennetters fourier split 40% keymap (qmk#3487)
  Keymap: Add LAYOUT_planck_grid to planck/dshields keymap. (qmk#3484)
  Keyboard: Add HelixPico keyboard (qmk#3502)
  Keymap: Ergodox Dvorak 42 key layout changes (qmk#3500)
  Keyboard: E6V2 Layout Fix (qmk#3490)
  Keymap: UT47:nordic - A couple of tweaks (qmk#3489)
  Keyboard: E6V2 LE Improvements (qmk#3486)
  redox: convert to use SPLIT_KEYBOARD feature (qmk#3478)
  Keymap: Bocaj Ergodox Updates (qmk#3364)
  keymap: Update khord let's split keymap and add chocopad keymap (qmk#3482)
  Keymap: Add smt keymap for TKC1800 (qmk#3481)
  Fix for the Split Common I2C code's SCL_CLOCK issue (qmk#3474)
  keymap: UT47:nordic - fixed typo (qmk#3477)
  Keyboard: Add QC60 (qmk#3472)
  Keyboard: Base for the nicekey keyboard (qmk#3475)
  ...
filoxo pushed a commit to filoxo/qmk_firmware that referenced this pull request Aug 27, 2018
* Added initial files for QC60 prototype

* renamed all 'keymap' to 'layout'

* renamed layout macros to suggested naming convention of LAYOUT_macro_description

* replaced boilerplate

* removed rules.mk from keymap folders

* replaced 'qc60/rev1' with 'qc60/proto'

* replaced more boilerplate

* renamed DEFAULT_FOLDER to point at the correct folder

* updated readme
ChrissiQ pushed a commit to ChrissiQ/qmk_firmware that referenced this pull request Sep 25, 2018
* Added initial files for QC60 prototype

* renamed all 'keymap' to 'layout'

* renamed layout macros to suggested naming convention of LAYOUT_macro_description

* replaced boilerplate

* removed rules.mk from keymap folders

* replaced 'qc60/rev1' with 'qc60/proto'

* replaced more boilerplate

* renamed DEFAULT_FOLDER to point at the correct folder

* updated readme
yamad pushed a commit to yamad/qmk_firmware that referenced this pull request Apr 10, 2019
* Added initial files for QC60 prototype

* renamed all 'keymap' to 'layout'

* renamed layout macros to suggested naming convention of LAYOUT_macro_description

* replaced boilerplate

* removed rules.mk from keymap folders

* replaced 'qc60/rev1' with 'qc60/proto'

* replaced more boilerplate

* renamed DEFAULT_FOLDER to point at the correct folder

* updated readme
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.

2 participants