keychron_qmk_firmware/keyboards/crkbd
Jonas Avellana ff854565ce [Keymap] ninjonas keymap for crkbd & ninjonas userspace updates (#6797)
* [keymap(crkbd)] introducing crkbd keymap on ninjonas profile

* [keymap(crkbd)] introducing crkbd keymap on ninjonas profile

* [refactor(crkbd)] reducing file size by selecting RGB animations

* [refactor(crkbd)] added shiftit key

* [refactor(crkbd)] added shiftit key

* [chore(crkbd)] adding SLEEP_LED_ENABLE on rules.mk

* [refactor(crkbd)] added keylog & removed static rainbow RGB

* [feat(crkbd)] introduced em-dash '—' keymap

* [feat(crkbd)] added screenshot functionality

* [refactor(lily58,pinky3)] moving media keys

* [refactor(lily58)] Added emdash key

* [chore] removing NUMBERS & FUNCTIONS layers as they're useless

* [chore] removing NUMBERS & FUNCTIONS layers as they're useless

* [chore(crkbd,lily48)] Updating README.md

* [feat] added K_LAPP & K_RAPP to mimic command + tab

* [feat] added K_LAPP & K_RAPP to mimic command + tab

* [fix(#6797)] resolving changes requested by @drashna

* [fix(#6797)] first cut on using QMK OLED Driver

* [fix(#6797)] cleaning up rules.mk

* [fix(#6797)] making scrolling logo work

* [fix(#6797)] Using OLED Driver for Lily58

* [fix(#6797)] Moved OLED driver implementation to ninjonas userspace

* [fix(#6797)] Bringing back crkbd & lily58 logos

* [fix(#6797)] Turning off OLED based off @drashna's workaround in #5982

* [fix(#6797)] whoops! forgot to checkin crkbd/config.h

* [fix(#6797)] fixing issue with OLED randomly turning on

* [fix(#6797)] using default glcdfont.c for lily58 & crkbd

* [fix(#6797)] Using LINK_TIME_OPTIMIZATION_ENABLE rather than EXTRAFLAGS as per code review

* [fix(#6797)] updating M_MALL macro as per code review by @fauxpark
2019-09-25 21:28:06 -07:00
..
keymaps [Keymap] ninjonas keymap for crkbd & ninjonas userspace updates (#6797) 2019-09-25 21:28:06 -07:00
lib Reduce CRKBD firmware size by reducing layer numbers (#5471) 2019-04-18 14:02:32 -07:00
rev1 Fix Corne keyboard matrix configuration (#6684) 2019-09-14 17:46:14 +10:00
config.h
crkbd.c [Keyboard] Fix up and clean Corne Keyboard code (#6284) 2019-07-28 10:56:35 -07:00
crkbd.h
i2c.c
i2c.h
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
serial.h
ssd1306.c Fix the modifier of font variable in ssd1306.c (#5880) 2019-05-17 12:37:12 -07:00
ssd1306.h

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.