···11+/*
22+This is the c configuration file for the keymap
33+44+Copyright 2012 Jun Wako <wakojun@gmail.com>
55+Copyright 2015 Jack Humbert
66+77+This program is free software: you can redistribute it and/or modify
88+it under the terms of the GNU General Public License as published by
99+the Free Software Foundation, either version 2 of the License, or
1010+(at your option) any later version.
1111+1212+This program is distributed in the hope that it will be useful,
1313+but WITHOUT ANY WARRANTY; without even the implied warranty of
1414+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1515+GNU General Public License for more details.
1616+1717+You should have received a copy of the GNU General Public License
1818+along with this program. If not, see <http://www.gnu.org/licenses/>.
1919+*/
2020+2121+#pragma once
2222+2323+#define EE_HANDS
2424+#define NKRO_DEFAULT_ON 1
2525+2626+#define SPLIT_LAYER_STATE_ENABLE
2727+#define SPLIT_LED_STATE_ENABLE
2828+#define SPLIT_WPM_ENABLE
2929+3030+#ifdef OLED_ENABLE
3131+#define OLED_FONT_H "lib/glcdfont_monke.c"
3232+#else
3333+#define PS2_PIO_USE_PIO1
3434+#define PS2_MOUSE_ROTATE 270
3535+#endif
···11+# Corne Keyboard (CRKBD)
22+33+
44+55+
66+77+A split keyboard with 3x6 vertically staggered keys and 3 thumb keys.
88+Also, it has the option that use extension keys and rotary encoders.
99+1010+Keyboard Maintainer: [foostan](https://github.com/foostan/) [@foostan](https://twitter.com/foostan)
1111+Hardware Supported: Corne PCB
1212+Hardware Availability: [PCB & Case Data](https://github.com/foostan/crkbd)
1313+1414+Flash example for this keyboard of v1 - v3:
1515+1616+```sh
1717+qmk flash -kb crkbd/rev1 -km default
1818+```
1919+2020+Flash example for this keyboard of v4:
2121+2222+```sh
2323+qmk flash -kb crkbd/rev4 -km default
2424+```
2525+2626+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
2727+2828+## Bootloader
2929+3030+The Corne PCBs have a reset and boot buttons next to the TRRS jack to enter in to the bootloader.
3131+3232+Additionally, if you hold down the "Q" or "P" buttons when plugging in that half of the keyboard (per the default QWERTY layout), this will jump to the bootloader and reset the EEPROM (persistent storage). This would normally be the very top corner-most position, but due to the breakaway column, it's left at Q and P for compatibility.
3333+3434+## RGB Matrix
3535+The Corne Keyboard also supports using the RGB Matrix feature, in place of RGB Light. This provides a better experience when using the keyboard, as it supports a number of per key effects properly. If you're not using the in switch LEDs, then you may want to pass on doing this.
3636+3737+In your keymap's `rules.mk` file, add the following:
3838+3939+```make
4040+RGBLIGHT_ENABLE = no
4141+RGB_MATRIX_ENABLE = yes
4242+```
4343+4444+And in your `config.h` file, add the following:
4545+4646+```c
4747+4848+#ifdef RGB_MATRIX_ENABLE
4949+# define RGB_MATRIX_KEYPRESSES // reacts to keypresses
5050+// # define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses)
5151+# define RGB_MATRIX_SLEEP // turn off effects when suspended
5252+# define RGB_MATRIX_FRAMEBUFFER_EFFECTS
5353+// # define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
5454+// # define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
5555+# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 // limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash.
5656+# define RGB_MATRIX_HUE_STEP 8
5757+# define RGB_MATRIX_SAT_STEP 8
5858+# define RGB_MATRIX_VAL_STEP 8
5959+# define RGB_MATRIX_SPD_STEP 10
6060+6161+/* Enable the animations you want/need. You may need to enable only a small number of these because *
6262+ * they take up a lot of space. Enable and confirm that you can still successfully compile your firmware. */
6363+// RGB Matrix Animation modes. Explicitly enabled
6464+// For full list of effects, see:
6565+// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
6666+# define ENABLE_RGB_MATRIX_ALPHAS_MODS
6767+# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
6868+# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
6969+# define ENABLE_RGB_MATRIX_BREATHING
7070+# define ENABLE_RGB_MATRIX_BAND_SAT
7171+# define ENABLE_RGB_MATRIX_BAND_VAL
7272+# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
7373+# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
7474+# define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
7575+# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
7676+# define ENABLE_RGB_MATRIX_CYCLE_ALL
7777+# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
7878+# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
7979+# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
8080+# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
8181+# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
8282+# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
8383+# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
8484+# define ENABLE_RGB_MATRIX_DUAL_BEACON
8585+# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
8686+# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
8787+# define ENABLE_RGB_MATRIX_RAINDROPS
8888+# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
8989+# define ENABLE_RGB_MATRIX_HUE_BREATHING
9090+# define ENABLE_RGB_MATRIX_HUE_PENDULUM
9191+# define ENABLE_RGB_MATRIX_HUE_WAVE
9292+# define ENABLE_RGB_MATRIX_PIXEL_RAIN
9393+# define ENABLE_RGB_MATRIX_PIXEL_FLOW
9494+# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
9595+// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
9696+# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
9797+# define ENABLE_RGB_MATRIX_DIGITAL_RAIN
9898+// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
9999+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
100100+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
101101+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
102102+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
103103+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
104104+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
105105+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
106106+# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
107107+# define ENABLE_RGB_MATRIX_SPLASH
108108+# define ENABLE_RGB_MATRIX_MULTISPLASH
109109+# define ENABLE_RGB_MATRIX_SOLID_SPLASH
110110+# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
111111+#endif
112112+```
113113+114114+After this is done, you should be able to use the normal RGB keycodes, but you'll see the RGB Matrix effects in use, giving a much better experience.