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

[keymap] Keychron Q2 ANSI encoder with Caps Lock, Fn Layer and Caps Word RGB indicators #20199

Closed
wants to merge 32 commits into from

Conversation

mkillewald
Copy link
Contributor

Adding keymap for Keychron Q2 ANSI encoder with Caps Lock, Fn Layer and Caps Word RGB indicators

Description

  • Retains Keychron factory keycodes for Mission Control, Launchpad, Siri, Cortana, Task View, File Explorer, and others.

  • Caps Word enabled with RGB indicator

    • Activated by double tapping left Shift
      • can change activation to tapping both left and right Shift by replacing define DOUBLE_TAP_SHIFT_TURNS_ON_CAPS_WORD with #define BOTH_SHIFTS_TURNS_ON_CAPS_WORD in config.h
    • Left Shift, left Control and left Option (or left Windows key) will light when Caps Word is enabled
      • #define CAPS_WORD_INDICATOR_COLOR [color] in config.h to set the backlight color used for the indicator when Caps Word is enabled (default: red)
      • remove #define CAPS_WORD_LIGHT_LOWER_LEFT_CORNER from config.h if you wish for the indicator to only light left Shift
  • Caps Lock RGB indicator

    • the Caps Lock key will light when Caps Lock is enabled with the following options:
      • #define CAPS_LOCK_INDICATOR_COLOR [color] in config.h to set the backlight color used for the indicator when Caps Lock is enabled (default: red)
      • Fn2+Z (keycode: LTTOG) will toggle lighting the TAB key when Caps Lock is enabled. This is useful with non backlit keycaps/legends. (default: off)
      • Fn2+X (keycode: LATOG) will toggle lighting all the alpha keys when Caps Lock is enabled. (default: off)
  • Dynamic Fn layer RGB indicator

    • When either Fn1 or Fn2 is held down, any keys defined on the Fn layers in this firmware or in VIA will be highlighted with the following options:
      • #define FN1_LAYER_COLOR [color] in config.h to set a static color for defined keys on Fn1 layer (default: orange)
      • #define FN2_LAYER_COLOR [color] in config.h to set a static color for defined keys on Fn2 layer (default: green)
      • Fn2+C (keycode: TKTOG) will toggle turning off RGB for keys with no definition (default: RGB off)
      • Fn2+V (keycode: FCTOG) will toggle lighting the defined Fn layer keys with the static color set with FN1_LAYER_COLOR or FN2_LAYER_COLOR (default: static color off)

All custom keycodes described above can be moved to different keys in VIA by using the following keycodes:

  • CUSTOM(11) = LTTOG (default: Fn2+Z) Caps Lock Light Tab Toggle
  • CUSTOM(12) = LATOG (default: Fn2+X) Caps Lock Light Alpha Toggle
  • CUSTOM(13) = TKTOG (default: Fn2+C) Fn layer Trasnparent Key Toggle
  • CUSTOM(14) = FCTOG (default: Fn2+V) Fn layer Color Toggle

Types of Changes

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

Issues Fixed or Closed by This PR

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

@xXcynisterXx
Copy link

Not to bother you. My parents just got me the Keychron Q2, I love it so far but I want to add a few things like you have here. I'm new to all of this and I would love to use what you have here, mainly because I always hit the caps lock lol. My question is, how do I use any of this?. I don' know how to download it or use it. Sorry again, new to all of this. Thank you for any help you are willing to give me

@mkillewald
Copy link
Contributor Author

mkillewald commented Mar 21, 2023

Not to bother you. My parents just got me the Keychron Q2, I love it so far but I want to add a few things like you have here. I'm new to all of this and I would love to use what you have here, mainly because I always hit the caps lock lol. My question is, how do I use any of this?. I don' know how to download it or use it. Sorry again, new to all of this. Thank you for any help you are willing to give me

This is a pull request to have this code merged into the QMK repository. Once this code has been merged, you would just clone this QMK repository to your PC and then compile with:

qmk compile -kb keychron/q2/ansi_encoder -km mkillewald

Then flash the resulting .bin file to your keyboard with:

qmk flash -kb keychron/q2/ansi_encoder -km mkillewald

See the QMK docs for further information: https://docs.qmk.fm/#/newbs

@drashna drashna requested a review from a team March 21, 2023 19:10
@mkillewald mkillewald requested review from fauxpark and tzarc April 5, 2023 08:32
@mkillewald mkillewald closed this Apr 13, 2023
@mkillewald mkillewald deleted the mkillewald_q2 branch April 13, 2023 04:36
@mkillewald
Copy link
Contributor Author

Please, do not merge this PR. I've created a new PR #20437 which supercedes these changes. Sorry for any confusion.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants