Compare commits

...

10 Commits

Author SHA1 Message Date
26e3ea0353 Disable unused RGB matrix functions
Setting the default does not seem to be working yet, but it can be
enabled still in VIA.
2024-05-05 11:37:41 -07:00
55b50eb9d7 Enable a couple combos 2024-05-05 11:37:41 -07:00
876036d92b Replace fn_lock button with sleep button 2024-05-05 11:37:41 -07:00
7e40c33abc Remove fn lock layers 2024-05-05 11:24:40 -07:00
ef80a47d47 Switch capslock to be hyper and escape 2024-05-05 08:58:11 -07:00
d9de084409 Duplicate advanced layout as tgrosinger 2024-05-05 08:42:48 -07:00
Daniel Schaefer
9388622ff0 fl16: Bump to v0.2.9
Signed-off-by: Daniel Schaefer <dhs@frame.work>
2023-12-14 17:05:11 +08:00
Daniel Schaefer
22d56c8a0d fl16: Turn capslock LED off when SLEEP# is low
Signed-off-by: Daniel Schaefer <dhs@frame.work>
2023-12-07 17:01:32 +08:00
Daniel Schaefer
05bc8b64b3 fl16: Bump to v0.2.8
Signed-off-by: Daniel Schaefer <dhs@frame.work>
2023-12-01 10:55:35 +08:00
Daniel Schaefer
43bac408c6 fl16: Remove MSOS2 descriptor
Signed-off-by: Daniel Schaefer <dhs@frame.work>
2023-12-01 10:55:19 +08:00
11 changed files with 164 additions and 49 deletions

View File

@ -16,7 +16,7 @@
"processor": "RP2040", "processor": "RP2040",
"url": "https://fr.mw/FRAKDKEN", "url": "https://fr.mw/FRAKDKEN",
"usb": { "usb": {
"device_version": "0.2.7", "device_version": "0.2.9",
"pid": "0x0012", "pid": "0x0012",
"vid": "0x32AC", "vid": "0x32AC",
"force_nkro": false "force_nkro": false

View File

@ -0,0 +1,90 @@
// Copyright 2022 Framework Computer
// SPDX-License-Identifier: GPL-2.0-or-later
#include QMK_KEYBOARD_H
#include "framework.h"
enum _layers {
_BASE,
_FN
};
// Changes from regular layout
// - Capslock => Map as Hyper and escape
// - FN+Escape => Sleep
// - Remove fn lock layers
const uint16_t PROGMEM backspace_combo[] = {KC_S, KC_D, COMBO_END};
const uint16_t PROGMEM tab_combo[] = {KC_D, KC_F, COMBO_END};
const uint16_t PROGMEM enter_combo[] = {KC_C, KC_V, COMBO_END};
const uint16_t PROGMEM underscore_combo[] = {KC_N, KC_M, COMBO_END};
const uint16_t PROGMEM greaterthan_combo[] = {KC_J, KC_K, COMBO_END};
const uint16_t PROGMEM lessthan_combo[] = {KC_K, KC_L, COMBO_END};
combo_t key_combos[] = {
COMBO(backspace_combo, KC_BSPC),
COMBO(tab_combo, KC_TAB),
COMBO(enter_combo, KC_ENT),
COMBO(underscore_combo, KC_UNDS),
COMBO(greaterthan_combo, KC_GT),
COMBO(lessthan_combo, KC_LT),
};
// Ctrl, Alt, Win, Shift when held and combined, Escape when tapped.
#define KC_HESC ALL_T(KC_ESC)
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/*
*
* 14 keys Esc F1 F2 F3 F4 F5 F6 F7 F8 F9 F10F11F12 Del
*
* 14 keys ` 1 2 3 4 5 6 7 8 9 0 - = Backsp
*
* 14 keys Tab Q W E R T Y U I O P [ ] \
*
* 13 keys HyEsc A S D F G H J K L ; ' Enter
*
* 12 keys Shift Z X C V B N M , . / Shift
*
*
* 11 keys CtrlFN GUIAlt AltCtl
*
*
* 78 total
*/
[_BASE] = LAYOUT(
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
KC_HESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
KC_LCTL, MO(_FN), KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_UP, KC_DOWN, KC_RGHT
),
/*
* Function layer
*
* 14 keys SleepMutvDnvUpPrvPlyNxtbDnbUpScnAirPrtAppIns
*
* 14 keys
*
* 14 keys RGBNxtHueSatSpdBrt Pau
*
* 13 keys SRqPrvHueSatSpdBrtScL
*
* 12 keys Brk
*
* PgU
* 11 keys Toggle Backlight HomeEnd
* PgD
*
* 78 total
*/
[_FN] = LAYOUT(
KC_SLEP, KC_MUTE, KC_VOLD, KC_VOLU, KC_MPRV, KC_MPLY, KC_MNXT, KC_BRID, KC_BRIU, KC_SCRN, KC_AIRP, KC_PSCR, KC_MSEL, KC_INS,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_SPI, RGB_VAI, _______, _______, KC_PAUS, _______, _______, _______,
_______, _______, KC_SYRQ, RGB_RMOD,RGB_HUD, RGB_SAD, RGB_SPD, RGB_VAD, KC_SCRL, _______, _______, _______, _______,
_______, _______, _______, BL_BRTG, _______, KC_BRK, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, BL_STEP, _______, _______, KC_HOME, KC_PGUP, KC_PGDN, KC_END
),
};

View File

@ -2,3 +2,6 @@
#CONSOLE_ENABLE = yes #CONSOLE_ENABLE = yes
RGB_MATRIX_ENABLE = yes RGB_MATRIX_ENABLE = yes
RGB_MATRIX_DRIVER = IS31FL3743A RGB_MATRIX_DRIVER = IS31FL3743A
# tgrosinger config
COMBO_ENABLE = yes

View File

@ -71,61 +71,61 @@
// 0 = Off // 0 = Off
// 1 = Solid Color // 1 = Solid Color
// 2 // 2
#define ENABLE_RGB_MATRIX_ALPHAS_MODS // #define ENABLE_RGB_MATRIX_ALPHAS_MODS
#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN // #define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT // #define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
#define ENABLE_RGB_MATRIX_BREATHING // #define ENABLE_RGB_MATRIX_BREATHING
#define ENABLE_RGB_MATRIX_BAND_SAT // #define ENABLE_RGB_MATRIX_BAND_SAT
#define ENABLE_RGB_MATRIX_BAND_VAL // #define ENABLE_RGB_MATRIX_BAND_VAL
#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT // #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL // #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
// 10 // 10
#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT // #define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL // #define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
#define ENABLE_RGB_MATRIX_CYCLE_ALL // #define ENABLE_RGB_MATRIX_CYCLE_ALL
#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT // #define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN // #define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON // #define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN // #define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL // #define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL // #define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL // #define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
// 20 // 20
#define ENABLE_RGB_MATRIX_DUAL_BEACON // #define ENABLE_RGB_MATRIX_DUAL_BEACON
#define ENABLE_RGB_MATRIX_RAINBOW_BEACON // #define ENABLE_RGB_MATRIX_RAINBOW_BEACON
#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS // #define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
#define ENABLE_RGB_MATRIX_RAINDROPS // #define ENABLE_RGB_MATRIX_RAINDROPS
#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS // #define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
#define ENABLE_RGB_MATRIX_HUE_BREATHING // #define ENABLE_RGB_MATRIX_HUE_BREATHING
#define ENABLE_RGB_MATRIX_HUE_PENDULUM // #define ENABLE_RGB_MATRIX_HUE_PENDULUM
#define ENABLE_RGB_MATRIX_HUE_WAVE // #define ENABLE_RGB_MATRIX_HUE_WAVE
#define ENABLE_RGB_MATRIX_PIXEL_RAIN // #define ENABLE_RGB_MATRIX_PIXEL_RAIN
#define ENABLE_RGB_MATRIX_PIXEL_FLOW // #define ENABLE_RGB_MATRIX_PIXEL_FLOW
// 30 // 30
#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL // #define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
#define RGB_MATRIX_FRAMEBUFFER_EFFECTS // #define RGB_MATRIX_FRAMEBUFFER_EFFECTS
// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined // // enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
#define ENABLE_RGB_MATRIX_TYPING_HEATMAP // #define ENABLE_RGB_MATRIX_TYPING_HEATMAP
#define ENABLE_RGB_MATRIX_DIGITAL_RAIN // #define ENABLE_RGB_MATRIX_DIGITAL_RAIN
#define RGB_MATRIX_KEYPRESSES #define RGB_MATRIX_KEYPRESSES
// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined // enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
// 33 // 33
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE // #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE // #define ENABLE_RGB_MATRIX_SOLID_REACTIVE
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE // #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS // #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS // #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS // #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
// 40 // 40
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS // #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
#define ENABLE_RGB_MATRIX_SPLASH // #define ENABLE_RGB_MATRIX_SPLASH
#define ENABLE_RGB_MATRIX_MULTISPLASH // #define ENABLE_RGB_MATRIX_MULTISPLASH
#define ENABLE_RGB_MATRIX_SOLID_SPLASH // #define ENABLE_RGB_MATRIX_SOLID_SPLASH
#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH // #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
#define ISSI_CUSTOM_PWM_FREQ #define ISSI_CUSTOM_PWM_FREQ
@ -144,3 +144,9 @@
//#define NO_ACTION_LAYER //#define NO_ACTION_LAYER
//#define NO_ACTION_TAPPING //#define NO_ACTION_TAPPING
//#define NO_ACTION_ONESHOT //#define NO_ACTION_ONESHOT
/* tgrosinger config */
#define RGB_MATRIX_DEFAULT_ON true
#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
#define RGB_MATRIX_DEFAULT_HUE 128 // Sets the default hue value, if none has been set
#define RGB_MATRIX_DEFAULT_SAT 255

View File

@ -16,7 +16,7 @@
"processor": "RP2040", "processor": "RP2040",
"url": "https://fr.mw/FRAKDKEN", "url": "https://fr.mw/FRAKDKEN",
"usb": { "usb": {
"device_version": "0.2.7", "device_version": "0.2.9",
"pid": "0x0018", "pid": "0x0018",
"vid": "0x32AC", "vid": "0x32AC",
"force_nkro": true "force_nkro": true

View File

@ -16,7 +16,7 @@
"processor": "RP2040", "processor": "RP2040",
"url": "https://fr.mw/FRAKDKEN", "url": "https://fr.mw/FRAKDKEN",
"usb": { "usb": {
"device_version": "0.2.7", "device_version": "0.2.9",
"pid": "0x0019", "pid": "0x0019",
"vid": "0x32AC", "vid": "0x32AC",
"force_nkro": true "force_nkro": true

View File

@ -16,7 +16,7 @@
"processor": "RP2040", "processor": "RP2040",
"url": "https://fr.mw/FRAKDNEN", "url": "https://fr.mw/FRAKDNEN",
"usb": { "usb": {
"device_version": "0.2.7", "device_version": "0.2.9",
"pid": "0x0013", "pid": "0x0013",
"vid": "0x32AC", "vid": "0x32AC",
"force_nkro": false "force_nkro": false

View File

@ -265,6 +265,11 @@ bool handle_idle(void) {
if (prev_asleep != asleep) { if (prev_asleep != asleep) {
prev_asleep = asleep; prev_asleep = asleep;
} }
if (asleep) {
led_suspend();
} else {
led_wakeup();
}
#ifdef RGB_MATRIX_ENABLE #ifdef RGB_MATRIX_ENABLE
if (rgb_matrix_get_suspend_state() != asleep) { if (rgb_matrix_get_suspend_state() != asleep) {
if (asleep) { if (asleep) {

View File

@ -16,7 +16,7 @@
"processor": "RP2040", "processor": "RP2040",
"url": "https://fr.mw/FRAKDMEN", "url": "https://fr.mw/FRAKDMEN",
"usb": { "usb": {
"device_version": "0.2.7", "device_version": "0.2.9",
"pid": "0x0014", "pid": "0x0014",
"vid": "0x32AC", "vid": "0x32AC",
"force_nkro": true "force_nkro": true

View File

@ -74,6 +74,7 @@ static void keyboard_idle_timer_cb(struct ch_virtual_timer *, void *arg);
report_keyboard_t keyboard_report_sent = {{0}}; report_keyboard_t keyboard_report_sent = {{0}};
report_mouse_t mouse_report_sent = {0}; report_mouse_t mouse_report_sent = {0};
#if defined(MSOS2_CAP)
static uint8_t msos_descriptor_set[] __attribute__((aligned(4))) = { static uint8_t msos_descriptor_set[] __attribute__((aligned(4))) = {
// //
// Microsoft OS 2.0 Descriptor Set Header // Microsoft OS 2.0 Descriptor Set Header
@ -105,6 +106,7 @@ static uint8_t msos_descriptor_set[] __attribute__((aligned(4))) = {
0x04, 0x00, // wPropertyDataLength 4 bytes 0x04, 0x00, // wPropertyDataLength 4 bytes
0x00, 0x00, 0x00, 0x00 // PropertyData - 0x00000001 0x00, 0x00, 0x00, 0x00 // PropertyData - 0x00000001
}; };
#endif
union { union {
uint8_t report_id; uint8_t report_id;
@ -767,6 +769,7 @@ static bool usb_request_hook_cb(USBDriver *usbp) {
return TRUE; return TRUE;
} }
#if defined(MSOS2_CAP)
/* Handle Vendor Specific Request */ /* Handle Vendor Specific Request */
//if (((usbp->setup[0] & USB_RTYPE_TYPE_MASK) == USB_RTYPE_TYPE_VENDOR) && ((usbp->setup[0] & USB_RTYPE_RECIPIENT_MASK) == USB_RTYPE_RECIPIENT_DEVICE)) { //if (((usbp->setup[0] & USB_RTYPE_TYPE_MASK) == USB_RTYPE_TYPE_VENDOR) && ((usbp->setup[0] & USB_RTYPE_RECIPIENT_MASK) == USB_RTYPE_RECIPIENT_DEVICE)) {
// Type=Vendor, Direction=Host2Dev, Recipient=Device // Type=Vendor, Direction=Host2Dev, Recipient=Device
@ -792,6 +795,7 @@ static bool usb_request_hook_cb(USBDriver *usbp) {
return TRUE; return TRUE;
} }
//dprint("zoid: After\n"); //dprint("zoid: After\n");
#endif
for (int i = 0; i < NUM_USB_DRIVERS; i++) { for (int i = 0; i < NUM_USB_DRIVERS; i++) {
if (drivers.array[i].config.int_in) { if (drivers.array[i].config.int_in) {

View File

@ -493,8 +493,13 @@ const USB_Descriptor_Bos_t PROGMEM BosDescriptor = {
}, },
// 3 Bytes (=> 5 Bytes) // 3 Bytes (=> 5 Bytes)
// Value must be header + each cap // Value must be header + each cap
#if defined(MSOS2_CAP)
.TotalLength = 0x0028, .TotalLength = 0x0028,
.NumDeviceCaps = 0x02, .NumDeviceCaps = 0x02,
#else
.TotalLength = 0x000C,
.NumDeviceCaps = 0x01,
#endif
.Usb20ExtensionDevCap = { .Usb20ExtensionDevCap = {
// 2 Bytes (=> 7 Bytes) // 2 Bytes (=> 7 Bytes)
@ -507,6 +512,7 @@ const USB_Descriptor_Bos_t PROGMEM BosDescriptor = {
.Bytes = {0x00, 0x00, 0x00, 0x00}, .Bytes = {0x00, 0x00, 0x00, 0x00},
}, },
#ifdef MSOS2_CAP
// 28 Bytes (0x1C) // 28 Bytes (0x1C)
.MsosCap = { .MsosCap = {
// 2 Bytes (=> 7 Bytes) // 2 Bytes (=> 7 Bytes)
@ -531,6 +537,7 @@ const USB_Descriptor_Bos_t PROGMEM BosDescriptor = {
.AltEnumCode = 0, .AltEnumCode = 0,
}}, }},
}, },
#endif
}; };
#ifndef USB_MAX_POWER_CONSUMPTION #ifndef USB_MAX_POWER_CONSUMPTION