qmk_me

QMK Firmware userspace, keyboards, & keymaps
git clone git://git.pngu.org.org/qmk_me
Log | Files | Refs | Submodules | README | LICENSE

commit a28e7903834c96ebd89560baddddc30a581e6fdb
parent acf6a966c4e7a176d0448f86fd32ee95f1594796
Author: Jack Sangdahl <jack@pngu.org>
Date:   Tue,  9 Sep 2025 08:47:20 -0600

Tidy up crkbd keymap

Remove some user-specific things, as I no longer own these keyboards.
Keeping around for reference and other users.

Diffstat:
Mjack/jack.h | 5++---
Mkeymaps/crkbd/keymap.c | 34+++++++++++-----------------------
Akeymaps/crkbd/keymap.json | 13+++++++++++++
Mkeymaps/crkbd/readme.md | 21++++++---------------
Mkeymaps/crkbd/rules.mk | 4++--
5 files changed, 34 insertions(+), 43 deletions(-)

diff --git a/jack/jack.h b/jack/jack.h @@ -10,6 +10,7 @@ enum tapdances { EM_DASH_MINS, PLY_NXT_PRV, PASTE_RAISE, CBRACKET, SBRACKET }; enum custom_keycodes { UPDIR = QK_USER, REMOVE, + OS_SWAP, M_JIGGLE, UC_NOMODE, UC_WIDE, @@ -113,13 +114,11 @@ bool oled_task_keymap(void); #define ___LOWER4___ _______, _______, _______, _______, _______, _______ #define ___RAISE1___ XRGB_TOG, XRGB_NXT, XRGB_HUI, XRGB_SAI, XRGB_VAI, UC_NOMODE, UC_SCRIPT, UC_BLOCKS, UC_REGIONAL, QK_MAKE -#define ___RAISE2___ M_JIGGLE, XRGB_PRV, XRGB_HUD, XRGB_SAD, XRGB_VAD, UC_WIDE, UC_AUSSIE, UC_ZALGO, UC_SUPER, QK_BOOT +#define ___RAISE2___ OS_SWAP, XRGB_PRV, XRGB_HUD, XRGB_SAD, XRGB_VAD, UC_WIDE, UC_AUSSIE, UC_ZALGO, UC_SUPER, QK_BOOT #define ___RAISE3___ KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10 #define ___RAISE4___ _______, _______, _______, _______, _______, _______ // clang-format on #define LAYOUT_jack_60_ts(...) LAYOUT_60_ansi_tsangan(__VA_ARGS__) -#define LAYOUT_jack_3x6(...) LAYOUT_split_3x6_3(__VA_ARGS__) -#define LAYOUT_jack_sp(...) LAYOUT_split_space(__VA_ARGS__) #define LAYOUT_jack_all(...) LAYOUT_all(__VA_ARGS__) #define LAYOUT_jack(...) LAYOUT(__VA_ARGS__) diff --git a/keymaps/crkbd/keymap.c b/keymaps/crkbd/keymap.c @@ -2,29 +2,6 @@ // SPDX-License-Identifier: GPL-2.0-or-later #include "jack.h" -// clang-format off -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_BASE] = LAYOUT_jack_3x6( - XXXXXXX, ___BASE1___, XXXXXXX, - XXXXXXX, ___BASE2___, XXXXXXX, - XXXXXXX, ___BASE3___, XXXXXXX, - ___BASE4___ - ), - [_LOWER] = LAYOUT_jack_3x6( - _______, ___LOWER1___, _______, - _______, ___LOWER2___, _______, - _______, ___LOWER3___, _______, - ___LOWER4___ - ), - [_RAISE] = LAYOUT_jack_3x6( - _______, ___RAISE1___, _______, - _______, ___RAISE2___, _______, - _______, ___RAISE3___, _______, - ___RAISE4___ - ) -}; -// clang-format on - void housekeeping_task_keymap(void) { if (last_input_activity_elapsed() > 300000) { const pin_t row_pins[] = MATRIX_ROW_PINS, col_pins[] = MATRIX_COL_PINS; @@ -109,4 +86,15 @@ void matrix_init_user(void) { 4, 4, 4, 2, 2, 2, 2, 2, 2, 1, 1, 1, 4, 4, 4, 4, 4, 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 2, 2, 2, 2, 2, 2}}; } + +extern LED_TYPE rgb_matrix_ws2812_array[RGB_MATRIX_LED_COUNT]; +bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { + pimoroni_trackball_set_rgbw(rgb_matrix_ws2812_array[29].r, + rgb_matrix_ws2812_array[29].g, + rgb_matrix_ws2812_array[29].b, 0); + for (uint8_t i = led_min; i <= led_max; i++) + if (g_led_config.flags[i] & LED_FLAG_UNDERGLOW) + rgb_matrix_set_color(i, RGB_YELLOW); + return false; +} #endif // rgb matrix diff --git a/keymaps/crkbd/keymap.json b/keymaps/crkbd/keymap.json @@ -0,0 +1,13 @@ +{ + "keyboard": "crkbd/rev1", + "keymap": "jack", + "layout": "LAYOUT_split_3x6_3", + "layers": [ + [ + "KC_TAB", "KC_Q", "KC_W", "KC_E", "KC_R", "KC_T", "KC_Y", "KC_U", "KC_I", "KC_O", "KC_P", "KC_BSPC", + "KC_LCTL", "KC_A", "KC_S", "KC_D", "KC_F", "KC_G", "KC_H", "KC_J", "KC_K", "KC_L", "KC_SCLN", "KC_QUOT", + "KC_LSFT", "KC_Z", "KC_X", "KC_C", "KC_V", "KC_B", "KC_N", "KC_M", "KC_COMM", "KC_DOT", "KC_SLSH", "KC_ESC", + "KC_LGUI", "KC_LPRN", "KC_SPC", "KC_ENT", "KC_RPRN", "KC_RALT" + ] + ] +} diff --git a/keymaps/crkbd/readme.md b/keymaps/crkbd/readme.md @@ -1,17 +1,8 @@ -### [proton-c crkbd](https://git.pngu.org/protoncrkbd) +# [Proton-C crkbd](https://git.pngu.org/protoncrkbd) + ![img](https://i.imgur.com/ob8D0hY.jpeg) -#### notes -[low scan mode](https://github.com/waffle87/qmk.me/blob/master/keymaps/crkbd/keymap.c#L24-#L46) to avoid unecessary scans if there's no matrix activity (5s timeout)\ -[audio configuration](https://github.com/waffle87/qmk.me/blob/master/keymaps/crkbd/keymap.c#L49-#L57) to pass output from B1 to A5 (proper dac pin). -```c -extern LED_TYPE rgb_matrix_ws2812_array[RGB_MATRIX_LED_COUNT]; -bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { - pimoroni_trackball_set_rgbw(rgb_matrix_ws2812_array[29].r, rgb_matrix_ws2812_array[29].g, rgb_matrix_ws2812_array[29].b, 0); - for (uint8_t i = led_min; i <= led_max; i++) - if (g_led_config.flags[i] & LED_FLAG_UNDERGLOW) - rgb_matrix_set_color(i, RGB_YELLOW); - return false; -} -``` -above snippet aligns pimoroni trackball rgb led with the active rgb matrix animation, & sets the underglow leds to yellow. +## Miscellaneous Notes +- [Low Scan Mode](https://github.com/waffle87/qmk.me/blob/master/keymaps/crkbd/keymap.c#L5-#L27) to avoid unnecessary scans if there's no matrix activity (5s timeout) +- [Audio Configuration](https://github.com/waffle87/qmk.me/blob/master/keymaps/crkbd/keymap.c#L30-#L39) to pass output from B1 to A5 (proper DAC pin) +- [Align Pimoroni Trackball LED](https://github.com/waffle87/qmk.me/blob/master/keymaps/crkbd/keymap.c#L90-#L99) with active RGB Matrix animation/colour, and sets underglow LEDs to yellow diff --git a/keymaps/crkbd/rules.mk b/keymaps/crkbd/rules.mk @@ -2,8 +2,8 @@ CONVERT_TO = proton_c SERIAL_DRIVER = usart WS2812_DRIVER = pwm OLED_ENABLE = yes -AUDIO_ENABLE = no +AUDIO_ENABLE = yes AUDIO_DRIVER = dac_basic ENCODER_ENABLE = yes -POINTING_DEVICE_ENABLE = no +POINTING_DEVICE_ENABLE = yes POINTING_DEVICE_DRIVER = pimoroni_trackball