qmk-dactyl-manuform-a/keyboards/crkbd
Drashna Jaelre c9424eb8d7
[Keyboard] Fix up and clean Corne Keyboard code (#6284)
* Fix corne  communication issues with LTO

* Fix up other issues with corne code

* Fix indentation

* Clang Format rev1 file for Corne
2019-07-28 10:56:35 -07:00
..
keymaps [Keyboard] Fix up and clean Corne Keyboard code (#6284) 2019-07-28 10:56:35 -07:00
lib Reduce CRKBD firmware size by reducing layer numbers (#5471) 2019-04-18 14:02:32 -07:00
rev1 [Keyboard] Fix up and clean Corne Keyboard code (#6284) 2019-07-28 10:56:35 -07:00
config.h Keyboard: Crkbd: move I2C and Serial defines to keyboard's config.h (#3970) 2018-09-23 18:47:43 -07:00
crkbd.c [Keyboard] Fix up and clean Corne Keyboard code (#6284) 2019-07-28 10:56:35 -07:00
crkbd.h Keyboard: Improvement of crkbd communication functions (based on helix-keyboard) (#3798) 2018-09-03 16:34:16 -07:00
i2c.c Keyboard: Improvement of crkbd communication functions (based on helix-keyboard) (#3798) 2018-09-03 16:34:16 -07:00
i2c.h Keyboard: Improvement of crkbd communication functions (based on helix-keyboard) (#3798) 2018-09-03 16:34:16 -07:00
info.json Fix Corne (crkbd) keyboard dimensions in info.json 2019-04-13 01:27:38 -07:00
readme.md [Keyboard] Add RGB Matrix config info to Corne Keyboard's readme (#6231) 2019-07-28 10:27:14 -07:00
rules.mk [Keyboard] Fix up and clean Corne Keyboard code (#6284) 2019-07-28 10:56:35 -07:00
serial.c Keyboard: Update the serial.c of crkbd based on the helix-serial.c (#4349) 2018-11-04 10:46:26 -08:00
serial.h Keyboard: Update the serial.c of crkbd based on the helix-serial.c (#4349) 2018-11-04 10:46:26 -08:00
ssd1306.c Fix the modifier of font variable in ssd1306.c (#5880) 2019-05-17 12:37:12 -07:00
ssd1306.h Fix up screen off timer of crkbd (#4346) 2018-11-12 12:19:29 -08:00

readme.md

Corne Keyboard (CRKBD)

Also known (incorrectly) as the HeliDox.

Crkbd

Crkbd

A split keyboard with 3x6 vertically staggered keys and 3 thumb keys.

Keyboard Maintainer: foostan @foostan
Hardware Supported: Crkbd PCB, Pro Micro
Hardware Availability: PCB & Case Data

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

make crkbd:default

See the build environment setup and the make instructions for more information. Brand new to QMK? Start with our Complete Newbs Guide.

RGB Matrix

The Corne Keyboard also supports using the RGB Matrix feature, in place of RGB Light. This provids 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.

In your keymap's rules.mk file, add the following:

RGBLIGHT_ENABLE = no
RGB_MATRIX_ENABLE = WS2812

And in your config.h file, add the following:


#ifdef RGB_MATRIX_ENABLE
#   define RGB_MATRIX_KEYPRESSES // reacts to keypresses
// #   define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses)
// #   define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
#   define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended
#   define RGB_MATRIX_FRAMEBUFFER_EFFECTS
// #   define RGB_MATRIX_LED_PROCESS_LIMIT (DRIVER_LED_TOTAL + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
// #   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)
#    define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 // limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash. 
#    define RGB_MATRIX_HUE_STEP 8
#    define RGB_MATRIX_SAT_STEP 8
#    define RGB_MATRIX_VAL_STEP 8
#    define RGB_MATRIX_SPD_STEP 10

/* Disable the animations you don't want/need.  You will need to disable a good number of these    *
 * because they take up a lot of space.  Disable until you can successfully compile your firmware. */
// #   define DISABLE_RGB_MATRIX_ALPHAS_MODS
// #   define DISABLE_RGB_MATRIX_GRADIENT_UP_DOWN
// #   define DISABLE_RGB_MATRIX_BREATHING
// #   define DISABLE_RGB_MATRIX_CYCLE_ALL
// #   define DISABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
// #   define DISABLE_RGB_MATRIX_CYCLE_UP_DOWN
// #   define DISABLE_RGB_MATRIX_CYCLE_OUT_IN
// #   define DISABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
// #   define DISABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
// #   define DISABLE_RGB_MATRIX_DUAL_BEACON
// #   define DISABLE_RGB_MATRIX_RAINBOW_BEACON
// #   define DISABLE_RGB_MATRIX_RAINBOW_PINWHEELS
// #   define DISABLE_RGB_MATRIX_RAINDROPS
// #   define DISABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
// #   define DISABLE_RGB_MATRIX_TYPING_HEATMAP
// #   define DISABLE_RGB_MATRIX_DIGITAL_RAIN
// #   define DISABLE_RGB_MATRIX_SOLID_REACTIVE
// #   define DISABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
// #   define DISABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
// #   define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
// #   define DISABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
// #   define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
// #   define DISABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
// #   define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
// #   define DISABLE_RGB_MATRIX_SPLASH
// #   define DISABLE_RGB_MATRIX_MULTISPLASH
// #   define DISABLE_RGB_MATRIX_SOLID_SPLASH
// #   define DISABLE_RGB_MATRIX_SOLID_MULTISPLASH
#endif

However, to properly handle the LED matrix, two LED maps had to be used. One for the left half, and one for the right half. For the left, you don't need to do anything. That's the default setup. But for the right side, you need to add RGB_MATRIX_SPLIT_RIGHT=yes needs to be added to the command.

First, compile and flash the left half. Then when that's done, recompile with the setting above. It should look something like:

make crkbd:default RGB_MATRIX_SPLIT_RIGHT=yes

And then flash this new firmware image.

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.