Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Helix i2c bps fix #11

Merged
merged 72 commits into from
Jun 21, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
72 commits
Select commit Hold shift + click to select a range
cb91320
Add Suspend functions (#3112)
drashna Jun 3, 2018
5229734
Add rgblight mode 35 (R,G,B test mode) (#3114)
mtei Jun 4, 2018
b05c153
change to ca66 kelorean layout (#3116)
KeLorean Jun 4, 2018
e354e36
Added ASCII legend to melody96 to help visualize the layouts (#3117)
fordmustang5l Jun 4, 2018
7498b18
Support ios to default keymap (#3118)
MakotoKurauchi Jun 4, 2018
c69ed8a
Keymap with dynamic macro (#3121)
crilith Jun 4, 2018
68d5e36
CU75: Refactor and Configurator updates (#3123)
noroadsleft Jun 4, 2018
6b1350d
[WIP] [Help Needed] Daisy 40%: Refactor and Configurator update (#3124)
noroadsleft Jun 4, 2018
c5b9533
adding all ErgoTravel Files (#3129)
jpconstantineau Jun 5, 2018
1ae011d
Gherkin wanleg (#3127)
wanleg Jun 5, 2018
96546c7
Adding SX60 work by amnobis and configurator settings (#3122)
amnesia0287 Jun 5, 2018
e921b9a
Add ErgoDash keyboard (#3128)
omkbd Jun 6, 2018
1986f56
remove trailing comma to fix parsing issue (#3130)
amnesia0287 Jun 6, 2018
97d5b6a
Refactor for DeltaSplit75 (#3132)
noroadsleft Jun 6, 2018
99e849a
Dichotemy: Refactor and Configurator update (#3133)
noroadsleft Jun 6, 2018
b5ab6a5
Diverge3: Readme Clean-up, Refactor and Configurator support (#3135)
noroadsleft Jun 6, 2018
87abed6
Sweeping Visualizer for Ergodox Inifinity (#3136)
Oryhara Jun 6, 2018
d864101
Added jwlawrence keymap for zen keyboard (#3137)
jwlawrence Jun 6, 2018
afa0a8d
Dilly: Refactor and Configurator support (#3134)
noroadsleft Jun 6, 2018
b5d6c04
Bootloader make issue (#2975)
yiancar Jun 6, 2018
66a35ad
Add premade layouts for Numpad 4x4, Numpad 5x4, Ortho 5x4, and Planck…
noroadsleft Jun 7, 2018
e3c10a7
Gherkin: Refactor and Configurator support [resolved] (#3140)
noroadsleft Jun 7, 2018
815dab6
Normacos update (#3141)
ArrogantBeggar Jun 7, 2018
3ab69e2
DK60: Refactor, Configurator and Readme updates (#3142)
noroadsleft Jun 7, 2018
7004e93
Eco: Refactor, Configurator support and Readme changes (#3143)
noroadsleft Jun 7, 2018
03c9deb
Add DCompact Layout for Chimera Ortho and Planck Keyboards (#3145)
loksonarius Jun 7, 2018
9846218
Keyboard that works on Qwerty or Bepo OS keyboards. (#3149)
EricGebhart Jun 8, 2018
85efa35
DZ60: Add LAYOUT_directional_625_space (#3148)
noroadsleft Jun 8, 2018
e08139b
Ergo42: Refactor and Configurator support (#3150)
noroadsleft Jun 8, 2018
300cf97
citadel: new keymap for pegasushoof (#3146)
droseger Jun 8, 2018
710937e
Add corne keyboard (#3119)
foostan Jun 8, 2018
f6a0adf
Fix KC_P00 macro for ortho_5x4 layout (#3152)
noroadsleft Jun 9, 2018
a474d6b
Additional default layouts: Fullsize ANSI, Fullsize ISO, TKL ISO (#3154)
noroadsleft Jun 9, 2018
aaeaf27
Adding Singa Repo w/ Config Support (#3155)
amnesia0287 Jun 9, 2018
4c9641f
Fixsingakeymaps (#3156)
amnesia0287 Jun 10, 2018
b034806
Add TKC keymap (#3157)
yanfali Jun 10, 2018
08210b3
Add Tetris keyboard to QMK (#3158)
YCF Jun 10, 2018
769854b
Felix: Refactor, Rules, and Configurator Support (#3160)
noroadsleft Jun 10, 2018
ca02b0d
Fortitude60: Refactor and Configurator support (#3161)
noroadsleft Jun 10, 2018
06487da
Added a multiple layout keymap for DZ60 (#3159)
brneor Jun 10, 2018
f535c94
Modifications to Dactyl manuform keyboard (#3162)
20lives Jun 12, 2018
e1a29c0
Fourier: Refactor and readme updates (#3163)
noroadsleft Jun 12, 2018
b9fea28
GH60: readme cleanup, Refactor, and Configurator update (#3164)
noroadsleft Jun 12, 2018
64df100
GH80-3000: Refactor and Configurator support (#3166)
noroadsleft Jun 12, 2018
d0e635a
GON NerD: Refactor, Configurator support and Readme cleanup (#3167)
noroadsleft Jun 12, 2018
2e8e833
Fix jj40 capslock and minor keymap updates (#3168)
Oscillope Jun 12, 2018
2bf18d0
Fix melody96 default keymap graphic. (#3169)
kaylanm Jun 12, 2018
974d155
fix issue with rgbinit unused variable (#3165)
ylixir Jun 13, 2018
454bc3c
Hadron: Readme, Refactor, and Configurator support (#3170)
noroadsleft Jun 13, 2018
698ce73
Ergodox EZ refactor (#3171)
noroadsleft Jun 13, 2018
1912f36
Configurator layout repair for Ergodone, Ergodox Infinity and ErgoTra…
noroadsleft Jun 13, 2018
bb4c020
Mbsurfer deltasplit75 keymap (#3174)
coryshaw1 Jun 13, 2018
c219a45
KBD66 info.json update (#3175)
noroadsleft Jun 14, 2018
034d025
Lightsaver info.json update (#3176)
noroadsleft Jun 14, 2018
82cf0dd
QMK Configurator Support for Melody96 (#3177)
mechmerlin Jun 14, 2018
85d4c15
Clueboard 2x1800 Refactor (#3179)
noroadsleft Jun 15, 2018
5164ec5
Fix bfake matrix bug (#3180)
mechmerlin Jun 15, 2018
709b2c4
Rename from KEYMAP to LAYOUT (#3181)
mechmerlin Jun 15, 2018
0a19a07
Add URL of PCB files to README.md (#3182)
yanfali Jun 15, 2018
ee266dd
Tada68 refactor and readme update (#3178)
noroadsleft Jun 15, 2018
2ee435e
planck/light/info.json fix (#3186)
noroadsleft Jun 15, 2018
1dfb29e
Canoe Refactor (#3190)
noroadsleft Jun 15, 2018
0f04a0a
Fixed no-op ifndef for ergodox ez (#3189)
alexmalott Jun 15, 2018
4e9fb1d
Contra refactor (#3191)
noroadsleft Jun 16, 2018
4cf4009
Ergodash refactor (#3196)
noroadsleft Jun 16, 2018
2435a52
felix info.json fix (#3195)
noroadsleft Jun 16, 2018
eccfb8d
SixKeyBoard refactor (#3193)
noroadsleft Jun 16, 2018
9cfd818
info.json for mini1800 (#3183)
devbryce Jun 16, 2018
e5cc089
ISO Keymap & Layout for dz60 (#3198)
jankolkmeier Jun 17, 2018
bf362b5
ScrabblePad Updates (#3200)
Jun 17, 2018
44660e7
allow programming the tomato keyboard through the reset keycode (#3201)
ylixir Jun 18, 2018
8128453
Fix Helix i2c wrong bit rate
mtei Jun 19, 2018
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
35 changes: 33 additions & 2 deletions docs/custom_quantum_functions.md
Original file line number Diff line number Diff line change
Expand Up @@ -135,9 +135,11 @@ void led_set_user(uint8_t usb_led) {
* Keyboard/Revision: `void led_set_kb(uint8_t usb_led)`
* Keymap: `void led_set_user(uint8_t usb_led)`


# Matrix Initialization Code

Before a keyboard can be used the hardware must be initialized. QMK handles initialization of the keyboard matrix itself, but if you have other hardware like LED's or i²c controllers you will need to set up that hardware before it can be used.
Before a keyboard can be used the hardware must be initialized. QMK handles initialization of the keyboard matrix itself, but if you have other hardware like LED's or i²c controllers you will need to set up that hardware before it can be used.


### Example `matrix_init_user()` Implementation

Expand Down Expand Up @@ -177,9 +179,38 @@ This function gets called at every matrix scan, which is basically as often as t
You should use this function if you need custom matrix scanning code. It can also be used for custom status output (such as LED's or a display) or other functionality that you want to trigger regularly even when the user isn't typing.


# Keyboard Idling/Wake Code

If the board supports it, it can be "idled", by stopping a number of functions. A good example of this is RGB lights or backlights. This can save on power consumption, or may be better behavior for your keyboard.

This is controlled by two functions: `suspend_power_down_*` and `suspend_wakeup_init_*`, which are called when the system is board is idled and when it wakes up, respectively.


### Example suspend_power_down_user() and suspend_wakeup_init_user() Implementation

This example, at the keyboard level, sets up B1, B2, and B3 as LED pins.

```
void suspend_power_down_user(void)
{
rgb_matrix_set_suspend_state(true);
}

void suspend_wakeup_init_user(void)
{
rgb_matrix_set_suspend_state(false);
}

```

### `keyboard_init_*` Function Documentation

* Keyboard/Revision: `void suspend_power_down_kb(void)` and `void suspend_wakeup_init_user(void)`
* Keymap: `void suspend_power_down_kb(void)` and `void suspend_wakeup_init_user(void)`

# Layer Change Code

Thir runs code every time that the layers get changed. This can be useful for layer indication, or custom layer handling.
This runs code every time that the layers get changed. This can be useful for layer indication, or custom layer handling.

### Example `layer_state_set_*` Implementation

Expand Down
1 change: 1 addition & 0 deletions docs/feature_rgblight.md
Original file line number Diff line number Diff line change
Expand Up @@ -146,6 +146,7 @@ These control the RGB Lighting functionality.
|`RGB_MODE_KNIGHT` |`RGB_M_K` |"Knight Rider" animation mode |
|`RGB_MODE_XMAS` |`RGB_M_X` |Christmas animation mode |
|`RGB_MODE_GRADIENT`|`RGB_M_G` |Static gradient animation mode |
|`RGB_MODE_RGBTEST `|`RGB_M_T` |Red,Green,Blue test animation mode |

note: for backwards compatibility, `RGB_SMOD` is an alias for `RGB_MOD`.

Expand Down
1 change: 1 addition & 0 deletions docs/keycodes.md
Original file line number Diff line number Diff line change
Expand Up @@ -283,6 +283,7 @@ This is a reference only. Each group of keys links to the page documenting their
|`RGB_MODE_KNIGHT` |`RGB_M_K` |"Knight Rider" animation mode |
|`RGB_MODE_XMAS` |`RGB_M_X` |Christmas animation mode |
|`RGB_MODE_GRADIENT`|`RGB_M_G` |Static gradient animation mode |
|`RGB_MODE_RGBTEST` |`RGB_M_T` |Red,Green,Blue test animation mode |

## [RGB Matrix Lighting](feature_rgb_matrix.md)

Expand Down
35 changes: 26 additions & 9 deletions keyboards/bfake/bfake.h
Original file line number Diff line number Diff line change
Expand Up @@ -25,16 +25,33 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
K11, K01, K02, K03, K04, K14, K15, K05, K06, K07, K08, K18, K16, K20, \
K12, K21, K22, K23, K24, K34, K35, K25, K26, K27, K28, K38, K40, \
K19, K13, K41, K42, K43, K44, K54, K55, K45, K46, K47, K58, K49, K50,\
K09, K00, K39, K30, K59, K69, K37, K29\
K09, K00, K39, K30, K59, K69, K57, K29\
){ \
{ KC_NO, K01, K02, K03, K04, K05, K06, K07, K08, K09, K00}, \
{ KC_NO, K11, K12, K13, K14, K15, K16, KC_NO, K18, K19, K10}, \
{ KC_NO, K21, K22, K23, K24, K25, K26, K27, K28, K29, K20}, \
{ KC_NO, KC_NO, KC_NO, KC_NO, K34, K35, KC_NO, K37, K38, K39, K30}, \
{ KC_NO, K41, K42, K43, K44, K45, K46, K47, KC_NO, K49, K40}, \
{ KC_NO, KC_NO, KC_NO, KC_NO, K54, K55, KC_NO, KC_NO, K58, K59, K50}, \
{ KC_NO, K61, KC_NO, KC_NO, K64, K65, K66, KC_NO, K68, K69, K60}, \
{ KC_NO, K71, K72, K73, K74, K75, K76, K77, K78, KC_NO, KC_NO}, \
{ KC_NO, K01, K02, K03, K04, K05, K06, K07, K08, K09, K00}, \
{ KC_NO, K11, K12, K13, K14, K15, K16, KC_NO, K18, K19, K10}, \
{ KC_NO, K21, K22, K23, K24, K25, K26, K27, K28, K29, K20}, \
{ KC_NO, KC_NO, KC_NO, KC_NO, K34, K35, KC_NO, KC_NO, K38, K39, K30}, \
{ KC_NO, K41, K42, K43, K44, K45, K46, K47, KC_NO, K49, K40}, \
{ KC_NO, KC_NO, KC_NO, KC_NO, K54, K55, KC_NO, K57, K58, K59, K50}, \
{ KC_NO, K61, KC_NO, KC_NO, K64, K65, K66, KC_NO, K68, K69, K60}, \
{ KC_NO, K71, K72, K73, K74, K75, K76, K77, K78, KC_NO, KC_NO}, \
}

#define LAYOUT_60_ansi( \
K61, K71, K72, K73, K74, K64, K65, K75, K76, K77, K78, K68, K66, K60,\
K11, K01, K02, K03, K04, K14, K15, K05, K06, K07, K08, K18, K16, K20, \
K12, K21, K22, K23, K24, K34, K35, K25, K26, K27, K28, K38, K40, \
K19, K41, K42, K43, K44, K54, K55, K45, K46, K47, K58, K49, \
K09, K00, K39, K30, K59, K69, K57, K29\
){ \
{ KC_NO, K01, K02, K03, K04, K05, K06, K07, K08, K09, K00}, \
{ KC_NO, K11, K12, KC_NO, K14, K15, K16, KC_NO, K18, K19, KC_NO}, \
{ KC_NO, K21, K22, K23, K24, K25, K26, K27, K28, K29, K20}, \
{ KC_NO, KC_NO, KC_NO, KC_NO, K34, K35, KC_NO, KC_NO, K38, K39, K30}, \
{ KC_NO, K41, K42, K43, K44, K45, K46, K47, KC_NO, K49, K40}, \
{ KC_NO, KC_NO, KC_NO, KC_NO, K54, K55, KC_NO, K57, K58, K59, KC_NO}, \
{ KC_NO, K61, KC_NO, KC_NO, K64, K65, K66, KC_NO, K68, K69, K60}, \
{ KC_NO, K71, K72, K73, K74, K75, K76, K77, K78, KC_NO, KC_NO}, \
}

#endif
4 changes: 4 additions & 0 deletions keyboards/bfake/info.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,10 @@
"layouts": {
"LAYOUT_all": {
"layout": [{"label":"~", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"@", "x":2, "y":0}, {"label":"#", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"|", "x":13.5, "y":1, "w":1.5}, {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, {"label":"A", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"\"", "x":11.75, "y":2}, {"label":"Enter", "x":12.75, "y":2, "w":2.25}, {"label":"Shift", "x":0, "y":3, "w":1.25}, {"x":1.25, "y":3}, {"label":"Z", "x":2.25, "y":3}, {"label":"X", "x":3.25, "y":3}, {"label":"C", "x":4.25, "y":3}, {"label":"V", "x":5.25, "y":3}, {"label":"B", "x":6.25, "y":3}, {"label":"N", "x":7.25, "y":3}, {"label":"M", "x":8.25, "y":3}, {"label":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"?", "x":11.25, "y":3}, {"label":"Shift", "x":12.25, "y":3, "w":1.75}, {"x":14, "y":3}, {"label":"Ctrl", "x":0, "y":4, "w":1.25}, {"label":"Win", "x":1.25, "y":4, "w":1.25}, {"label":"Alt", "x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"label":"Alt", "x":10, "y":4, "w":1.25}, {"label":"Win", "x":11.25, "y":4, "w":1.25}, {"label":"Menu", "x":12.5, "y":4, "w":1.25}, {"label":"Ctrl", "x":13.75, "y":4, "w":1.25}]
},

"LAYOUT_60_ansi": {
"layout": [{"label":"~", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"@", "x":2, "y":0}, {"label":"#", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"label":"Backspace", "x":13, "y":0, "w":2}, {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"|", "x":13.5, "y":1, "w":1.5}, {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, {"label":"A", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"\"", "x":11.75, "y":2}, {"label":"Enter", "x":12.75, "y":2, "w":2.25}, {"label":"Shift", "x":0, "y":3, "w":2.25}, {"label":"Z", "x":2.25, "y":3}, {"label":"X", "x":3.25, "y":3}, {"label":"C", "x":4.25, "y":3}, {"label":"V", "x":5.25, "y":3}, {"label":"B", "x":6.25, "y":3}, {"label":"N", "x":7.25, "y":3}, {"label":"M", "x":8.25, "y":3}, {"label":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"?", "x":11.25, "y":3}, {"label":"Shift", "x":12.25, "y":3, "w":2.75}, {"label":"Ctrl", "x":0, "y":4, "w":1.25}, {"label":"Win", "x":1.25, "y":4, "w":1.25}, {"label":"Alt", "x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"label":"Alt", "x":10, "y":4, "w":1.25}, {"label":"Win", "x":11.25, "y":4, "w":1.25}, {"label":"Menu", "x":12.5, "y":4, "w":1.25}, {"label":"Ctrl", "x":13.75, "y":4, "w":1.25}]
}
}
}
6 changes: 3 additions & 3 deletions keyboards/bfake/readme.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
B.fake
========

A 60% keyboard with RGB
A 60% keyboard with RGB. The B.fake pcb is a copy of the B.face PCB sold by [winkeyless](https://winkeyless.kr/). However, the switch matrix is actually the same as the [FaceW](https://github.com/qmk/qmk_firmware/tree/master/keyboards/facew), a ps2avr PCB sold on [mechanicalkeyboards.com](https://mechanicalkeyboards.com/).

Keyboard Maintainer: QMK Community
Hardware Supported: B.fake PCB
Keyboard Maintainer: QMK Community
Hardware Supported: B.fake PCB
Hardware Availability: https://www.aliexpress.com/store/product/bface-60-RGB-underground-copy-pcb-from-china-gh60-pcb-Customize-keyboard-PCB/2230037_32731084597.html

Make example for this keyboard (after setting up your build environment):
Expand Down
4 changes: 4 additions & 0 deletions keyboards/bigswitch/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@ Big Switch PCB by flehrad

Designed by Don of the Board Podcast and sold as a kit by [keeb.io](https://keeb.io/collections/frontpage/products/big-switch-pcb?variant=7507922845726)

### PCB Files

https://github.com/flehrad/Big-Switch-PCB

### Technical Specifications

* Uses a atmega32u4 pro micro or pin compatible MCU
Expand Down
41 changes: 23 additions & 18 deletions keyboards/canoe/canoe.h
Original file line number Diff line number Diff line change
Expand Up @@ -20,35 +20,40 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.

#include "quantum.h"

#define _x_ KC_NO

#define LAYOUT_iso( \
K0D, K0C, K0B, K0A, K09, K08, K07, K06, K05, K04, K03, K02, K01, K00, K0E, \
K1D, K1C, K1B, K1A, K19, K18, K17, K16, K15, K14, K13, K12, K11, K1E, \
K1D, K1C, K1B, K1A, K19, K18, K17, K16, K15, K14, K13, K12, K11, K1E, \
K2D, K2C, K2B, K2A, K29, K28, K27, K26, K25, K24, K23, K22, K10, K21, K2E, \
K3D, K4A, K3C, K3B, K3A, K39, K38, K37, K36, K35, K34, K33, K32, K30, K3E, \
K4D, K4C, K4B, K48, K44, K43, K42, K40, K4E \
K4D, K4C, K4B, K48, K44, K43, K42, K40, K4E \
){ \
{ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \
{ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \
{ KC_NO, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E }, \
{ K30, KC_NO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \
{ K40, KC_NO, K42, K43, K44, KC_NO, KC_NO, KC_NO, K48, KC_NO, K4A, K4B, K4C, K4D, K4E }, \
{ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, \
{ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, \
{ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, \
{ _x_, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E }, \
{ K30, _x_, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \
{ K40, _x_, K42, K43, K44, _x_, _x_, _x_, K48, _x_, K4A, K4B, K4C, K4D, K4E }, \
{ _x_, _x_, _x_, _x_, _x_, _x_, _x_, _x_, _x_, _x_, _x_, _x_, _x_, _x_, _x_ }, \
{ _x_, _x_, _x_, _x_, _x_, _x_, _x_, _x_, _x_, _x_, _x_, _x_, _x_, _x_, _x_ }, \
{ _x_, _x_, _x_, _x_, _x_, _x_, _x_, _x_, _x_, _x_, _x_, _x_, _x_, _x_, _x_ } \
}

#define LAYOUT( \
KD0, KC0, KB0, KA0, K90, K80, K70, K60, K50, K40, K30, K20, K10, K00, KE0, \
KD1, KC1, KB1, KA1, K91, K81, K71, K61, K51, K41, K31, K21, K11, K01, KE1, \
KD2, KC2, KB2, KA2, K92, K82, K72, K62, K52, K42, K32, K22, K12, KE2, \
KD3, KC3, KB3, KA3, K93, K83, K73, K63, K53, K43, K33, K23, K03, KE3, \
KD4, KC4, KB4, K84, K44, K34, K24, K04, KE4 \
K0D, K0C, K0B, K0A, K09, K08, K07, K06, K05, K04, K03, K02, K01, K00, K0E, \
K1D, K1C, K1B, K1A, K19, K18, K17, K16, K15, K14, K13, K12, K11, K10, K1E, \
K2D, K2C, K2B, K2A, K29, K28, K27, K26, K25, K24, K23, K22, K21, K2E, \
K3D, K3C, K3B, K3A, K39, K38, K37, K36, K35, K34, K33, K32, K30, K3E, \
K4D, K4C, K4B, K48, K44, K43, K42, K40, K4E \
){ \
{ K00, K10, K20, K30, K40, K50, K60, K70, K80, K90, KA0, KB0, KC0, KD0, KE0 }, \
{ K01, K11, K21, K31, K41, K51, K61, K71, K81, K91, KA1, KB1, KC1, KD1, KE1 }, \
{ KC_NO, K12, K22, K32, K42, K52, K62, K72, K82, K92, KA2, KB2, KC2, KD2, KE2 }, \
{ K03, KC_NO, K23, K33, K43, K53, K63, K73, K83, K93, KA3, KB3, KC3, KD3, KE3 }, \
{ K04, KC_NO, K24, K34, K44, KC_NO, KC_NO, KC_NO, K84, KC_NO, KC_NO, KB4, KC4, KD4, KE4 } \
{ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \
{ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \
{ _x_, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E }, \
{ K30, _x_, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \
{ K40, _x_, K42, K43, K44, _x_, _x_, _x_, K48, _x_, _x_, K4B, K4C, K4D, K4E }, \
{ _x_, _x_, _x_, _x_, _x_, _x_, _x_, _x_, _x_, _x_, _x_, _x_, _x_, _x_, _x_ }, \
{ _x_, _x_, _x_, _x_, _x_, _x_, _x_, _x_, _x_, _x_, _x_, _x_, _x_, _x_, _x_ }, \
{ _x_, _x_, _x_, _x_, _x_, _x_, _x_, _x_, _x_, _x_, _x_, _x_, _x_, _x_, _x_ } \
}

#endif
Loading