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:
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)
+

-#### 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