keychron_qmk_firmware/keyboards/crkbd/keymaps/kidbrazil
Lucas Moreira 9ff61601e3 [Keymap] crkbd/kidbrazil adding layer dependent RGB & better idle timeout. (#7901)
* Added KidBrazil custom keymap for CRKBD
-Custom Font
-Custom OLED output

* Added missing readme

* Oled Timeout Update for KidBrazil Keymap (#1)

* Setup Oled timeout based on simple timer

* Cleaned up comments and added timeout for LEDs

* Fixed some small errors

* Updated oled timout with matrix scan

* Updated oled timout with matrix scan

* Update withou eeprom

* Update timer code

* Use process user instead of keymap

* Added ifdef to protect oledtimer

* Updated with half timeout state for logo

* Removed middle tier timer

* Final cleanup of unused files

* Updated code as per suggestions & requests

* Second round of revisions

* Updated keymap to better handle LED timeout
- Added boolean to hold LED state
- Added init function to set rgb to known state
- Modified RGB_TOG to work with noeeprom commands

* Finished adding the timeout for OLED and testing on CRKBD

* Updated documentation

* fixed the timeout logic so it works as intended

* Added initial limits to color settings

* Added layer reset as part of the iddle timeout process

* Split Keymap into more manageable files

* Finalizing RGB Layer status on CRKBD
- Refactored OLED timeout to deal only with oled
- If user remains iddle on game layer for too long it will switch to
default
- LED / OLED iddle working
- Minor changes to _SYM layer
- Removed some rgb controls from keyboard due to layer dependent RGB
colors

* Update keyboards/crkbd/keymaps/kidbrazil/keymap.c

Used suggestion from Drashna to replace EEPROM_RESET with shorter version.

Co-Authored-By: Drashna Jaelre <drashna@live.com>

* Update keyboards/crkbd/keymaps/kidbrazil/keymap.c

Co-Authored-By: Drashna Jaelre <drashna@live.com>

* Implemented drashna's comment

Co-authored-by: Drashna Jaelre <drashna@live.com>
2020-01-25 14:43:57 -08:00
..
config.h [Keymap] crkbd/kidbrazil adding layer dependent RGB & better idle timeout. (#7901) 2020-01-25 14:43:57 -08:00
enums.h [Keymap] crkbd/kidbrazil adding layer dependent RGB & better idle timeout. (#7901) 2020-01-25 14:43:57 -08:00
glcdfont.c
keymap.c [Keymap] crkbd/kidbrazil adding layer dependent RGB & better idle timeout. (#7901) 2020-01-25 14:43:57 -08:00
kidbrazil.json
layer.c [Keymap] crkbd/kidbrazil adding layer dependent RGB & better idle timeout. (#7901) 2020-01-25 14:43:57 -08:00
layer.h [Keymap] crkbd/kidbrazil adding layer dependent RGB & better idle timeout. (#7901) 2020-01-25 14:43:57 -08:00
logo_reader.c
README.md [Keymap] Improvements to KidBrazil keymap to better handle OLED/LED Matrix timeout. (#7688) 2020-01-07 17:28:06 -08:00
rules.mk [Keymap] crkbd/kidbrazil adding layer dependent RGB & better idle timeout. (#7901) 2020-01-25 14:43:57 -08:00

KidBrazil's custom CRKBD Layout

Loose Transistor Crkbd

This is a simple layout that I use for both programming and gaming. It is very closely based on the original CRKBD layout with some modifications to the position of CTRL and SHIFT.

Layers

This keymap includes a total of 4 Layers:

  • QWERTY
  • NUMBERS
  • SYMBOLS
  • GAMING
  • WEAPONS

The first three layers are pretty self explanatory and follow closely the default keymap for this keyboard. The magic really starts to happen with the gaming layer.

Gaming Layer

The gaming layer can be toggled on/off from the SYMBOLS layer. Once on the gaming layer it will stay there until you toggle it off again. The gaming layer includes normal WASD and most of the keys FPS games use on the left hand. On the right hand we have F1-F12 and a few other special keys for games that require it.

Weapon

The weapon layer is a momentary layer that can only be reached from the gaming layer. This layer preserves the left hand almost unchanged, except for when the layer is activated the top row becomes NUM 1 - 6 for wepon selection. The right hand is KC_TRNS the whole way so basically it is still the gaming layer.

Custom Font

This keymap includes a custom font for my LooseTransistor logo. It is fine if you want to use it I certainly don't mind but if you want your own, just replace the glcdfont file here and you should be fine.

Alternatively you could remove the font config line from the config.h file so it will use the default QMK one.

OLED

This Keymap is setup to use the newer OLED API. Some work has been done to customize this with showing layer and USB information. I also tried my best to get a dormant / sleep state going but it is hit or miss and often only works on the master hand.

OLED & RGB Matrix timeout

This keymap will set a automated timeout system for the OLED screen and the RGB matrix. After 3 minutes or so the LED screen will display the logo on both halves and 5 minutes after that both the LED and the Matrix will be switched off.

Once a user hits the keys again, the LED matrix will turn back on unless the user has disabled it via RGB_TOG.

Flashing

To flash this on your CRKBD simply use the make crkbd:kidbrazil:flash command.

TODO

  • Wait for Spit_common to be implemented in CRKBD and revisit the special color layers and animations