You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

144 lines
5.9 KiB

[Keyboard] Add system76/launch_1 keyboard (#15395) * WIP: virgo keyboard * Finish layout * Enable debugging and format * Debug keypresses * Add function layer * Fix whitespace * Fix some more whitespace * Add Jeremy's map * Add left split ortho 2U board * Enabled extrakeys for volume & media control * More work on split ortho 2U... ...but still not complete * Finish default layout * Fix many issues by renaming the keyboard * Add right half as a keyboard * Update config for right side * WIP: Add split ortho 2U board * WIP: Correct rules & config * More work on split ortho * More work on split ortho 2u * Nearing completion on split ortho * Remove left and right separate keyboards. Split ortho 2U is complete and they are not needed. * Add uglydense keyboard * Rename directory for uglydense * Swap right Fn and right ctrl keys * Add jeremy's layout * Add ian layout * Add reset key, which is very useful for flashing. * Add Levi's layout * Update Levi's layout * Fix Levi's Layout * Fix Levi's layout again * Add a README with some basic information * Add keymap customization info to uglydense readme * Make the readme make a little more sense. * Make John a layout with left fn and left super swapped * Update John's layout * Add Carl's layout * Add Sean's layout * Add reset keys to all layouts * Swap LALT & LGUI on default layout * shpurk keyboard: initial commit * Add nathaniel & shpurk layouts * Update instructions to include necesarry dependencies * Add Lrrr keyboard, ruler of Omicron Persei 8 * Update README for Lrrr * Update Lrrr it uses Caterina bootloader Also B1 wasn't working for Row 6, so I changed that to F6 * Swap RCTL & RALT * Un-swap RCTL and RALT, making RCTL closer to right thumb * Add printscreen to my layout * Rename lrrr to Launch, enbiggen L-Shift to 2U * Add layout files for Launch * Rename launch to launch_1 * Add levi layout for ortho_split_2u * Update carl keymap * Add launch testboard * Implement keyboard keycode reading using raw hid * Enable dynamic keymap * Add config support to launch_1 * Implement probe command, make logical key names match configurator * Update logical key names again * Add layout generator for keyboard configurator * Add board name and version * Add board name and version to test board * Fix issues with compiling board and version commands * Rename uglydense to launch_alpha_1 and launch_1 to launch_alpha_2 * Generate layouts for other launch prototypes * Fix launch_alpha_1 logical names * Add launch_beta_1 * Fix building production hex file with atmel-dfu bootloader * Limit backlight brightness * USB mux handling * Allow repeat start * Do USB MUX init before bootmagic * Fixes for mux init * Fix register write size for programmable function control * Ensure bit shifts are correct * Improve documentation * Fix when i2c read ack condition happens * Fix extra start in i2c_set * Add ISP instructions * Add fuse information * Refactor * Add RGB matrix support * Fix RGB matrix * Update Jeremy layout * Enable audio controls * Update Jeremy layout * Ensure that n-key rollover is used * Port changes to other launch boards * Configuration values for starting HSV and speed (#7740) * Define default HSV and speed for RGB matrix. * Documentation for configuration values RGB_MATRIX_STARTUP_HUE, RGB_MATRIX_STARTUP_SAT and RGB_MATRIX_STARTUP_VAL. * Document RGB_MATRIX_STARTUP_SPD. * Preserve the ordering. * Set default RGB mode, hue, and saturation * Reduce AVR clock to 8MHz * Update launch_beta_1 with new USB ID * Update default LED mode * Set default hue * Disable RGB while suspended * Add led value and color commands * Add max value to CMD_LED_GET_VALUE * Do not save custom mode to eeprom * Add reset to bootloader command for Launch keyboard * Rename launch_beta_1 to launch_1 * Enable LTO when compiling for launch_1 * Allow setting individual LED's * Convert tabs to spaces * Unlock on RESET keypress: - Display unlock pattern - Disable LED get/set functions - Enable reset to bootloader function * Reduce brightness of rainbow backdrop in unlock pattern * Add hid commands for setting led matrix mode This changes the color setting to not change the mode, and set the hue and saturation for QMK effects. * Fix `CMD_LED_GET_MODE` * Add Levi's Launch layout * Fix layer mistake in Levi's Launch layout * Add matrix command * Define default RGB matrix speed * Add active_keys effect * Move definition of RGB modes inside ifdef testing for custom RGB modes * RGB parameters per layer * fix: Call `system76_ec_rgb_layer` after setting mode * Include layer 3 and 4 in default layout for launch_1 I added support for layer 3 and 4 to the Configurator, but it seems to load bogus values. `dynamic_keymap_reset()` has a comment saying: ``` // Reset the keymaps in EEPROM to what is in flash. // All keyboards using dynamic keymaps should define a layout // for the same number of layers as DYNAMIC_KEYMAP_LAYER_COUNT ``` Other keyboards seem to have default layouts that only list the first two layers while setting `DYNAMIC_KEYMAP_LAYER_COUNT` to 4, but whatever. This appears to make the Configurator behave as expected with layer 3 and 4. * Use EEPROM to store RGB parameters * Add layer 2 and 3 to other keymaps * Add LED_SAVE command * Use eeprom_update_block to improve performance * Revert "Configuration values for starting HSV and speed (#7740)" This reverts commit de1f60fd370b4769336b8a707ee12657aee46412. * Update launch_1 rules.mk for changes in Qmk * WIP keycodes matching EC behavior * Modify default layout to match design * Apply updates to jeremy layout * Improvements to RGB keycodes * system76_ec: Add mode to disable layer backlight * launch_1: Use `KC_NO` instead of `KC_TRNS` for default layout * Revert "launch_1: Use `KC_NO` instead of `KC_TRNS` for default layout" This reverts commit f71c5e7ac3cecbbb1a1f8934db1f329407fef041. * Fix building bootloader * Workaround for upstream orientation * Custom USB IDs for USB hubs, disable USB hub feature controller * Set USB mux orientation in a loop for one second * Set mux orientation 100 times with 10 ms delay * Update Jeremy's keymap * Update Levi's Launch keymap * Update flashing instructions and rewrite layout design instructions * Update README.md * Add a system76_ec command to disable input events For testing purposes. * Enable system76/launch_1 keyboard to work with QMK Firmware 0.15.3 - Migrate system76/launch_1 from 0.7.103: - Explicitly enable used RGB matrix effects - Initialize flags field of `rgb_config_t` union/struct - Account for header and source file location changes - Update AVR platform makefile with Atmel DFU bootloader option - Update ATmega32U4 bootloader to latest from Microchip - Format C sources with ClangFormat - Format Markdown text with Prettier * Remove System76 pre-release or test keyboards and keymaps * Add licensing and replace guards in headers for system76/launch_1 * Remove options impact for system76/launch_1 * Revert AVR platform changes for `atmel-dfu` bootloader * Update system76/launch_1 README * Add system76/launch_1 information JSON file * Replace `util/delay.h` timing abstractions in system76/launch_1 * Use I2C QMK abstractions in system76/launch_1 * Fully revert AVR platform changes for `atmel-dfu` bootloader * Move `layouts.sh` into `keyboards/system76` * Implement GitHub PR suggestions for system76/launch_1 * Make additional system76/launch_1 updates * Implement minor system76/launch_1 change requests * Add custom version of Bootmagic Lite and document fuse values for system76/launch_1 * Remove the RESET HID command from system76/launch_1 * Reorder `process_record_user` in system76/launch_1 * Add `post_rules.mk` to system76/launch_1 * Fix overlapping key in sytem76/launch_1
2 years ago
[Keyboard] Add system76/launch_1 keyboard (#15395) * WIP: virgo keyboard * Finish layout * Enable debugging and format * Debug keypresses * Add function layer * Fix whitespace * Fix some more whitespace * Add Jeremy's map * Add left split ortho 2U board * Enabled extrakeys for volume & media control * More work on split ortho 2U... ...but still not complete * Finish default layout * Fix many issues by renaming the keyboard * Add right half as a keyboard * Update config for right side * WIP: Add split ortho 2U board * WIP: Correct rules & config * More work on split ortho * More work on split ortho 2u * Nearing completion on split ortho * Remove left and right separate keyboards. Split ortho 2U is complete and they are not needed. * Add uglydense keyboard * Rename directory for uglydense * Swap right Fn and right ctrl keys * Add jeremy's layout * Add ian layout * Add reset key, which is very useful for flashing. * Add Levi's layout * Update Levi's layout * Fix Levi's Layout * Fix Levi's layout again * Add a README with some basic information * Add keymap customization info to uglydense readme * Make the readme make a little more sense. * Make John a layout with left fn and left super swapped * Update John's layout * Add Carl's layout * Add Sean's layout * Add reset keys to all layouts * Swap LALT & LGUI on default layout * shpurk keyboard: initial commit * Add nathaniel & shpurk layouts * Update instructions to include necesarry dependencies * Add Lrrr keyboard, ruler of Omicron Persei 8 * Update README for Lrrr * Update Lrrr it uses Caterina bootloader Also B1 wasn't working for Row 6, so I changed that to F6 * Swap RCTL & RALT * Un-swap RCTL and RALT, making RCTL closer to right thumb * Add printscreen to my layout * Rename lrrr to Launch, enbiggen L-Shift to 2U * Add layout files for Launch * Rename launch to launch_1 * Add levi layout for ortho_split_2u * Update carl keymap * Add launch testboard * Implement keyboard keycode reading using raw hid * Enable dynamic keymap * Add config support to launch_1 * Implement probe command, make logical key names match configurator * Update logical key names again * Add layout generator for keyboard configurator * Add board name and version * Add board name and version to test board * Fix issues with compiling board and version commands * Rename uglydense to launch_alpha_1 and launch_1 to launch_alpha_2 * Generate layouts for other launch prototypes * Fix launch_alpha_1 logical names * Add launch_beta_1 * Fix building production hex file with atmel-dfu bootloader * Limit backlight brightness * USB mux handling * Allow repeat start * Do USB MUX init before bootmagic * Fixes for mux init * Fix register write size for programmable function control * Ensure bit shifts are correct * Improve documentation * Fix when i2c read ack condition happens * Fix extra start in i2c_set * Add ISP instructions * Add fuse information * Refactor * Add RGB matrix support * Fix RGB matrix * Update Jeremy layout * Enable audio controls * Update Jeremy layout * Ensure that n-key rollover is used * Port changes to other launch boards * Configuration values for starting HSV and speed (#7740) * Define default HSV and speed for RGB matrix. * Documentation for configuration values RGB_MATRIX_STARTUP_HUE, RGB_MATRIX_STARTUP_SAT and RGB_MATRIX_STARTUP_VAL. * Document RGB_MATRIX_STARTUP_SPD. * Preserve the ordering. * Set default RGB mode, hue, and saturation * Reduce AVR clock to 8MHz * Update launch_beta_1 with new USB ID * Update default LED mode * Set default hue * Disable RGB while suspended * Add led value and color commands * Add max value to CMD_LED_GET_VALUE * Do not save custom mode to eeprom * Add reset to bootloader command for Launch keyboard * Rename launch_beta_1 to launch_1 * Enable LTO when compiling for launch_1 * Allow setting individual LED's * Convert tabs to spaces * Unlock on RESET keypress: - Display unlock pattern - Disable LED get/set functions - Enable reset to bootloader function * Reduce brightness of rainbow backdrop in unlock pattern * Add hid commands for setting led matrix mode This changes the color setting to not change the mode, and set the hue and saturation for QMK effects. * Fix `CMD_LED_GET_MODE` * Add Levi's Launch layout * Fix layer mistake in Levi's Launch layout * Add matrix command * Define default RGB matrix speed * Add active_keys effect * Move definition of RGB modes inside ifdef testing for custom RGB modes * RGB parameters per layer * fix: Call `system76_ec_rgb_layer` after setting mode * Include layer 3 and 4 in default layout for launch_1 I added support for layer 3 and 4 to the Configurator, but it seems to load bogus values. `dynamic_keymap_reset()` has a comment saying: ``` // Reset the keymaps in EEPROM to what is in flash. // All keyboards using dynamic keymaps should define a layout // for the same number of layers as DYNAMIC_KEYMAP_LAYER_COUNT ``` Other keyboards seem to have default layouts that only list the first two layers while setting `DYNAMIC_KEYMAP_LAYER_COUNT` to 4, but whatever. This appears to make the Configurator behave as expected with layer 3 and 4. * Use EEPROM to store RGB parameters * Add layer 2 and 3 to other keymaps * Add LED_SAVE command * Use eeprom_update_block to improve performance * Revert "Configuration values for starting HSV and speed (#7740)" This reverts commit de1f60fd370b4769336b8a707ee12657aee46412. * Update launch_1 rules.mk for changes in Qmk * WIP keycodes matching EC behavior * Modify default layout to match design * Apply updates to jeremy layout * Improvements to RGB keycodes * system76_ec: Add mode to disable layer backlight * launch_1: Use `KC_NO` instead of `KC_TRNS` for default layout * Revert "launch_1: Use `KC_NO` instead of `KC_TRNS` for default layout" This reverts commit f71c5e7ac3cecbbb1a1f8934db1f329407fef041. * Fix building bootloader * Workaround for upstream orientation * Custom USB IDs for USB hubs, disable USB hub feature controller * Set USB mux orientation in a loop for one second * Set mux orientation 100 times with 10 ms delay * Update Jeremy's keymap * Update Levi's Launch keymap * Update flashing instructions and rewrite layout design instructions * Update README.md * Add a system76_ec command to disable input events For testing purposes. * Enable system76/launch_1 keyboard to work with QMK Firmware 0.15.3 - Migrate system76/launch_1 from 0.7.103: - Explicitly enable used RGB matrix effects - Initialize flags field of `rgb_config_t` union/struct - Account for header and source file location changes - Update AVR platform makefile with Atmel DFU bootloader option - Update ATmega32U4 bootloader to latest from Microchip - Format C sources with ClangFormat - Format Markdown text with Prettier * Remove System76 pre-release or test keyboards and keymaps * Add licensing and replace guards in headers for system76/launch_1 * Remove options impact for system76/launch_1 * Revert AVR platform changes for `atmel-dfu` bootloader * Update system76/launch_1 README * Add system76/launch_1 information JSON file * Replace `util/delay.h` timing abstractions in system76/launch_1 * Use I2C QMK abstractions in system76/launch_1 * Fully revert AVR platform changes for `atmel-dfu` bootloader * Move `layouts.sh` into `keyboards/system76` * Implement GitHub PR suggestions for system76/launch_1 * Make additional system76/launch_1 updates * Implement minor system76/launch_1 change requests * Add custom version of Bootmagic Lite and document fuse values for system76/launch_1 * Remove the RESET HID command from system76/launch_1 * Reorder `process_record_user` in system76/launch_1 * Add `post_rules.mk` to system76/launch_1 * Fix overlapping key in sytem76/launch_1
2 years ago
[Keyboard] Add system76/launch_1 keyboard (#15395) * WIP: virgo keyboard * Finish layout * Enable debugging and format * Debug keypresses * Add function layer * Fix whitespace * Fix some more whitespace * Add Jeremy's map * Add left split ortho 2U board * Enabled extrakeys for volume & media control * More work on split ortho 2U... ...but still not complete * Finish default layout * Fix many issues by renaming the keyboard * Add right half as a keyboard * Update config for right side * WIP: Add split ortho 2U board * WIP: Correct rules & config * More work on split ortho * More work on split ortho 2u * Nearing completion on split ortho * Remove left and right separate keyboards. Split ortho 2U is complete and they are not needed. * Add uglydense keyboard * Rename directory for uglydense * Swap right Fn and right ctrl keys * Add jeremy's layout * Add ian layout * Add reset key, which is very useful for flashing. * Add Levi's layout * Update Levi's layout * Fix Levi's Layout * Fix Levi's layout again * Add a README with some basic information * Add keymap customization info to uglydense readme * Make the readme make a little more sense. * Make John a layout with left fn and left super swapped * Update John's layout * Add Carl's layout * Add Sean's layout * Add reset keys to all layouts * Swap LALT & LGUI on default layout * shpurk keyboard: initial commit * Add nathaniel & shpurk layouts * Update instructions to include necesarry dependencies * Add Lrrr keyboard, ruler of Omicron Persei 8 * Update README for Lrrr * Update Lrrr it uses Caterina bootloader Also B1 wasn't working for Row 6, so I changed that to F6 * Swap RCTL & RALT * Un-swap RCTL and RALT, making RCTL closer to right thumb * Add printscreen to my layout * Rename lrrr to Launch, enbiggen L-Shift to 2U * Add layout files for Launch * Rename launch to launch_1 * Add levi layout for ortho_split_2u * Update carl keymap * Add launch testboard * Implement keyboard keycode reading using raw hid * Enable dynamic keymap * Add config support to launch_1 * Implement probe command, make logical key names match configurator * Update logical key names again * Add layout generator for keyboard configurator * Add board name and version * Add board name and version to test board * Fix issues with compiling board and version commands * Rename uglydense to launch_alpha_1 and launch_1 to launch_alpha_2 * Generate layouts for other launch prototypes * Fix launch_alpha_1 logical names * Add launch_beta_1 * Fix building production hex file with atmel-dfu bootloader * Limit backlight brightness * USB mux handling * Allow repeat start * Do USB MUX init before bootmagic * Fixes for mux init * Fix register write size for programmable function control * Ensure bit shifts are correct * Improve documentation * Fix when i2c read ack condition happens * Fix extra start in i2c_set * Add ISP instructions * Add fuse information * Refactor * Add RGB matrix support * Fix RGB matrix * Update Jeremy layout * Enable audio controls * Update Jeremy layout * Ensure that n-key rollover is used * Port changes to other launch boards * Configuration values for starting HSV and speed (#7740) * Define default HSV and speed for RGB matrix. * Documentation for configuration values RGB_MATRIX_STARTUP_HUE, RGB_MATRIX_STARTUP_SAT and RGB_MATRIX_STARTUP_VAL. * Document RGB_MATRIX_STARTUP_SPD. * Preserve the ordering. * Set default RGB mode, hue, and saturation * Reduce AVR clock to 8MHz * Update launch_beta_1 with new USB ID * Update default LED mode * Set default hue * Disable RGB while suspended * Add led value and color commands * Add max value to CMD_LED_GET_VALUE * Do not save custom mode to eeprom * Add reset to bootloader command for Launch keyboard * Rename launch_beta_1 to launch_1 * Enable LTO when compiling for launch_1 * Allow setting individual LED's * Convert tabs to spaces * Unlock on RESET keypress: - Display unlock pattern - Disable LED get/set functions - Enable reset to bootloader function * Reduce brightness of rainbow backdrop in unlock pattern * Add hid commands for setting led matrix mode This changes the color setting to not change the mode, and set the hue and saturation for QMK effects. * Fix `CMD_LED_GET_MODE` * Add Levi's Launch layout * Fix layer mistake in Levi's Launch layout * Add matrix command * Define default RGB matrix speed * Add active_keys effect * Move definition of RGB modes inside ifdef testing for custom RGB modes * RGB parameters per layer * fix: Call `system76_ec_rgb_layer` after setting mode * Include layer 3 and 4 in default layout for launch_1 I added support for layer 3 and 4 to the Configurator, but it seems to load bogus values. `dynamic_keymap_reset()` has a comment saying: ``` // Reset the keymaps in EEPROM to what is in flash. // All keyboards using dynamic keymaps should define a layout // for the same number of layers as DYNAMIC_KEYMAP_LAYER_COUNT ``` Other keyboards seem to have default layouts that only list the first two layers while setting `DYNAMIC_KEYMAP_LAYER_COUNT` to 4, but whatever. This appears to make the Configurator behave as expected with layer 3 and 4. * Use EEPROM to store RGB parameters * Add layer 2 and 3 to other keymaps * Add LED_SAVE command * Use eeprom_update_block to improve performance * Revert "Configuration values for starting HSV and speed (#7740)" This reverts commit de1f60fd370b4769336b8a707ee12657aee46412. * Update launch_1 rules.mk for changes in Qmk * WIP keycodes matching EC behavior * Modify default layout to match design * Apply updates to jeremy layout * Improvements to RGB keycodes * system76_ec: Add mode to disable layer backlight * launch_1: Use `KC_NO` instead of `KC_TRNS` for default layout * Revert "launch_1: Use `KC_NO` instead of `KC_TRNS` for default layout" This reverts commit f71c5e7ac3cecbbb1a1f8934db1f329407fef041. * Fix building bootloader * Workaround for upstream orientation * Custom USB IDs for USB hubs, disable USB hub feature controller * Set USB mux orientation in a loop for one second * Set mux orientation 100 times with 10 ms delay * Update Jeremy's keymap * Update Levi's Launch keymap * Update flashing instructions and rewrite layout design instructions * Update README.md * Add a system76_ec command to disable input events For testing purposes. * Enable system76/launch_1 keyboard to work with QMK Firmware 0.15.3 - Migrate system76/launch_1 from 0.7.103: - Explicitly enable used RGB matrix effects - Initialize flags field of `rgb_config_t` union/struct - Account for header and source file location changes - Update AVR platform makefile with Atmel DFU bootloader option - Update ATmega32U4 bootloader to latest from Microchip - Format C sources with ClangFormat - Format Markdown text with Prettier * Remove System76 pre-release or test keyboards and keymaps * Add licensing and replace guards in headers for system76/launch_1 * Remove options impact for system76/launch_1 * Revert AVR platform changes for `atmel-dfu` bootloader * Update system76/launch_1 README * Add system76/launch_1 information JSON file * Replace `util/delay.h` timing abstractions in system76/launch_1 * Use I2C QMK abstractions in system76/launch_1 * Fully revert AVR platform changes for `atmel-dfu` bootloader * Move `layouts.sh` into `keyboards/system76` * Implement GitHub PR suggestions for system76/launch_1 * Make additional system76/launch_1 updates * Implement minor system76/launch_1 change requests * Add custom version of Bootmagic Lite and document fuse values for system76/launch_1 * Remove the RESET HID command from system76/launch_1 * Reorder `process_record_user` in system76/launch_1 * Add `post_rules.mk` to system76/launch_1 * Fix overlapping key in sytem76/launch_1
2 years ago
[Keyboard] Add system76/launch_1 keyboard (#15395) * WIP: virgo keyboard * Finish layout * Enable debugging and format * Debug keypresses * Add function layer * Fix whitespace * Fix some more whitespace * Add Jeremy's map * Add left split ortho 2U board * Enabled extrakeys for volume & media control * More work on split ortho 2U... ...but still not complete * Finish default layout * Fix many issues by renaming the keyboard * Add right half as a keyboard * Update config for right side * WIP: Add split ortho 2U board * WIP: Correct rules & config * More work on split ortho * More work on split ortho 2u * Nearing completion on split ortho * Remove left and right separate keyboards. Split ortho 2U is complete and they are not needed. * Add uglydense keyboard * Rename directory for uglydense * Swap right Fn and right ctrl keys * Add jeremy's layout * Add ian layout * Add reset key, which is very useful for flashing. * Add Levi's layout * Update Levi's layout * Fix Levi's Layout * Fix Levi's layout again * Add a README with some basic information * Add keymap customization info to uglydense readme * Make the readme make a little more sense. * Make John a layout with left fn and left super swapped * Update John's layout * Add Carl's layout * Add Sean's layout * Add reset keys to all layouts * Swap LALT & LGUI on default layout * shpurk keyboard: initial commit * Add nathaniel & shpurk layouts * Update instructions to include necesarry dependencies * Add Lrrr keyboard, ruler of Omicron Persei 8 * Update README for Lrrr * Update Lrrr it uses Caterina bootloader Also B1 wasn't working for Row 6, so I changed that to F6 * Swap RCTL & RALT * Un-swap RCTL and RALT, making RCTL closer to right thumb * Add printscreen to my layout * Rename lrrr to Launch, enbiggen L-Shift to 2U * Add layout files for Launch * Rename launch to launch_1 * Add levi layout for ortho_split_2u * Update carl keymap * Add launch testboard * Implement keyboard keycode reading using raw hid * Enable dynamic keymap * Add config support to launch_1 * Implement probe command, make logical key names match configurator * Update logical key names again * Add layout generator for keyboard configurator * Add board name and version * Add board name and version to test board * Fix issues with compiling board and version commands * Rename uglydense to launch_alpha_1 and launch_1 to launch_alpha_2 * Generate layouts for other launch prototypes * Fix launch_alpha_1 logical names * Add launch_beta_1 * Fix building production hex file with atmel-dfu bootloader * Limit backlight brightness * USB mux handling * Allow repeat start * Do USB MUX init before bootmagic * Fixes for mux init * Fix register write size for programmable function control * Ensure bit shifts are correct * Improve documentation * Fix when i2c read ack condition happens * Fix extra start in i2c_set * Add ISP instructions * Add fuse information * Refactor * Add RGB matrix support * Fix RGB matrix * Update Jeremy layout * Enable audio controls * Update Jeremy layout * Ensure that n-key rollover is used * Port changes to other launch boards * Configuration values for starting HSV and speed (#7740) * Define default HSV and speed for RGB matrix. * Documentation for configuration values RGB_MATRIX_STARTUP_HUE, RGB_MATRIX_STARTUP_SAT and RGB_MATRIX_STARTUP_VAL. * Document RGB_MATRIX_STARTUP_SPD. * Preserve the ordering. * Set default RGB mode, hue, and saturation * Reduce AVR clock to 8MHz * Update launch_beta_1 with new USB ID * Update default LED mode * Set default hue * Disable RGB while suspended * Add led value and color commands * Add max value to CMD_LED_GET_VALUE * Do not save custom mode to eeprom * Add reset to bootloader command for Launch keyboard * Rename launch_beta_1 to launch_1 * Enable LTO when compiling for launch_1 * Allow setting individual LED's * Convert tabs to spaces * Unlock on RESET keypress: - Display unlock pattern - Disable LED get/set functions - Enable reset to bootloader function * Reduce brightness of rainbow backdrop in unlock pattern * Add hid commands for setting led matrix mode This changes the color setting to not change the mode, and set the hue and saturation for QMK effects. * Fix `CMD_LED_GET_MODE` * Add Levi's Launch layout * Fix layer mistake in Levi's Launch layout * Add matrix command * Define default RGB matrix speed * Add active_keys effect * Move definition of RGB modes inside ifdef testing for custom RGB modes * RGB parameters per layer * fix: Call `system76_ec_rgb_layer` after setting mode * Include layer 3 and 4 in default layout for launch_1 I added support for layer 3 and 4 to the Configurator, but it seems to load bogus values. `dynamic_keymap_reset()` has a comment saying: ``` // Reset the keymaps in EEPROM to what is in flash. // All keyboards using dynamic keymaps should define a layout // for the same number of layers as DYNAMIC_KEYMAP_LAYER_COUNT ``` Other keyboards seem to have default layouts that only list the first two layers while setting `DYNAMIC_KEYMAP_LAYER_COUNT` to 4, but whatever. This appears to make the Configurator behave as expected with layer 3 and 4. * Use EEPROM to store RGB parameters * Add layer 2 and 3 to other keymaps * Add LED_SAVE command * Use eeprom_update_block to improve performance * Revert "Configuration values for starting HSV and speed (#7740)" This reverts commit de1f60fd370b4769336b8a707ee12657aee46412. * Update launch_1 rules.mk for changes in Qmk * WIP keycodes matching EC behavior * Modify default layout to match design * Apply updates to jeremy layout * Improvements to RGB keycodes * system76_ec: Add mode to disable layer backlight * launch_1: Use `KC_NO` instead of `KC_TRNS` for default layout * Revert "launch_1: Use `KC_NO` instead of `KC_TRNS` for default layout" This reverts commit f71c5e7ac3cecbbb1a1f8934db1f329407fef041. * Fix building bootloader * Workaround for upstream orientation * Custom USB IDs for USB hubs, disable USB hub feature controller * Set USB mux orientation in a loop for one second * Set mux orientation 100 times with 10 ms delay * Update Jeremy's keymap * Update Levi's Launch keymap * Update flashing instructions and rewrite layout design instructions * Update README.md * Add a system76_ec command to disable input events For testing purposes. * Enable system76/launch_1 keyboard to work with QMK Firmware 0.15.3 - Migrate system76/launch_1 from 0.7.103: - Explicitly enable used RGB matrix effects - Initialize flags field of `rgb_config_t` union/struct - Account for header and source file location changes - Update AVR platform makefile with Atmel DFU bootloader option - Update ATmega32U4 bootloader to latest from Microchip - Format C sources with ClangFormat - Format Markdown text with Prettier * Remove System76 pre-release or test keyboards and keymaps * Add licensing and replace guards in headers for system76/launch_1 * Remove options impact for system76/launch_1 * Revert AVR platform changes for `atmel-dfu` bootloader * Update system76/launch_1 README * Add system76/launch_1 information JSON file * Replace `util/delay.h` timing abstractions in system76/launch_1 * Use I2C QMK abstractions in system76/launch_1 * Fully revert AVR platform changes for `atmel-dfu` bootloader * Move `layouts.sh` into `keyboards/system76` * Implement GitHub PR suggestions for system76/launch_1 * Make additional system76/launch_1 updates * Implement minor system76/launch_1 change requests * Add custom version of Bootmagic Lite and document fuse values for system76/launch_1 * Remove the RESET HID command from system76/launch_1 * Reorder `process_record_user` in system76/launch_1 * Add `post_rules.mk` to system76/launch_1 * Fix overlapping key in sytem76/launch_1
2 years ago
  1. {
  2. "keyboard_name": "Launch Configurable Keyboard (launch_1)",
  3. "manufacturer": "System76",
  4. "url": "https://system76.com/accessories/launch",
  5. "usb": {
  6. "vid": "0x3384",
  7. "pid": "0x0001",
  8. "device_version": "0.0.1"
  9. },
  10. "ws2812": {
  11. "pin": "E2"
  12. },
  13. "rgb_matrix": {
  14. "animations": {
  15. "cycle_all": true,
  16. "cycle_left_right": true,
  17. "cycle_up_down": true,
  18. "cycle_out_in": true,
  19. "cycle_out_in_dual": true,
  20. "rainbow_moving_chevron": true,
  21. "cycle_pinwheel": true,
  22. "cycle_spiral": true,
  23. "raindrops": true,
  24. "splash": true,
  25. "multisplash": true
  26. },
  27. "default": {
  28. "animation": "rainbow_moving_chevron",
  29. "hue": 142,
  30. "sat": 255,
  31. "speed": 127
  32. },
  33. "driver": "ws2812",
  34. "max_brightness": 176,
  35. "sleep": true
  36. },
  37. "matrix_pins": {
  38. "cols": ["D7", "C7", "C6", "B6", "B5", "B4", "D6", "D4", "E6", "D5", "D3", "D2", "B7", "B0"],
  39. "rows": ["F0", "F1", "F4", "F5", "F6", "F7"]
  40. },
  41. "diode_direction": "COL2ROW",
  42. "processor": "atmega32u4",
  43. "bootloader": "atmel-dfu",
  44. "layouts": {
  45. "LAYOUT": {
  46. "layout": [
  47. {"matrix": [0, 0], "x": 0, "y": 0},
  48. {"matrix": [0, 1], "x": 1, "y": 0},
  49. {"matrix": [0, 2], "x": 2, "y": 0},
  50. {"matrix": [0, 3], "x": 3, "y": 0},
  51. {"matrix": [0, 4], "x": 4, "y": 0},
  52. {"matrix": [0, 5], "x": 5, "y": 0},
  53. {"matrix": [0, 6], "x": 6, "y": 0},
  54. {"matrix": [0, 7], "x": 7, "y": 0},
  55. {"matrix": [0, 8], "x": 8, "y": 0},
  56. {"matrix": [0, 9], "x": 9, "y": 0},
  57. {"matrix": [0, 10], "x": 10, "y": 0},
  58. {"matrix": [0, 11], "x": 11, "y": 0},
  59. {"matrix": [0, 12], "x": 12, "y": 0},
  60. {"matrix": [0, 13], "x": 13, "y": 0, "w": 1.5},
  61. {"matrix": [3, 13], "x": 14.75, "y": 0},
  62. {"matrix": [1, 0], "x": 0, "y": 1},
  63. {"matrix": [1, 1], "x": 1, "y": 1},
  64. {"matrix": [1, 2], "x": 2, "y": 1},
  65. {"matrix": [1, 3], "x": 3, "y": 1},
  66. {"matrix": [1, 4], "x": 4, "y": 1},
  67. {"matrix": [1, 5], "x": 5, "y": 1},
  68. {"matrix": [1, 6], "x": 6, "y": 1},
  69. {"matrix": [1, 7], "x": 7, "y": 1},
  70. {"matrix": [1, 8], "x": 8, "y": 1},
  71. {"matrix": [1, 9], "x": 9, "y": 1},
  72. {"matrix": [1, 10], "x": 10, "y": 1},
  73. {"matrix": [1, 11], "x": 11, "y": 1},
  74. {"matrix": [1, 12], "x": 12, "y": 1},
  75. {"matrix": [1, 13], "x": 13, "y": 1, "w": 1.5},
  76. {"matrix": [4, 13], "x": 14.75, "y": 1},
  77. {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.5},
  78. {"matrix": [2, 1], "x": 1.5, "y": 2},
  79. {"matrix": [2, 2], "x": 2.5, "y": 2},
  80. {"matrix": [2, 3], "x": 3.5, "y": 2},
  81. {"matrix": [2, 4], "x": 4.5, "y": 2},
  82. {"matrix": [2, 5], "x": 5.5, "y": 2},
  83. {"matrix": [2, 6], "x": 6.5, "y": 2},
  84. {"matrix": [2, 7], "x": 7.5, "y": 2},
  85. {"matrix": [2, 8], "x": 8.5, "y": 2},
  86. {"matrix": [2, 9], "x": 9.5, "y": 2},
  87. {"matrix": [2, 10], "x": 10.5, "y": 2},
  88. {"matrix": [2, 11], "x": 11.5, "y": 2},
  89. {"matrix": [2, 12], "x": 12.5, "y": 2},
  90. {"matrix": [2, 13], "x": 13.5, "y": 2},
  91. {"matrix": [5, 13], "x": 14.75, "y": 2},
  92. {"matrix": [3, 0], "x": 0.25, "y": 3, "w": 1.5},
  93. {"matrix": [3, 1], "x": 1.75, "y": 3},
  94. {"matrix": [3, 2], "x": 2.75, "y": 3},
  95. {"matrix": [3, 3], "x": 3.75, "y": 3},
  96. {"matrix": [3, 4], "x": 4.75, "y": 3},
  97. {"matrix": [3, 5], "x": 5.75, "y": 3},
  98. {"matrix": [3, 6], "x": 6.75, "y": 3},
  99. {"matrix": [3, 7], "x": 7.75, "y": 3},
  100. {"matrix": [3, 8], "x": 8.75, "y": 3},
  101. {"matrix": [3, 9], "x": 9.75, "y": 3},
  102. {"matrix": [3, 10], "x": 10.75, "y": 3},
  103. {"matrix": [3, 11], "x": 11.75, "y": 3},
  104. {"matrix": [3, 12], "x": 12.75, "y": 3, "w": 1.5},
  105. {"matrix": [5, 5], "x": 14.75, "y": 3},
  106. {"matrix": [4, 0], "x": 0.25, "y": 4, "w": 2},
  107. {"matrix": [4, 1], "x": 2.25, "y": 4},
  108. {"matrix": [4, 2], "x": 3.25, "y": 4},
  109. {"matrix": [4, 3], "x": 4.25, "y": 4},
  110. {"matrix": [4, 4], "x": 5.25, "y": 4},
  111. {"matrix": [4, 5], "x": 6.25, "y": 4},
  112. {"matrix": [4, 6], "x": 7.25, "y": 4},
  113. {"matrix": [4, 7], "x": 8.25, "y": 4},
  114. {"matrix": [4, 8], "x": 9.25, "y": 4},
  115. {"matrix": [4, 9], "x": 10.25, "y": 4},
  116. {"matrix": [4, 10], "x": 11.25, "y": 4},
  117. {"matrix": [4, 11], "x": 12.25, "y": 4, "w": 1.5},
  118. {"matrix": [4, 12], "x": 13.75, "y": 4},
  119. {"matrix": [5, 0], "x": 0.25, "y": 5, "w": 1.5},
  120. {"matrix": [5, 1], "x": 1.75, "y": 5},
  121. {"matrix": [5, 2], "x": 2.75, "y": 5},
  122. {"matrix": [5, 3], "x": 3.75, "y": 5},
  123. {"matrix": [5, 4], "x": 4.75, "y": 5, "w": 2},
  124. {"matrix": [5, 6], "x": 6.75, "y": 5, "w": 2},
  125. {"matrix": [5, 7], "x": 8.75, "y": 5},
  126. {"matrix": [5, 8], "x": 9.75, "y": 5},
  127. {"matrix": [5, 9], "x": 10.75, "y": 5, "w": 1.5},
  128. {"matrix": [5, 10], "x": 12.75, "y": 5},
  129. {"matrix": [5, 11], "x": 13.75, "y": 5},
  130. {"matrix": [5, 12], "x": 14.75, "y": 5}
  131. ]
  132. }
  133. }
  134. }