Co-authored-by: Ian Sterling <503326@MC02YT9K9LVCF.tld>
Co-authored-by: Ian Sterling <80361942+iansterlingaaa@users.noreply.github.com>
Co-authored-by: Ian Sterling <xyverz@paeroa-arch.localdomain>
* info.json: apply friendly formatting
* rename LAYOUT_all to LAYOUT_tkl_f13_ansi_tsangan
* enable Community Layout support
* refactor keymaps to use grid alignment
* phaseone.h: add matrix diagram
* add QMK Configurator data
* add LAYOUT_65_ansi_blocker_split_bs macro
* add LAYOUT_65_ansi_wkl_split_bs macro
* add LAYOUT_65_iso_blocker macro
* add LAYOUT_65_iso_blocker_split_bs macro
* add LAYOUT_65_iso_wkl macro
* add LAYOUT_65_iso_wkl_split_bs macro
* rename LAYOUT_65_ansi_wkl to LAYOUT_65_ansi_blocker_tsangan_wkl
Differentiates the layout supported here from QMK's `65_ansi_blocker_tsangan` Community Layout, which is equivalent to this but with a 1u GUI key between Left Ctrl and Left Alt.
* rename new layout macros for codebase consistency
- `LAYOUT_65_ansi_wkl_split_bs` -> `LAYOUT_65_ansi_blocker_tsangan_wkl_split_bs`
- `LAYOUT_65_iso_wkl` -> `LAYOUT_65_iso_blocker_tsangan_wkl`
- `LAYOUT_65_iso_wkl_split_bs` -> `LAYOUT_65_iso_blocker_tsangan_wkl_split_bs`
* add reference keymaps
Add keymaps which demonstrate the layout macro implementations.
* info.json: apply friendly formatting
* info.json: remove dead space from rendering
* info.json: insert line breaks between physical rows in layout data
* info.json: fix overlap in key rendering
Fixes an issue where the ANSI Enter key renders on top of the ISO Hash/Tilde key, visually hiding the latter.
* add LAYOUT_ansi_all macro with associated keymap
Duplicates `LAYOUT_all`, but with the ISO Hash/Tilde and ISO Backslash keys removed.
- ANSI Enter and 2.25u Left Shift
- Backspace, Right Shift, Numpad Plus and Numpad Enter all split
- 1.5 / 1 / 1.5 / 6.25 / 1.25 / 1.25 / 1.25 Bottom Row
* add LAYOUT_iso_all macro with associated keymap
Duplicates `LAYOUT_all`, but with the ANSI Backslash key removed.
- ISO Enter and 1.25u Left Shift
- Backspace, Right Shift, Numpad Plus and Numpad Enter all split
- 1.5 / 1 / 1.5 / 6.25 / 1.25 / 1.25 / 1.25 Bottom Row
* Fix platforms/avr/drivers/ws2812.c
`platforms/avr/drivers/ws2812.c` has been changed to use `DDRx_ADDRESS()` and `PORTx_ADDRESS()` instead of `_SFR_IO8()` in #8646. To use them, `#include <pin_defs.h>` is required.
## Error Log
* create new keyboard
```shell
bash-3.2$ qmk new-keyboard
Ψ Generating a new QMK keyboard directory
Name Your Keyboard Project
For more infomation, see:
https://docs.qmk.fm/#/hardware_keyboard_guidelines?id=naming-your-keyboardproject
Keyboard Name? ws2812_test
..................................
36. WB32F3G71
Please enter your choice: [12]
Ψ Created a new keyboard called ws2812_test.
Ψ To start working on things, `cd` into keyboards/ws2812_test,
Ψ or open the directory in your preferred text editor.
Ψ And build with qmk compile -kb ws2812_test -km default.
```
* Enable RGBLIGHT.
```shell
bash-3.2$ echo RGBLIGHT_ENABLE=yes >> ./keyboards/ws2812_test/rules.mk
bash-3.2$ echo '#define RGB_DI_PIN B1' >> ./keyboards/ws2812_test/config.h
bash-3.2$ echo '#define RGBLED_NUM 6' >> ./keyboards/ws2812_test/config.h
```
* Compile
```shell
bash-3.2$ make ws2812_test:default
QMK Firmware 0.16.9
Making ws2812_test with keymap default
avr-gcc (Homebrew AVR GCC 8.4.0_2) 8.4.0
Copyright (C) 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
.....................
Compiling: quantum/process_keycode/process_rgb.c [OK]
Compiling: platforms/avr/drivers/ws2812.c platforms/avr/drivers/ws2812.c: In function 'ws2812_setleds':
platforms/avr/drivers/ws2812.c:40:5: error: implicit declaration of function 'DDRx_ADDRESS' [-Werror=implicit-function-declaration]
DDRx_ADDRESS(RGB_DI_PIN) |= pinmask(RGB_DI_PIN);
^~~~~~~~~~~~
In file included from <command-line>:
./keyboards/ws2812_test/config.h:21:20: error: 'B1' undeclared (first use in this function); did you mean 'PB1'?
#define RGB_DI_PIN B1
^~
platforms/avr/drivers/ws2812.c:40:18: note: in expansion of macro 'RGB_DI_PIN'
DDRx_ADDRESS(RGB_DI_PIN) |= pinmask(RGB_DI_PIN);
^~~~~~~~~~
./keyboards/ws2812_test/config.h:21:20: note: each undeclared identifier is reported only once for each function it appears in
#define RGB_DI_PIN B1
^~
platforms/avr/drivers/ws2812.c:40:18: note: in expansion of macro 'RGB_DI_PIN'
DDRx_ADDRESS(RGB_DI_PIN) |= pinmask(RGB_DI_PIN);
^~~~~~~~~~
platforms/avr/drivers/ws2812.c:42:47: error: implicit declaration of function 'PORTx_ADDRESS' [-Werror=implicit-function-declaration]
uint8_t masklo = ~(pinmask(RGB_DI_PIN)) & PORTx_ADDRESS(RGB_DI_PIN);
^~~~~~~~~~~~~
In file included from /usr/local/Cellar/avr-gcc@8/8.4.0_2/avr/include/avr/io.h:99,
from /usr/local/Cellar/avr-gcc@8/8.4.0_2/avr/include/avr/interrupt.h:38,
from platforms/avr/drivers/ws2812.c:24:
platforms/avr/drivers/ws2812.c: In function 'ws2812_sendarray_mask':
./keyboards/ws2812_test/config.h:21:20: error: 'B1' undeclared (first use in this function); did you mean 'PB1'?
#define RGB_DI_PIN B1
^~
platforms/avr/drivers/ws2812.c:167:69: note: in expansion of macro 'RGB_DI_PIN'
: "r"(curbyte), "I"(_SFR_IO_ADDR(PORTx_ADDRESS(RGB_DI_PIN))), "r"(maskhi), "r"(masklo));
^~~~~~~~~~
cc1: all warnings being treated as errors
[ERRORS]
|
|
|
make[1]: *** [.build/obj_ws2812_test_default/ws2812.o] Error 1
make: *** [ws2812_test:default] Error 1
Make finished with errors
```
* change include order
* add users/mtei/key_blocks.h
This change does not alter the binary of the build result.
Moved common macro definitions in the following files to users/mtei/key_blocks.h.
* keyboards/helix/rev2/keymaps/five_rows/keymap.c
* keyboards/helix/rev3_5rows/keymaps/five_rows/keymap.c
* remove INIT_HELIX_OLED() in helix:five_rows
This change does not alter the binary of the build result.
* update helix/pico/keymaps/mtei/keymap.c
Changed helix/pico/keymaps/mtei/keymap.c to use users/mtei/key_blocks.h.
This change does not alter the binary of the build result.
* Remove old SSD1306OLED code from users/mtei/oled_display.c
This change does not alter the binary of the build result.
* add options ENABLE_COLEMAK, ENABLE_DVORAK and ENABLE_EUCALYN into five_rows/keymap.c
* add users/mtei/{config.h,rules.mk,user_featues.mk,user_options.mk}
* move layer_names[] from users/mtei/oled_display.c to keymaps/five_rows/keymap.c
* Update keyboards/helix/pico/keymaps/mtei/config.h
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/helix/pico/keymaps/mtei/config.h
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/helix/pico/keymaps/mtei/keymap.c
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/helix/rev2/keymaps/five_rows/config.h
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/helix/rev2/keymaps/five_rows/config.h
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/helix/rev2/keymaps/five_rows/keymap.c
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/helix/rev3_5rows/keymaps/five_rows/config.h
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/helix/rev3_5rows/keymaps/five_rows/config.h
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/helix/rev3_5rows/keymaps/five_rows/keymap.c
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update users/mtei/config.h
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update users/mtei/config.h
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update users/mtei/cpp_map.h
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update users/mtei/cpp_map.h
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update users/mtei/debug_config.h
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update users/mtei/debug_config.h
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update users/mtei/layer_number_util.h
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
* LAYOUT_iso: move Enter to home row
This commit makes the layout macro compatible with QMK's `tkl_nofrow_iso` Community Layout.
* rename LAYOUT_ansi to LAYOUT_tkl_nofrow_ansi
* rename LAYOUT_iso to LAYOUT_tkl_nofrow_iso
* enable Community Layout support
* LAYOUT_tkl_f13_ansi_tsangan support
Renames `LAYOUT_ansi_tsangan` to `LAYOUT_tkl_f13_ansi_tsangan`. Also enables Community Layout support.
* LAYOUT_tkl_f13_ansi_tsangan_split_bs_rshift support
* info.json: fix key sequence error
* info.json: fix visual rendering
Clarify the physical locations of the keys.
* info.json: update maintainer field
This field is meant to reference the maintainer's GitHub username.
* add tkl_f13_ansi_split_bs_rshift Community Layout
* add tkl_f13_ansi_tsangan_split_bs_rshift Community Layout
* add tkl_f13_iso_split_bs_rshift Community Layout
* add tkl_f13_iso_tsangan_split_bs_rshift Community Layout