keychron_qmk_firmware/keyboards/system76/launch_1/info.json
jecassis 8920db2b57
[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
2022-01-10 17:39:10 -08:00

95 lines
4.7 KiB
JSON

{
"keyboard_name": "System76 Launch Configurable Keyboard (launch_1)",
"url": "https://system76.com/accessories/launch",
"layouts": {
"LAYOUT": {
"layout": [
{ "label": "Esc", "x": 0, "y": 0 },
{ "label": "F1", "x": 1, "y": 0 },
{ "label": "F2", "x": 2, "y": 0 },
{ "label": "F3", "x": 3, "y": 0 },
{ "label": "F4", "x": 4, "y": 0 },
{ "label": "F5", "x": 5, "y": 0 },
{ "label": "F6", "x": 6, "y": 0 },
{ "label": "F7", "x": 7, "y": 0 },
{ "label": "F8", "x": 8, "y": 0 },
{ "label": "F9", "x": 9, "y": 0 },
{ "label": "F10", "x": 10, "y": 0 },
{ "label": "F11", "x": 11, "y": 0 },
{ "label": "F12", "x": 12, "y": 0 },
{ "label": "Del", "x": 13, "y": 0, "w": 1.5 },
{ "label": "Home", "x": 14.75, "y": 0 },
{ "label": "`", "x": 0, "y": 1 },
{ "label": "1", "x": 1, "y": 1 },
{ "label": "2", "x": 2, "y": 1 },
{ "label": "3", "x": 3, "y": 1 },
{ "label": "4", "x": 4, "y": 1 },
{ "label": "5", "x": 5, "y": 1 },
{ "label": "6", "x": 6, "y": 1 },
{ "label": "7", "x": 7, "y": 1 },
{ "label": "8", "x": 8, "y": 1 },
{ "label": "9", "x": 9, "y": 1 },
{ "label": "0", "x": 10, "y": 1 },
{ "label": "-", "x": 11, "y": 1 },
{ "label": "=", "x": 12, "y": 1 },
{ "label": "Bksp", "x": 13, "y": 1, "w": 1.5 },
{ "label": "PgUp", "x": 14.75, "y": 1 },
{ "label": "Tab", "x": 0, "y": 2, "w": 1.5 },
{ "label": "Q", "x": 1.5, "y": 2 },
{ "label": "W", "x": 2.5, "y": 2 },
{ "label": "E", "x": 3.5, "y": 2 },
{ "label": "R", "x": 4.5, "y": 2 },
{ "label": "T", "x": 5.5, "y": 2 },
{ "label": "Y", "x": 6.5, "y": 2 },
{ "label": "U", "x": 7.5, "y": 2 },
{ "label": "I", "x": 8.5, "y": 2 },
{ "label": "O", "x": 9.5, "y": 2 },
{ "label": "P", "x": 10.5, "y": 2 },
{ "label": "[", "x": 11.5, "y": 2 },
{ "label": "]", "x": 12.5, "y": 2 },
{ "label": "\\", "x": 13.5, "y": 2 },
{ "label": "PgDn", "x": 14.75, "y": 2 },
{ "label": "Caps", "x": 0.25, "y": 3, "w": 1.5 },
{ "label": "A", "x": 1.75, "y": 3 },
{ "label": "S", "x": 2.75, "y": 3 },
{ "label": "D", "x": 3.75, "y": 3 },
{ "label": "F", "x": 4.75, "y": 3 },
{ "label": "G", "x": 5.75, "y": 3 },
{ "label": "H", "x": 6.75, "y": 3 },
{ "label": "J", "x": 7.75, "y": 3 },
{ "label": "K", "x": 8.75, "y": 3 },
{ "label": "L", "x": 9.75, "y": 3 },
{ "label": ";", "x": 10.75, "y": 3 },
{ "label": "'", "x": 11.75, "y": 3 },
{ "label": "Enter", "x": 12.75, "y": 3, "w": 1.5 },
{ "label": "End", "x": 14.75, "y": 3 },
{ "label": "LShift", "x": 0.25, "y": 4, "w": 2 },
{ "label": "Z", "x": 2.25, "y": 4 },
{ "label": "X", "x": 3.25, "y": 4 },
{ "label": "C", "x": 4.25, "y": 4 },
{ "label": "V", "x": 5.25, "y": 4 },
{ "label": "B", "x": 6.25, "y": 4 },
{ "label": "N", "x": 7.25, "y": 4 },
{ "label": "M", "x": 8.25, "y": 4 },
{ "label": ",", "x": 9.25, "y": 4 },
{ "label": ".", "x": 10.25, "y": 4 },
{ "label": "/", "x": 11.25, "y": 4 },
{ "label": "RShift", "x": 12.25, "y": 4, "w": 1.5 },
{ "label": "Up", "x": 13.75, "y": 4 },
{ "label": "LCtrl", "x": 0.25, "y": 5, "w": 1.5 },
{ "label": "LAlt", "x": 1.75, "y": 5 },
{ "label": "LFn", "x": 2.75, "y": 5 },
{ "label": "Super", "x": 3.75, "y": 5 },
{ "label": "Space", "x": 4.75, "y": 5, "w": 2 },
{ "label": "Space", "x": 6.75, "y": 5, "w": 2 },
{ "label": "RCtrl", "x": 8.75, "y": 5 },
{ "label": "RAlt", "x": 9.75, "y": 5 },
{ "label": "RFn", "x": 10.75, "y": 5, "w": 1.5 },
{ "label": "Left", "x": 12.75, "y": 5 },
{ "label": "Down", "x": 13.75, "y": 5 },
{ "label": "Right", "x": 14.75, "y": 5 }
]
}
}
}