mirror of
https://github.com/qmk/qmk_firmware.git
synced 2025-09-10 17:15:43 +00:00
Compare commits
12 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2cd80f84a4 | ||
|
|
94f92cedef | ||
|
|
be94e5e591 | ||
|
|
b61653739b | ||
|
|
ce3ccd3f4a | ||
|
|
2fcfd5cff7 | ||
|
|
2b707f3470 | ||
|
|
1acaf2b2c2 | ||
|
|
4cd4e1ded6 | ||
|
|
11f49d6388 | ||
|
|
97d09ef8fa | ||
|
|
3cafc4e7c6 |
@@ -1,7 +1,9 @@
|
||||
A QMK collaborator is a keyboard maker/designer that is interested in helping QMK grow and fully support their keyboard(s), and encouraging their users/customers to submit features, ideas, and keymaps. We're always looking to add more keyboards and collaborators, but we ask that they fulfill these requirements:
|
||||
# Becoming a QMK Collaborator
|
||||
|
||||
* **Have a PCB available for sale** - unfortunately there's just too much variation and complications with handwired keyboards.
|
||||
* **Maintain the your keyboard's directory** - this may just require an initial setup to get your keyboard working, but it could also include accommodating changes made to QMK's core.
|
||||
* **Approve and merge your keyboard's keymap pull requests** - we like to encourage users to contribute their keymaps for others to see and work from when creating their own.
|
||||
A QMK collaborator is a keyboard maker or designer that is interested in helping QMK grow and fully support their keyboard(s), and encouraging their users and customers to submit features, ideas, and keymaps. We're always looking to add more keyboards and collaborators, but we ask that they fulfill these requirements:
|
||||
|
||||
* **Have a PCB available for sale.** Unfortunately there's just too much variation and complications with handwired keyboards.
|
||||
* **Maintain your keyboard in QMK.** This may just require an initial setup to get your keyboard working, but it could also include accommodating changes made to QMK's core that might break or render any custom code redundant.
|
||||
* **Approve and merge keymap pull requests for your keyboard.** We like to encourage users to contribute their keymaps for others to see and work from when creating their own.
|
||||
|
||||
If you feel you meet these requirements, shoot us an email at hello@qmk.fm with an introduction and some links to your keyboard!
|
||||
|
||||
@@ -57,53 +57,73 @@ Sometimes, you might want to switch between layers in a macro or as part of a ta
|
||||
|
||||
# Modifier Keys
|
||||
|
||||
These functions allow you to combine a mod with a keycode. When pressed the keydown for the mod will be sent first, and then *kc* will be sent. When released the keyup for *kc* will be sent and then the mod will be sent.
|
||||
These allow you to combine a modifier with a keycode. When pressed, the keydown event for the modifier, then `kc` will be sent. On release, the keyup event for `kc`, then the modifier will be sent.
|
||||
|
||||
* `LSFT(kc)` or `S(kc)` - applies left Shift to *kc* (keycode)
|
||||
* `RSFT(kc)` - applies right Shift to *kc*
|
||||
* `LCTL(kc)` - applies left Control to *kc*
|
||||
* `RCTL(kc)` - applies right Control to *kc*
|
||||
* `LALT(kc)` - applies left Alt to *kc*
|
||||
* `RALT(kc)` - applies right Alt to *kc*
|
||||
* `LGUI(kc)` - applies left GUI (command/win) to *kc*
|
||||
* `RGUI(kc)` - applies right GUI (command/win) to *kc*
|
||||
* `HYPR(kc)` - applies Hyper (all modifiers) to *kc*
|
||||
* `MEH(kc)` - applies Meh (all modifiers except Win/Cmd) to *kc*
|
||||
* `LCAG(kc)` - applies CtrlAltGui to *kc*
|
||||
|Key |Aliases |Description |
|
||||
|----------|----------------------|----------------------------------------------------|
|
||||
|`LCTL(kc)`| |Hold Left Control and press `kc` |
|
||||
|`LSFT(kc)`|`S(kc)` |Hold Left Shift and press `kc` |
|
||||
|`LALT(kc)`| |Hold Left Alt and press `kc` |
|
||||
|`LGUI(kc)`|`LCMD(kc)`, `LWIN(kc)`|Hold Left GUI and press `kc` |
|
||||
|`RCTL(kc)`| |Hold Right Control and press `kc` |
|
||||
|`RSFT(kc)`| |Hold Right Shift and press `kc` |
|
||||
|`RALT(kc)`| |Hold Right Alt and press `kc` |
|
||||
|`RGUI(kc)`|`RCMD(kc)`, `LWIN(kc)`|Hold Right GUI and press `kc` |
|
||||
|`HYPR(kc)`| |Hold Left Control, Shift, Alt and GUI and press `kc`|
|
||||
|`MEH(kc)` | |Hold Left Control, Shift and Alt and press `kc` |
|
||||
|`LCAG(kc)`| |Hold Left Control, Alt and GUI and press `kc` |
|
||||
|`ALTG(kc)`| |Hold Right Control and Alt and press `kc` |
|
||||
|`SGUI(kc)`|`SCMD(kc)`, `SWIN(kc)`|Hold Left Shift and GUI and press `kc` |
|
||||
|`LCA(kc)` | |Hold Left Control and Alt and press `kc` |
|
||||
|
||||
You can also chain these, like this:
|
||||
You can also chain them, for example `LCTL(LALT(KC_DEL))` makes a key that sends Control+Alt+Delete with a single keypress.
|
||||
|
||||
LALT(LCTL(KC_DEL)) -- this makes a key that sends Alt, Control, and Delete in a single keypress.
|
||||
# Mod-Tap
|
||||
|
||||
# Mod Tap
|
||||
The Mod-Tap key `MT(mod, kc)` acts like a modifier when held, and a regular keycode when tapped. In other words, you can have a key that sends Escape when you tap it, but functions as a Control or Shift key when you hold it down.
|
||||
|
||||
`MT(mod, kc)` - is *mod* (modifier key - MOD_LCTL, MOD_LSFT) when held, and *kc* when tapped. In other words, you can have a key that sends Esc (or the letter O or whatever) when you tap it, but works as a Control key or a Shift key when you hold it down.
|
||||
The modifiers this keycode and `OSM()` accept are prefixed with `MOD_`, not `KC_`:
|
||||
|
||||
These are the values you can use for the `mod` in `MT()` and `OSM()`:
|
||||
|Modifier |Description |
|
||||
|----------|----------------------------------------|
|
||||
|`MOD_LCTL`|Left Control |
|
||||
|`MOD_LSFT`|Left Shift |
|
||||
|`MOD_LALT`|Left Alt |
|
||||
|`MOD_LGUI`|Left GUI (Windows/Command/Meta key) |
|
||||
|`MOD_RCTL`|Right Control |
|
||||
|`MOD_RSFT`|Right Shift |
|
||||
|`MOD_RALT`|Right Alt |
|
||||
|`MOD_RGUI`|Right GUI (Windows/Command/Meta key) |
|
||||
|`MOD_HYPR`|Hyper (Left Control, Shift, Alt and GUI)|
|
||||
|`MOD_MEH` |Meh (Left Control, Shift, and Alt) |
|
||||
|
||||
* MOD_LCTL
|
||||
* MOD_LSFT
|
||||
* MOD_LALT
|
||||
* MOD_LGUI
|
||||
* MOD_RCTL
|
||||
* MOD_RSFT
|
||||
* MOD_RALT
|
||||
* MOD_RGUI
|
||||
* MOD_HYPR
|
||||
* MOD_MEH
|
||||
You can combine these by ORing them together like so:
|
||||
|
||||
These can also be combined like `MOD_LCTL | MOD_LSFT` e.g. `MT(MOD_LCTL | MOD_LSFT, KC_ESC)` which would activate Control and Shift when held, and send Escape when tapped.
|
||||
```c
|
||||
MT(MOD_LCTL | MOD_LSFT, KC_ESC)
|
||||
```
|
||||
|
||||
We've added shortcuts to make common modifier/tap (mod-tap) mappings more compact:
|
||||
This key would activate Left Control and Left Shift when held, and send Escape when tapped.
|
||||
|
||||
* `CTL_T(kc)` - is LCTL when held and *kc* when tapped
|
||||
* `SFT_T(kc)` - is LSFT when held and *kc* when tapped
|
||||
* `ALT_T(kc)` - is LALT when held and *kc* when tapped
|
||||
* `ALGR_T(kc)` - is AltGr when held and *kc* when tapped
|
||||
* `GUI_T(kc)` - is LGUI when held and *kc* when tapped
|
||||
* `ALL_T(kc)` - is Hyper (all mods) when held and *kc* when tapped. To read more about what you can do with a Hyper key, see [this blog post by Brett Terpstra](http://brettterpstra.com/2012/12/08/a-useful-caps-lock-key/)
|
||||
* `LCAG_T(kc)` - is CtrlAltGui when held and *kc* when tapped
|
||||
* `MEH_T(kc)` - is like Hyper, but not as cool -- does not include the Cmd/Win key, so just sends Alt+Ctrl+Shift.
|
||||
For convenience, QMK includes some Mod-Tap shortcuts to make common combinations more compact in your keymap:
|
||||
|
||||
|Key |Aliases |Description |
|
||||
|------------|---------------------------------------|-------------------------------------------------------|
|
||||
|`LCTL_T(kc)`|`CTL_T(kc)` |Left Control when held, `kc` when tapped |
|
||||
|`RCTL_T(kc)`| |Right Control when held, `kc` when tapped |
|
||||
|`LSFT_T(kc)`|`SFT_T(kc)` |Left Shift when held, `kc` when tapped |
|
||||
|`RSFT_T(kc)`| |Right Shift when held, `kc` when tapped |
|
||||
|`LALT_T(kc)`|`ALT_T(kc)` |Left Alt when held, `kc` when tapped |
|
||||
|`RALT_T(kc)`|`ALGR_T(kc)` |Right Alt when held, `kc` when tapped |
|
||||
|`LGUI_T(kc)`|`LCMD_T(kc)`, `RWIN_T(kc)`, `GUI_T(kc)`|Left GUI when held, `kc` when tapped |
|
||||
|`RGUI_T(kc)`|`RCMD_T(kc)`, `RWIN_T(kc)` |Right GUI when held, `kc` when tapped |
|
||||
|`C_S_T(kc)` | |Left Control and Shift when held, `kc` when tapped |
|
||||
|`MEH_T(kc)` | |Left Control, Shift and Alt when held, `kc` when tapped|
|
||||
|`LCAG_T(kc)`| |Left Control, Alt and GUI when held, `kc` when tapped |
|
||||
|`RCAG_T(kc)`| |Right Control, Alt and GUI when held, `kc` when tapped |
|
||||
|`ALL_T(kc)` | |Left Control, Shift, Alt and GUI when held, `kc` when tapped - more info [here](http://brettterpstra.com/2012/12/08/a-useful-caps-lock-key/)|
|
||||
|`SGUI_T(kc)`|`SCMD_T(kc)`, `SWIN_T(kc)` |Left Shift and GUI when held, `kc` when tapped |
|
||||
|`LCA_T(kc)` | |Left Control and Alt when held, `kc` when tapped |
|
||||
|
||||
# One Shot Keys
|
||||
|
||||
|
||||
@@ -318,7 +318,7 @@ This is a reference only. Each group of keys links to the page documenting their
|
||||
## [Modifiers](feature_advanced_keycodes.md#modifier-keys)
|
||||
|
||||
|Key |Aliases |Description |
|
||||
|----------|---------- |----------------------------------------------------|
|
||||
|----------|----------------------|----------------------------------------------------|
|
||||
|`KC_HYPR` | |Hold Left Control, Shift, Alt and GUI |
|
||||
|`KC_MEH` | |Hold Left Control, Shift and Alt |
|
||||
|`LCTL(kc)`| |Hold Left Control and press `kc` |
|
||||
@@ -353,7 +353,7 @@ This is a reference only. Each group of keys links to the page documenting their
|
||||
|`LCAG_T(kc)`| |Left Control, Alt and GUI when held, `kc` when tapped |
|
||||
|`RCAG_T(kc)`| |Right Control, Alt and GUI when held, `kc` when tapped |
|
||||
|`ALL_T(kc)` | |Left Control, Shift, Alt and GUI when held, `kc` when tapped - more info [here](http://brettterpstra.com/2012/12/08/a-useful-caps-lock-key/)|
|
||||
|`SCMD_T(kc)`|`SWIN_T(kc)` |Left Shift and GUI when held, `kc` when tapped |
|
||||
|`SGUI_T(kc)`|`SCMD_T(kc)`, `SWIN_T(kc)` |Left Shift and GUI when held, `kc` when tapped |
|
||||
|`LCA_T(kc)` | |Left Control and Alt when held, `kc` when tapped |
|
||||
|
||||
## [RGB Lighting](feature_rgblight.md)
|
||||
|
||||
@@ -12,7 +12,7 @@ You can think of QMK as no different from any other computer program. It is star
|
||||
|
||||
The reason for this is the different platforms that QMK supports. The most common platform is `lufa`, which runs on AVR processors such at the atmega32u4. We also support `chibios` and `vusb`.
|
||||
|
||||
We'll focus on AVR processors for the moment, which use the `lufa` platform. You can find the `main()` function in [tmk_core/protocol/lufa/lufa.c](https://github.com/qmk/qmk_firmware/blob/master/tmk_core/protocol/lufa/lufa.c#L1129). If you browse through that function you'll find that it initializes any hardware that has been configured (including USB to the host) and then it starts the core part of the program with a [`while(1)`](https://github.com/qmk/qmk_firmware/blob/master/tmk_core/protocol/lufa/lufa.c#L1182). This is [The Main Loop](#the_main_loop).
|
||||
We'll focus on AVR processors for the moment, which use the `lufa` platform. You can find the `main()` function in [tmk_core/protocol/lufa/lufa.c](https://github.com/qmk/qmk_firmware/blob/661ca4440cc42f3b60697e98985c44b0571ccfc1/tmk_core/protocol/lufa/lufa.c#L1019). If you browse through that function you'll find that it initializes any hardware that has been configured (including USB to the host) and then it starts the core part of the program with a [`while(1)`](https://github.com/qmk/qmk_firmware/blob/661ca4440cc42f3b60697e98985c44b0571ccfc1/tmk_core/protocol/lufa/lufa.c#L1060). This is [The Main Loop](#the-main-loop).
|
||||
|
||||
## The Main Loop
|
||||
|
||||
@@ -22,7 +22,7 @@ This section of code is called "The Main Loop" because it's responsible for loop
|
||||
keyboard_task();
|
||||
```
|
||||
|
||||
This is where all the keyboard specific functionality is dispatched. The source code for `keyboard_task()` can be found in [tmk_core/common/keyboard.c](https://github.com/qmk/qmk_firmware/blob/master/tmk_core/common/keyboard.c#L154), and it is responsible for detecting changes in the matrix and turning status LED's on and off.
|
||||
This is where all the keyboard specific functionality is dispatched. The source code for `keyboard_task()` can be found in [tmk_core/common/keyboard.c](https://github.com/qmk/qmk_firmware/blob/661ca4440cc42f3b60697e98985c44b0571ccfc1/tmk_core/common/keyboard.c#L206), and it is responsible for detecting changes in the matrix and turning status LED's on and off.
|
||||
|
||||
Within `keyboard_task()` you'll find code to handle:
|
||||
|
||||
@@ -77,7 +77,7 @@ At the keyboard level we define a C macro (typically named `KEYMAP()`) which map
|
||||
|
||||
Notice how the second block of our `KEYMAP()` macro matches the Matrix Scanning array above? This macro is what will map the matrix scanning array to keycodes. However, if you look at a 17 key numpad you'll notice that it has 3 places where the matrix could have a switch but doesn't, due to larger keys. We have populated those spaces with `KC_NO` so that our keymap definition doesn't have to.
|
||||
|
||||
You can also use this macro to handle unusual matrix layouts, for example the [Clueboard rev 2](https://github.com/qmk/qmk_firmware/blob/master/keyboards/clueboard/66/rev2/rev2.h). Explaining that is outside the scope of this document.
|
||||
You can also use this macro to handle unusual matrix layouts, for example the [Clueboard rev 2](https://github.com/qmk/qmk_firmware/blob/661ca4440cc42f3b60697e98985c44b0571ccfc1/keyboards/clueboard/66/rev2/rev2.h). Explaining that is outside the scope of this document.
|
||||
|
||||
##### Keycode Assignment
|
||||
|
||||
@@ -129,27 +129,32 @@ Comparing against our keymap we can see that the pressed key is KC_NLCK. From he
|
||||
<!-- FIXME: Magic happens between here and process_record -->
|
||||
|
||||
##### Process Record
|
||||
The `process_record()` function itself is deceptively simple, but hidden within is a gateway to overriding functionality at various levels of QMK. The chain of events is listed below, using cluecard whenever we need to look at the keyboard/keymap level functions. Depending on options set in rule.mk or elsewhere, only a subset of the functions below will be included in final firmware.
|
||||
|
||||
The `process_record()` function itself is deceptively simple, but hidden within is a gateway to overriding functionality at various levels of QMK. The chain of events is described below, using cluecard whenever we need to look at the keyboard/keymap level functions.
|
||||
|
||||
* [`void process_record(keyrecord_t *record)`](https://github.com/qmk/qmk_firmware/blob/master/tmk_core/common/action.c#L128)
|
||||
* [`bool process_record_quantum(keyrecord_t *record)`](https://github.com/qmk/qmk_firmware/blob/master/quantum/quantum.c#L140)
|
||||
* [Map this record to a keycode](https://github.com/qmk/qmk_firmware/blob/master/quantum/quantum.c#L143)
|
||||
* [`bool process_record_kb(uint16_t keycode, keyrecord_t *record)`](https://github.com/qmk/qmk_firmware/blob/master/keyboards/clueboard/card/card.c#L20)
|
||||
* [`bool process_record_user(uint16_t keycode, keyrecord_t *record)`](https://github.com/qmk/qmk_firmware/blob/master/keyboards/clueboard/card/keymaps/default/keymap.c#L58)
|
||||
* [`bool process_midi(uint16_t keycode, keyrecord_t *record)`](https://github.com/qmk/qmk_firmware/blob/master/quantum/process_keycode/process_midi.c#L102)
|
||||
* [`bool process_audio(uint16_t keycode, keyrecord_t *record)`](https://github.com/qmk/qmk_firmware/blob/master/quantum/process_keycode/process_audio.c#L10)
|
||||
* [`bool process_music(uint16_t keycode, keyrecord_t *record)`](https://github.com/qmk/qmk_firmware/blob/master/quantum/process_keycode/process_music.c#L69)
|
||||
* [`bool process_tap_dance(uint16_t keycode, keyrecord_t *record)`](https://github.com/qmk/qmk_firmware/blob/master/quantum/process_keycode/process_tap_dance.c#L75)
|
||||
* [`bool process_leader(uint16_t keycode, keyrecord_t *record)`](https://github.com/qmk/qmk_firmware/blob/master/quantum/process_keycode/process_leader.c#L32)
|
||||
* [`bool process_chording(uint16_t keycode, keyrecord_t *record)`](https://github.com/qmk/qmk_firmware/blob/master/quantum/process_keycode/process_chording.c#L41)
|
||||
* [`bool process_combo(uint16_t keycode, keyrecord_t *record)`](https://github.com/qmk/qmk_firmware/blob/master/quantum/process_keycode/process_combo.c#L115)
|
||||
* [`bool process_unicode(uint16_t keycode, keyrecord_t *record)`](https://github.com/qmk/qmk_firmware/blob/master/quantum/process_keycode/process_unicode.c#L22)
|
||||
* [`bool process_ucis(uint16_t keycode, keyrecord_t *record)`](https://github.com/qmk/qmk_firmware/blob/master/quantum/process_keycode/process_ucis.c#L91)
|
||||
* [`bool process_printer(uint16_t keycode, keyrecord_t *record)`](https://github.com/qmk/qmk_firmware/blob/master/quantum/process_keycode/process_printer.c#L77)
|
||||
* [`bool process_auto_shift(uint16_t keycode, keyrecord_t *record)`](https://github.com/qmk/qmk_firmware/blob/master/quantum/process_keycode/process_auto_shift.c#L47)
|
||||
* [`bool process_unicode_map(uint16_t keycode, keyrecord_t *record)`](https://github.com/qmk/qmk_firmware/blob/master/quantum/process_keycode/process_unicodemap.c#L47)
|
||||
* [Identify and process quantum specific keycodes](https://github.com/qmk/qmk_firmware/blob/master/quantum/quantum.c#L211)
|
||||
* [`void process_record(keyrecord_t *record)`](https://github.com/qmk/qmk_firmware/blob/08c682c193f43e5d54df990680ae93fc2e06150a/tmk_core/common/action.c#L172)
|
||||
* [`bool process_record_quantum(keyrecord_t *record)`](https://github.com/qmk/qmk_firmware/blob/08c682c193f43e5d54df990680ae93fc2e06150a/quantum/quantum.c#L193)
|
||||
* [Map this record to a keycode](https://github.com/qmk/qmk_firmware/blob/08c682c193f43e5d54df990680ae93fc2e06150a/quantum/quantum.c#L213)
|
||||
* [`void preprocess_tap_dance(uint16_t keycode, keyrecord_t *record)`](https://github.com/qmk/qmk_firmware/blob/08c682c193f43e5d54df990680ae93fc2e06150a/quantum/process_keycode/process_tap_dance.c#L115)
|
||||
* [`bool process_key_lock(uint16_t keycode, keyrecord_t *record)`](https://github.com/qmk/qmk_firmware/blob/08c682c193f43e5d54df990680ae93fc2e06150a/quantum/process_keycode/process_key_lock.c#L62)
|
||||
* [`bool process_clicky(uint16_t keycode, keyrecord_t *record)`](https://github.com/qmk/qmk_firmware/blob/08c682c193f43e5d54df990680ae93fc2e06150a/quantum/process_keycode/process_clicky.c#L44)
|
||||
* [`bool process_record_kb(uint16_t keycode, keyrecord_t *record)`](https://github.com/qmk/qmk_firmware/blob/08c682c193f43e5d54df990680ae93fc2e06150a/keyboards/clueboard/card/card.c#L20)
|
||||
* [`bool process_record_user(uint16_t keycode, keyrecord_t *record)`](https://github.com/qmk/qmk_firmware/blob/08c682c193f43e5d54df990680ae93fc2e06150a/keyboards/clueboard/card/keymaps/default/keymap.c#L58)
|
||||
* [`bool process_rgb_matrix(uint16_t keycode, keyrecord_t *record)`](https://github.com/qmk/qmk_firmware/blob/fdd0f915271f79b104aa5d216566bcc3fd134e85/quantum/rgb_matrix.c#L139)
|
||||
* [`bool process_midi(uint16_t keycode, keyrecord_t *record)`](https://github.com/qmk/qmk_firmware/blob/661ca4440cc42f3b60697e98985c44b0571ccfc1/quantum/process_keycode/process_midi.c#L81)
|
||||
* [`bool process_audio(uint16_t keycode, keyrecord_t *record)`](https://github.com/qmk/qmk_firmware/blob/661ca4440cc42f3b60697e98985c44b0571ccfc1/quantum/process_keycode/process_audio.c#L19)
|
||||
* [`bool process_steno(uint16_t keycode, keyrecord_t *record)`](https://github.com/qmk/qmk_firmware/blob/661ca4440cc42f3b60697e98985c44b0571ccfc1/quantum/process_keycode/process_steno.c#L160)
|
||||
* [`bool process_music(uint16_t keycode, keyrecord_t *record)`](https://github.com/qmk/qmk_firmware/blob/661ca4440cc42f3b60697e98985c44b0571ccfc1/quantum/process_keycode/process_music.c#L114)
|
||||
* [`bool process_tap_dance(uint16_t keycode, keyrecord_t *record)`](https://github.com/qmk/qmk_firmware/blob/661ca4440cc42f3b60697e98985c44b0571ccfc1/quantum/process_keycode/process_tap_dance.c#L136)
|
||||
* [`bool process_leader(uint16_t keycode, keyrecord_t *record)`](https://github.com/qmk/qmk_firmware/blob/661ca4440cc42f3b60697e98985c44b0571ccfc1/quantum/process_keycode/process_leader.c#L38)
|
||||
* [`bool process_chording(uint16_t keycode, keyrecord_t *record)`](https://github.com/qmk/qmk_firmware/blob/661ca4440cc42f3b60697e98985c44b0571ccfc1/quantum/process_keycode/process_chording.c#L41)
|
||||
* [`bool process_combo(uint16_t keycode, keyrecord_t *record)`](https://github.com/qmk/qmk_firmware/blob/661ca4440cc42f3b60697e98985c44b0571ccfc1/quantum/process_keycode/process_combo.c#L115)
|
||||
* [`bool process_unicode(uint16_t keycode, keyrecord_t *record)`](https://github.com/qmk/qmk_firmware/blob/661ca4440cc42f3b60697e98985c44b0571ccfc1/quantum/process_keycode/process_unicode.c#L22)
|
||||
* [`bool process_ucis(uint16_t keycode, keyrecord_t *record)`](https://github.com/qmk/qmk_firmware/blob/661ca4440cc42f3b60697e98985c44b0571ccfc1/quantum/process_keycode/process_ucis.c#L91)
|
||||
* [`bool process_printer(uint16_t keycode, keyrecord_t *record)`](https://github.com/qmk/qmk_firmware/blob/661ca4440cc42f3b60697e98985c44b0571ccfc1/quantum/process_keycode/process_printer.c#L77)
|
||||
* [`bool process_auto_shift(uint16_t keycode, keyrecord_t *record)`](https://github.com/qmk/qmk_firmware/blob/661ca4440cc42f3b60697e98985c44b0571ccfc1/quantum/process_keycode/process_auto_shift.c#L94)
|
||||
* [`bool process_unicode_map(uint16_t keycode, keyrecord_t *record)`](https://github.com/qmk/qmk_firmware/blob/661ca4440cc42f3b60697e98985c44b0571ccfc1/quantum/process_keycode/process_unicodemap.c#L47)
|
||||
* [`bool process_terminal(uint16_t keycode, keyrecord_t *record)`](https://github.com/qmk/qmk_firmware/blob/661ca4440cc42f3b60697e98985c44b0571ccfc1/quantum/process_keycode/process_terminal.c#L264)
|
||||
* [Identify and process quantum specific keycodes](https://github.com/qmk/qmk_firmware/blob/661ca4440cc42f3b60697e98985c44b0571ccfc1/quantum/quantum.c#L287)
|
||||
|
||||
At any step during this chain of events a function (such as `process_record_kb()`) can `return false` to halt all further processing.
|
||||
|
||||
|
||||
@@ -71,4 +71,4 @@ AUDIO_ENABLE = no # Audio output on port C6
|
||||
FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
|
||||
HD44780_ENABLE = no # Enable support for HD44780 based LCDs (+400)
|
||||
|
||||
LAYOUT = ortho_4x4 ortho_4x8 ortho_4x12 ortho_4x16
|
||||
LAYOUTS = ortho_4x4 ortho_4x8 ortho_4x12 ortho_4x16
|
||||
|
||||
@@ -71,4 +71,4 @@ AUDIO_ENABLE = no # Audio output on port C6
|
||||
FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
|
||||
HD44780_ENABLE = no # Enable support for HD44780 based LCDs (+400)
|
||||
|
||||
LAYOUT = ortho_5x5 ortho_5x10 ortho_5x15
|
||||
LAYOUTS = ortho_5x5 ortho_5x10 ortho_5x15
|
||||
|
||||
@@ -2,9 +2,6 @@ SRC += i2c.c
|
||||
SRC += serial.c
|
||||
SRC += ssd1306.c
|
||||
|
||||
# if firmware size over limit, try this option
|
||||
# CFLAGS += -flto
|
||||
|
||||
# MCU name
|
||||
#MCU = at90usb1287
|
||||
MCU = atmega32u4
|
||||
|
||||
@@ -78,454 +78,327 @@ qk_tap_dance_action_t tap_dance_actions[] = {
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
/* Fundtion Row Keys
|
||||
/ (Identical across layers, unless otherwise noted; Numpad is a toggle; Adjust is mometary)
|
||||
* ,-----------------------------------------------------------------------------------------------------------.
|
||||
* | ESC | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | PScr| SLck| Paus|Numpd|Adjst|
|
||||
* `-----------------------------------------------------------------------------------------------------------'
|
||||
*/
|
||||
|
||||
/* Colemak
|
||||
* (Defauit layer; keys separated by /: tap for first, hold for second; uses Space Cadet Shifts)
|
||||
* ,-------------------------------------------. ,-------------------------------------------.
|
||||
* | = | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | - |
|
||||
* |--------+------+------+------+------+------| |------+------+------+------+------+--------|
|
||||
* | Tab | Q | W | F | P | G | | J | L | U | Y | ; | \ |
|
||||
* |--------+------+------+------+------+------| |------+------+------+------+------+--------|
|
||||
* |Esc/Ctrl| A | R | S | T | D | | H | N | E | I | O | ' |
|
||||
* |--------+------+------+------+------+------| |------+------+------+------+------+--------|
|
||||
* |SC Shift| Z | X | C | V | B | | K | M | , | . | / |SC Shift|
|
||||
* `--------+------+------+------+------+------' `------+------+------+------+------+--------'
|
||||
* | Ins | ` | [ | ] | | Left | Down | Up | Right|
|
||||
* `---------------------------' `---------------------------'
|
||||
* ,---------------. ,---------------.
|
||||
* |Esc/Ctl| Hyper | | RAlt | RCtl |
|
||||
* ,-------|-------|-------| |-------+-------+-------.
|
||||
* | Space | Enter |App/Alt| | RGUI | Delete| Bspc |
|
||||
* | / | / |-------| |-------| / | / |
|
||||
* | Fn | Number| Bspc | | Enter |Number2| Fn2 |
|
||||
* `-----------------------' `-----------------------'
|
||||
(Defauit layer; keys separated by /: tap for first, hold for second; uses Space Cadet Shifts)
|
||||
,-----------------------------------------------------------------------------------------------------------.
|
||||
| ESC | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | PScr| SLck| Paus|Numpd|Adjst|
|
||||
`-----------------------------------------------------------------------------------------------------------'
|
||||
,-------------------------------------------. ,-------------------------------------------.
|
||||
| = | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | - |
|
||||
|--------+------+------+------+------+------| |------+------+------+------+------+--------|
|
||||
| Tab | Q | W | F | P | G | | J | L | U | Y | ; | \ |
|
||||
|--------+------+------+------+------+------| |------+------+------+------+------+--------|
|
||||
|Esc/Ctrl| A | R | S | T | D | | H | N | E | I | O | ' |
|
||||
|--------+------+------+------+------+------| |------+------+------+------+------+--------|
|
||||
|SC Shift| Z | X | C | V | B | | K | M | , | . | / |SC Shift|
|
||||
`--------+------+------+------+------+------' `------+------+------+------+------+--------'
|
||||
| Ins | ` | [ | ] | | Left | Down | Up | Right|
|
||||
`---------------------------' `---------------------------'
|
||||
,---------------. ,---------------.
|
||||
|Esc/Ctl| Hyper | | RAlt | RCtl |
|
||||
,-------|-------|-------| |-------+-------+-------.
|
||||
| Space | Enter |App/Alt| | RGUI | Delete| Bspc |
|
||||
| / | / |-------| |-------| / | / |
|
||||
| Fn | Number| Bspc | | Enter |Number2| Fn2 |
|
||||
`-----------------------' `-----------------------'
|
||||
*/
|
||||
[_COLEMAK] = LAYOUT(
|
||||
// Left Hand
|
||||
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8,
|
||||
KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5,
|
||||
KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G,
|
||||
CTLESC, KC_A, KC_R, KC_S, KC_T, KC_D,
|
||||
KC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B,
|
||||
KC_INS, KC_GRV, KC_LBRC, KC_RBRC,
|
||||
//Left Thumb
|
||||
CTLESC, ALL_T(KC_NO),
|
||||
ALTAPP,
|
||||
SPCFN, ENTNS, KC_BSPC,
|
||||
//Right Hand
|
||||
KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS, NUMPAD, ADJUST,
|
||||
KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
|
||||
KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSLS,
|
||||
KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT,
|
||||
KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSPC,
|
||||
KC_LEFT, KC_DOWN, KC_UP, KC_RGHT,
|
||||
//Right Thumb
|
||||
KC_RALT, KC_RCTL,
|
||||
KC_RGUI,
|
||||
KC_ENT, DELNS, BSPCFN
|
||||
[_COLEMAK] = LAYOUT_pretty(
|
||||
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_PSCR, KC_SLCK, KC_PAUS, NUMPAD, ADJUST,
|
||||
KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
|
||||
KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSLS,
|
||||
CTLESC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT,
|
||||
KC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSPC,
|
||||
KC_INS, KC_GRV, KC_LBRC, KC_RBRC, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT,
|
||||
CTLESC, ALL_T(KC_NO), KC_RALT, KC_RCTL,
|
||||
ALTAPP, KC_RGUI,
|
||||
SPCFN, ENTNS, KC_BSPC, KC_ENT, DELNS, BSPCFN
|
||||
),
|
||||
|
||||
/* QWERTY
|
||||
* (Keys separated by /: tap for first, hold for second; uses Space Cadet Shifts)
|
||||
* ,-------------------------------------------. ,-------------------------------------------.
|
||||
* | = | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | - |
|
||||
* |--------+------+------+------+------+------| |------+------+------+------+------+--------|
|
||||
* | Tab | Q | W | E | R | T | | Y | U | I | O | P | \ |
|
||||
* |--------+------+------+------+------+------| |------+------+------+------+------+--------|
|
||||
* |Esc/Ctrl| A | S | D | F | G | | H | J | K | L | ; | ' |
|
||||
* |--------+------+------+------+------+------| |------+------+------+------+------+--------|
|
||||
* |SC Shift| Z | X | C | V | B | | N | M | , | . | / |SC Shift|
|
||||
* `--------+------+------+------+------+------' `------+------+------+------+------+--------'
|
||||
* | Ins | ` | [ | ] | | Left | Down | Up | Right|
|
||||
* `---------------------------' `---------------------------'
|
||||
* ,---------------. ,---------------.
|
||||
* |Esc/Ctl| Hyper | | RAlt | RCtl |
|
||||
* ,-------|-------|-------| |-------+-------+-------.
|
||||
* | Space | Enter |App/Alt| | RGUI | Delete| Bspc |
|
||||
* | / | / |-------| |-------| / | / |
|
||||
* | Fn | Number| Bspc | | Enter |Number2| Fn2 |
|
||||
* `-----------------------' `-----------------------'
|
||||
(Keys separated by /: tap for first, hold for second; uses Space Cadet Shifts)
|
||||
,-----------------------------------------------------------------------------------------------------------.
|
||||
| ESC | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | PScr| SLck| Paus|Numpd|Adjst|
|
||||
`-----------------------------------------------------------------------------------------------------------'
|
||||
,-------------------------------------------. ,-------------------------------------------.
|
||||
| = | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | - |
|
||||
|--------+------+------+------+------+------| |------+------+------+------+------+--------|
|
||||
| Tab | Q | W | E | R | T | | Y | U | I | O | P | \ |
|
||||
|--------+------+------+------+------+------| |------+------+------+------+------+--------|
|
||||
|Esc/Ctrl| A | S | D | F | G | | H | J | K | L | ; | ' |
|
||||
|--------+------+------+------+------+------| |------+------+------+------+------+--------|
|
||||
|SC Shift| Z | X | C | V | B | | N | M | , | . | / |SC Shift|
|
||||
`--------+------+------+------+------+------' `------+------+------+------+------+--------'
|
||||
| Ins | ` | [ | ] | | Left | Down | Up | Right|
|
||||
`---------------------------' `---------------------------'
|
||||
,---------------. ,---------------.
|
||||
|Esc/Ctl| Hyper | | RAlt | RCtl |
|
||||
,-------|-------|-------| |-------+-------+-------.
|
||||
| Space | Enter |App/Alt| | RGUI | Delete| Bspc |
|
||||
| / | / |-------| |-------| / | / |
|
||||
| Fn | Number| Bspc | | Enter |Number2| Fn2 |
|
||||
`-----------------------' `-----------------------'
|
||||
*/
|
||||
[_QWERTY] = LAYOUT(
|
||||
// Left Hand
|
||||
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8,
|
||||
KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T,
|
||||
CTLESC, KC_A, KC_S, KC_D, KC_F, KC_G,
|
||||
KC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B,
|
||||
KC_INS, KC_GRV, KC_LBRC, KC_RBRC,
|
||||
//Left Thumb
|
||||
CTLESC, ALL_T(KC_NO),
|
||||
ALTAPP,
|
||||
SPCFN, ENTNS, KC_BSPC,
|
||||
|
||||
//Right Hand
|
||||
KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS, NUMPAD, ADJUST,
|
||||
KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
|
||||
KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
|
||||
KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
|
||||
KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSPC,
|
||||
KC_LEFT, KC_DOWN, KC_UP, KC_RGHT,
|
||||
//Right Thumb
|
||||
KC_RALT, KC_RCTL,
|
||||
KC_RGUI,
|
||||
KC_ENT, DELNS, BSPCFN
|
||||
[_QWERTY] = LAYOUT_pretty(
|
||||
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_PSCR, KC_SLCK, KC_PAUS, NUMPAD, ADJUST,
|
||||
KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
|
||||
CTLESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
|
||||
KC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSPC,
|
||||
KC_INS, KC_GRV, KC_LBRC, KC_RBRC, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT,
|
||||
CTLESC, ALL_T(KC_NO), KC_RALT, KC_RCTL,
|
||||
ALTAPP, KC_RGUI,
|
||||
SPCFN, ENTNS, KC_BSPC, KC_ENT, DELNS, BSPCFN
|
||||
),
|
||||
|
||||
/* Number/symbol layer
|
||||
* (Multiple characters: single-tap for first, double-tap for second)
|
||||
* ,-------------------------------------------. ,-------------------------------------------.
|
||||
* | F12 | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F11 |
|
||||
* |--------+------+------+------+------+------| |------+------+------+------+------+--------|
|
||||
* | | 6 | 7 | 8 | 9 | 0 | | ^ | & | * | ( | ) | |
|
||||
* |--------+------+------+------+------+------| |------+------+------+------+------+--------|
|
||||
* | | 1 | 2 | 3 | 4 | 5 | | ! | @ | # | $ | % | |
|
||||
* |--------+------+------+------+------+------| |------+------+------+------+------+--------|
|
||||
* | | | . | / * | - _ | + = | | ` ~ | [ { | ] } | | | |
|
||||
* `--------+------+------+------+------+------' `------+------+------+------+------+--------'
|
||||
* | ( | ) | [ { | ] } | | | | | |
|
||||
* `---------------------------' `---------------------------'
|
||||
* ,---------------. ,---------------.
|
||||
* | | | | | |
|
||||
* ,-------|-------|-------| |-------+-------+-------.
|
||||
* | | | | | | | |
|
||||
* | | |-------| |-------| | |
|
||||
* | | | | | | | |
|
||||
* `-----------------------' `-----------------------'
|
||||
(Multiple characters: single-tap for first, double-tap for second)
|
||||
,-----------------------------------------------------------------------------------------------------------.
|
||||
| | | | | | | | | | | | | | | | | | |
|
||||
`-----------------------------------------------------------------------------------------------------------'
|
||||
,-------------------------------------------. ,-------------------------------------------.
|
||||
| F12 | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F11 |
|
||||
|--------+------+------+------+------+------| |------+------+------+------+------+--------|
|
||||
| | 6 | 7 | 8 | 9 | 0 | | ^ | & | * | ( | ) | |
|
||||
|--------+------+------+------+------+------| |------+------+------+------+------+--------|
|
||||
| | 1 | 2 | 3 | 4 | 5 | | ! | @ | # | $ | % | |
|
||||
|--------+------+------+------+------+------| |------+------+------+------+------+--------|
|
||||
| | | . | / * | - _ | + = | | ` ~ | [ { | ] } | | | |
|
||||
`--------+------+------+------+------+------' `------+------+------+------+------+--------'
|
||||
| ( | ) | [ { | ] } | | | | | |
|
||||
`---------------------------' `---------------------------'
|
||||
,---------------. ,---------------.
|
||||
| | | | | |
|
||||
,-------|-------|-------| |-------+-------+-------.
|
||||
| | | | | | | |
|
||||
| | |-------| |-------| | |
|
||||
| | | | | | | |
|
||||
`-----------------------' `-----------------------'
|
||||
*/
|
||||
[_NUMBERS] = LAYOUT(
|
||||
// Left Hand
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
KC_F12, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5,
|
||||
_______, KC_6, KC_7, KC_8, KC_9, KC_0,
|
||||
_______, KC_1, KC_2, KC_3, KC_4, KC_5,
|
||||
_______, _______, KC_DOT, TD(SLAS), TD(MNUN), TD(PLEQ),
|
||||
KC_LPRN, KC_RPRN, TD(LBCB), TD(RBCB),
|
||||
// Left Thumb
|
||||
_______, _______,
|
||||
_______,
|
||||
_______, _______, _______,
|
||||
// Right Hand
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
|
||||
KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______,
|
||||
KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, _______,
|
||||
TD(GVTL), TD(LBCB), TD(RBCB), _______, _______, _______,
|
||||
_______, _______, _______, _______,
|
||||
// Right Thumb
|
||||
_______, _______,
|
||||
_______,
|
||||
_______, _______, _______
|
||||
[_NUMBERS] = LAYOUT_pretty(
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
KC_F12, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
|
||||
_______, KC_6, KC_7, KC_8, KC_9, KC_0, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______,
|
||||
_______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, _______,
|
||||
_______, _______, KC_DOT, TD(SLAS), TD(MNUN), TD(PLEQ), TD(GVTL), TD(LBCB), TD(RBCB), _______, _______, _______,
|
||||
KC_LPRN, KC_RPRN, TD(LBCB), TD(RBCB), _______, _______, _______, _______,
|
||||
_______, _______, _______, _______,
|
||||
_______, _______,
|
||||
_______, _______, _______, _______, _______, _______
|
||||
),
|
||||
|
||||
[_NUMBERS2] = LAYOUT(
|
||||
// Left Hand
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
KC_F12, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5,
|
||||
_______, KC_6, KC_7, KC_8, KC_9, KC_0,
|
||||
_______, KC_1, KC_2, KC_3, KC_4, KC_5,
|
||||
_______, _______, KC_DOT, TD(SLAS), TD(MNUN), TD(PLEQ),
|
||||
KC_LPRN, KC_RPRN, TD(LBCB), TD(RBCB),
|
||||
// Left Thumb
|
||||
_______, _______,
|
||||
_______,
|
||||
_______, _______, _______,
|
||||
// Right Hand
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
|
||||
KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______,
|
||||
KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, _______,
|
||||
TD(GVTL), TD(LBCB), TD(RBCB), _______, _______, _______,
|
||||
_______, _______, _______, _______,
|
||||
// Right Thumb
|
||||
_______, _______,
|
||||
_______,
|
||||
_______, _______, _______
|
||||
[_NUMBERS2] = LAYOUT_pretty(
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
KC_F12, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
|
||||
_______, KC_6, KC_7, KC_8, KC_9, KC_0, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______,
|
||||
_______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, _______,
|
||||
_______, _______, KC_DOT, TD(SLAS), TD(MNUN), TD(PLEQ), TD(GVTL), TD(LBCB), TD(RBCB), _______, _______, _______,
|
||||
KC_LPRN, KC_RPRN, TD(LBCB), TD(RBCB), _______, _______, _______, _______,
|
||||
_______, _______, _______, _______,
|
||||
_______, _______,
|
||||
_______, _______, _______, _______, _______, _______
|
||||
),
|
||||
|
||||
/* Function layer
|
||||
* ,-------------------------------------------. ,-------------------------------------------.
|
||||
* | F12 | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F11 |
|
||||
* |--------+------+------+------+------+------| |------+------+------+------+------+--------|
|
||||
* | | | | Up | | | | | | Up |Ctrl+Y| | |
|
||||
* |--------+------+------+------+------+------| |------+------+------+------+------+--------|
|
||||
* | |Ctrl+A| Left | Down | Right|C+A+Tb| | PgUp | Right| Down | Left | Home | |
|
||||
* |--------+------+------+------+------+------| |------+------+------+------+------+--------|
|
||||
* | |Ctrl+Z|Ctrl+X|Ctrl+C|Ctrl+V| Bspc | | PgDn | Mute | Vol- | Vol+ | End | |
|
||||
* `--------+------+------+------+------+------' `------+------+------+------+------+--------'
|
||||
* | | | | | | Prev | Play | Next | Stop |
|
||||
* `---------------------------' `---------------------------'
|
||||
* ,---------------. ,---------------.
|
||||
* | | | | | |
|
||||
* ,-------|-------|-------| |-------+-------+-------.
|
||||
* | | | | | | | |
|
||||
* | | |-------| |-------| | |
|
||||
* | | | | | | | |
|
||||
* `-----------------------' `-----------------------'
|
||||
,-----------------------------------------------------------------------------------------------------------.
|
||||
| | | | | | | | | | | | | | | | | | |
|
||||
`-----------------------------------------------------------------------------------------------------------'
|
||||
,-------------------------------------------. ,-------------------------------------------.
|
||||
| F12 | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F11 |
|
||||
|--------+------+------+------+------+------| |------+------+------+------+------+--------|
|
||||
| | | | Up | | | | | | Up |Ctrl+Y| | |
|
||||
|--------+------+------+------+------+------| |------+------+------+------+------+--------|
|
||||
| |Ctrl+A| Left | Down | Right|C+A+Tb| | PgUp | Right| Down | Left | Home | |
|
||||
|--------+------+------+------+------+------| |------+------+------+------+------+--------|
|
||||
| |Ctrl+Z|Ctrl+X|Ctrl+C|Ctrl+V| Bspc | | PgDn | Mute | Vol- | Vol+ | End | |
|
||||
`--------+------+------+------+------+------' `------+------+------+------+------+--------'
|
||||
| | | | | | Prev | Play | Next | Stop |
|
||||
`---------------------------' `---------------------------'
|
||||
,---------------. ,---------------.
|
||||
| | | | | |
|
||||
,-------|-------|-------| |-------+-------+-------.
|
||||
| | | | | | | |
|
||||
| | |-------| |-------| | |
|
||||
| | | | | | | |
|
||||
`-----------------------' `-----------------------'
|
||||
*/
|
||||
[_FUNCTION] = LAYOUT(
|
||||
// Left Hand
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
KC_F12, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5,
|
||||
_______, _______, _______, KC_UP, _______, _______,
|
||||
_______, LCTL(KC_A), KC_LEFT, KC_DOWN, KC_RGHT, LCA(KC_TAB),
|
||||
_______, LCTL(KC_Z), LCTL(KC_X), LCTL(KC_C), LCTL(KC_V), KC_BSPC,
|
||||
_______, _______, _______, _______,
|
||||
// Left Thumb
|
||||
_______, _______,
|
||||
_______,
|
||||
_______, _______, _______,
|
||||
// Right Hand
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
|
||||
_______, _______, KC_UP, LCTL(KC_Y), _______, _______,
|
||||
KC_PGUP, KC_LEFT, KC_DOWN, KC_RGHT, KC_HOME, _______,
|
||||
KC_PGDN, KC_MUTE, KC_VOLD, KC_VOLU, KC_END, _______,
|
||||
KC_MPRV, KC_MPLY, KC_MNXT, KC_MSTP,
|
||||
// Right Thumb
|
||||
_______, _______,
|
||||
_______,
|
||||
_______, _______, _______
|
||||
[_FUNCTION] = LAYOUT_pretty(
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
KC_F12, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
|
||||
_______, _______, _______, KC_UP, _______, _______, _______, _______, KC_UP, LCTL(KC_Y), _______, _______,
|
||||
_______, LCTL(KC_A), KC_LEFT, KC_DOWN, KC_RGHT, LCA(KC_TAB), KC_PGUP, KC_LEFT, KC_DOWN, KC_RGHT, KC_HOME, _______,
|
||||
_______, LCTL(KC_Z), LCTL(KC_X), LCTL(KC_C), LCTL(KC_V), KC_BSPC, KC_PGDN, KC_MUTE, KC_VOLD, KC_VOLU, KC_END, _______,
|
||||
_______, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, KC_MSTP,
|
||||
_______, _______, _______, _______,
|
||||
_______, _______,
|
||||
_______, _______, _______, _______, _______, _______
|
||||
),
|
||||
|
||||
[_FUNCTION2] = LAYOUT(
|
||||
// Left Hand
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
KC_F12, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5,
|
||||
_______, _______, _______, KC_UP, _______, _______,
|
||||
_______, LCTL(KC_A), KC_LEFT, KC_DOWN, KC_RGHT, LCA(KC_TAB),
|
||||
_______, LCTL(KC_Z), LCTL(KC_X), LCTL(KC_C), LCTL(KC_V), KC_BSPC,
|
||||
_______, _______, _______, _______,
|
||||
// Left Thumb
|
||||
_______, _______,
|
||||
_______,
|
||||
_______, _______, _______,
|
||||
// Right Hand
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
|
||||
_______, _______, KC_UP, LCTL(KC_Y), _______, _______,
|
||||
KC_PGUP, KC_LEFT, KC_DOWN, KC_RGHT, KC_HOME, _______,
|
||||
KC_PGDN, KC_MUTE, KC_VOLD, KC_VOLU, KC_END, _______,
|
||||
KC_MPRV, KC_MPLY, KC_MNXT, KC_MSTP,
|
||||
// Right Thumb
|
||||
_______, _______,
|
||||
_______,
|
||||
_______, _______, _______
|
||||
[_FUNCTION2] = LAYOUT_pretty(
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
KC_F12, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
|
||||
_______, _______, _______, KC_UP, _______, _______, _______, _______, KC_UP, LCTL(KC_Y), _______, _______,
|
||||
_______, LCTL(KC_A), KC_LEFT, KC_DOWN, KC_RGHT, LCA(KC_TAB), KC_PGUP, KC_LEFT, KC_DOWN, KC_RGHT, KC_HOME, _______,
|
||||
_______, LCTL(KC_Z), LCTL(KC_X), LCTL(KC_C), LCTL(KC_V), KC_BSPC, KC_PGDN, KC_MUTE, KC_VOLD, KC_VOLU, KC_END, _______,
|
||||
_______, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, KC_MSTP,
|
||||
_______, _______, _______, _______,
|
||||
_______, _______,
|
||||
_______, _______, _______, _______, _______, _______
|
||||
),
|
||||
|
||||
/* Numpad layer
|
||||
* (Left side duplicates layout from the Numbers layer, just with numpad output; right side layout close to PC numpad layout)
|
||||
* ,-------------------------------------------. ,-------------------------------------------.
|
||||
* | | NumLk| | | | | | Tab | NumLk| KP / | KP * | KP - | |
|
||||
* |--------+------+------+------+------+------| |------+------+------+------+------+--------|
|
||||
* | | KP 6 | KP 7 | KP 8 | KP 9 | KP 0 | | | KP 7 | KP 8 | KP 9 | KP + | |
|
||||
* |--------+------+------+------+------+------| |------+------+------+------+------+--------|
|
||||
* | | KP 1 | KP 2 | KP 3 | KP 4 | KP 5 | | | KP 4 | KP 5 | KP 6 | = | |
|
||||
* |--------+------+------+------+------+------| |------+------+------+------+------+--------|
|
||||
* | | | KP . |KP/KP*| KP- _| KP+ =| | | KP 1 | KP 2 | KP 3 |KP Ent| |
|
||||
* `--------+------+------+------+------+------' `------+------+------+------+------+--------'
|
||||
* | ( | ) | [ { | ] } | | KP 0 | , | KP . |KP Ent|
|
||||
* `---------------------------' `---------------------------'
|
||||
* ,---------------. ,---------------.
|
||||
* | | | | | |
|
||||
* ,-------|-------|-------| |-------+-------+-------.
|
||||
* | | | | | | | |
|
||||
* | | |-------| |-------| | |
|
||||
* | | | | | KP Ent| | |
|
||||
* `-----------------------' `-----------------------'
|
||||
(Left side duplicates layout from the Numbers layer, just with numpad output; right side layout close to PC numpad layout)
|
||||
,-----------------------------------------------------------------------------------------------------------.
|
||||
| | | | | | | | | | | | | | | | | | |
|
||||
`-----------------------------------------------------------------------------------------------------------'
|
||||
,-------------------------------------------. ,-------------------------------------------.
|
||||
| | NumLk| | | | | | Tab | NumLk| KP / | KP * | KP - | |
|
||||
|--------+------+------+------+------+------| |------+------+------+------+------+--------|
|
||||
| | KP 6 | KP 7 | KP 8 | KP 9 | KP 0 | | | KP 7 | KP 8 | KP 9 | KP + | |
|
||||
|--------+------+------+------+------+------| |------+------+------+------+------+--------|
|
||||
| | KP 1 | KP 2 | KP 3 | KP 4 | KP 5 | | | KP 4 | KP 5 | KP 6 | = | |
|
||||
|--------+------+------+------+------+------| |------+------+------+------+------+--------|
|
||||
| | | KP . |KP/KP*| KP- _| KP+ =| | | KP 1 | KP 2 | KP 3 |KP Ent| |
|
||||
`--------+------+------+------+------+------' `------+------+------+------+------+--------'
|
||||
| ( | ) | [ { | ] } | | KP 0 | , | KP . |KP Ent|
|
||||
`---------------------------' `---------------------------'
|
||||
,---------------. ,---------------.
|
||||
| | | | | |
|
||||
,-------|-------|-------| |-------+-------+-------.
|
||||
| | | | | | | |
|
||||
| | |-------| |-------| | |
|
||||
| | | | | | | |
|
||||
`-----------------------' `-----------------------'
|
||||
*/
|
||||
[_NUMPAD] = LAYOUT(
|
||||
// Left Hand
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, KC_NLCK, _______, _______, _______, _______,
|
||||
_______, KC_P6, KC_P7, KC_P8, KC_P9, KC_P0,
|
||||
_______, KC_P1, KC_P2, KC_P3, KC_P4, KC_P5,
|
||||
_______, _______, KC_PDOT, TD(PSLPAS), TD(PMNUN), TD(PPLEQ),
|
||||
KC_LPRN, KC_RPRN, TD(LBCB), TD(RBCB),
|
||||
// Left Thumb
|
||||
_______, _______,
|
||||
_______,
|
||||
_______, _______, _______,
|
||||
// Right Hand
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
KC_TAB, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS, _______,
|
||||
_______, KC_P7, KC_P8, KC_P9, KC_PPLS, _______,
|
||||
_______, KC_P4, KC_P5, KC_P6, KC_EQL, _______,
|
||||
_______, KC_P1, KC_P2, KC_P3, KC_PENT, _______,
|
||||
KC_P0, KC_COMM, KC_PDOT, KC_PENT,
|
||||
// Right Thumb
|
||||
_______, _______,
|
||||
_______,
|
||||
_______, _______, _______
|
||||
[_NUMPAD] = LAYOUT_pretty(
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, KC_NLCK, _______, _______, _______, _______, KC_TAB, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS, _______,
|
||||
_______, KC_P6, KC_P7, KC_P8, KC_P9, KC_P0, _______, KC_P7, KC_P8, KC_P9, KC_PPLS, _______,
|
||||
_______, KC_P1, KC_P2, KC_P3, KC_P4, KC_P5, _______, KC_P4, KC_P5, KC_P6, KC_EQL, _______,
|
||||
_______, _______, KC_PDOT, TD(PSLPAS), TD(PMNUN), TD(PPLEQ), _______, KC_P1, KC_P2, KC_P3, KC_PENT, _______,
|
||||
KC_LPRN, KC_RPRN, TD(LBCB), TD(RBCB), KC_P0, KC_COMM, KC_PDOT, KC_PENT,
|
||||
_______, _______, _______, _______,
|
||||
_______, _______,
|
||||
_______, _______, _______, _______, _______, _______
|
||||
),
|
||||
|
||||
/* Colemak gaming/vanilla
|
||||
* (Limited access to Function or Numbers layers; mainly used for gaming; double-tap and hold TD(ADJ) above LAlt to access Adjust layer)
|
||||
* ,-------------------------------------------. ,-------------------------------------------.
|
||||
* | = | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | - |
|
||||
* |--------+------+------+------+------+------| |------+------+------+------+------+--------|
|
||||
* | Tab | Q | W | F | P | G | | J | L | U | Y | ; | \ |
|
||||
* |--------+------+------+------+------+------| |------+------+------+------+------+--------|
|
||||
* | Ctrl | A | R | S | T | D | | H | N | E | I | O | ' |
|
||||
* |--------+------+------+------+------+------| |------+------+------+------+------+--------|
|
||||
* | Shift | Z | X | C | V | B | | K | M | , | . | / | Shift |
|
||||
* `--------+------+------+------+------+------' `------+------+------+------+------+--------'
|
||||
* | Ins | ` | [ | ] | | Left | Down | Up | Right|
|
||||
* `---------------------------' `---------------------------'
|
||||
* ,---------------. ,---------------.
|
||||
* |Esc/Ctl|TD(ADJ)| | RAlt | RCtl |
|
||||
* ,-------|-------|-------| |-------+-------+-------.
|
||||
* | | | LAlt | | RGUI | | |
|
||||
* | Space | Enter |-------| |-------| Delete| Bspc |
|
||||
* | | |Bspc/FN| | Ent/NS| | |
|
||||
* `-----------------------' `-----------------------'
|
||||
(Limited access to Function or Numbers layers; mainly used for gaming; double-tap and hold TD(ADJ) above LAlt to access Adjust layer)
|
||||
,-----------------------------------------------------------------------------------------------------------.
|
||||
| ESC | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | PScr| SLck| Paus|Numpd|Adjst|
|
||||
`-----------------------------------------------------------------------------------------------------------'
|
||||
,-------------------------------------------. ,-------------------------------------------.
|
||||
| = | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | - |
|
||||
|--------+------+------+------+------+------| |------+------+------+------+------+--------|
|
||||
| Tab | Q | W | F | P | G | | J | L | U | Y | ; | \ |
|
||||
|--------+------+------+------+------+------| |------+------+------+------+------+--------|
|
||||
| Ctrl | A | R | S | T | D | | H | N | E | I | O | ' |
|
||||
|--------+------+------+------+------+------| |------+------+------+------+------+--------|
|
||||
| Shift | Z | X | C | V | B | | K | M | , | . | / | Shift |
|
||||
`--------+------+------+------+------+------' `------+------+------+------+------+--------'
|
||||
| Ins | ` | [ | ] | | Left | Down | Up | Right|
|
||||
`---------------------------' `---------------------------'
|
||||
,---------------. ,---------------.
|
||||
|Esc/Ctl|TD(ADJ)| | RAlt | RCtl |
|
||||
,-------|-------|-------| |-------+-------+-------.
|
||||
| | | LAlt | | RGUI | | |
|
||||
| Space | Enter |-------| |-------| Delete| Bspc |
|
||||
| | |Bspc/FN| | Ent/NS| | |
|
||||
`-----------------------' `-----------------------'
|
||||
*/
|
||||
[_COLEMAKGM] = LAYOUT(
|
||||
// Left Hand
|
||||
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8,
|
||||
KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5,
|
||||
KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G,
|
||||
KC_LCTL, KC_A, KC_R, KC_S, KC_T, KC_D,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B,
|
||||
KC_INS, KC_GRV, KC_LBRC, KC_RBRC,
|
||||
//Left Thumb
|
||||
CTLESC, TD(ADJ),
|
||||
KC_LALT,
|
||||
KC_SPC, KC_ENT, BSPCFN,
|
||||
//Right Hand
|
||||
KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS, NUMPAD, ADJUST,
|
||||
KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
|
||||
KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSLS,
|
||||
KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT,
|
||||
KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
|
||||
KC_LEFT, KC_DOWN, KC_UP, KC_RGHT,
|
||||
//Right Thumb
|
||||
KC_RALT, KC_RCTL,
|
||||
KC_RGUI,
|
||||
ENTNS, KC_DEL, KC_BSPC
|
||||
[_COLEMAKGM] = LAYOUT_pretty(
|
||||
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_PSCR, KC_SLCK, KC_PAUS, NUMPAD, ADJUST,
|
||||
KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
|
||||
KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSLS,
|
||||
KC_LCTL, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
|
||||
KC_INS, KC_GRV, KC_LBRC, KC_RBRC, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT,
|
||||
CTLESC, TD(ADJ), KC_RALT, KC_RCTL,
|
||||
KC_LALT, KC_RGUI,
|
||||
KC_SPC, KC_ENT, BSPCFN, ENTNS, KC_DEL, KC_BSPC
|
||||
),
|
||||
|
||||
/* QWERTY gaming/vanilla
|
||||
* (Limited access to Function or Numbers layers; mainly used for gaming; double-tap and hold TD(ADJ) above LAlt to access Adjust layer)
|
||||
* ,-------------------------------------------. ,-------------------------------------------.
|
||||
* | = | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | - |
|
||||
* |--------+------+------+------+------+------| |------+------+------+------+------+--------|
|
||||
* | Tab | Q | W | E | R | T | | Y | U | I | O | P | \ |
|
||||
* |--------+------+------+------+------+------| |------+------+------+------+------+--------|
|
||||
* | Ctrl | A | S | D | F | G | | H | J | K | L | ; | ' |
|
||||
* |--------+------+------+------+------+------| |------+------+------+------+------+--------|
|
||||
* | Shift | Z | X | C | V | B | | N | M | , | . | / | Shift |
|
||||
* `--------+------+------+------+------+------' `------+------+------+------+------+--------'
|
||||
* | Ins | ` | [ | ] | | Left | Down | Up | Right|
|
||||
* `---------------------------' `---------------------------'
|
||||
* ,---------------. ,---------------.
|
||||
* |Esc/Ctl|TD(ADJ)| | RAlt | RCtl |
|
||||
* ,-------|-------|-------| |-------+-------+-------.
|
||||
* | | | LAlt | | RGUI | | |
|
||||
* | Space | Enter |-------| |-------| Delete| Bspc |
|
||||
* | | |Bspc/FN| | Ent/NS| | |
|
||||
* `-----------------------' `-----------------------'
|
||||
(Limited access to Function or Numbers layers; mainly used for gaming; double-tap and hold TD(ADJ) above LAlt to access Adjust layer)
|
||||
,-----------------------------------------------------------------------------------------------------------.
|
||||
| ESC | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | PScr| SLck| Paus|Numpd|Adjst|
|
||||
`-----------------------------------------------------------------------------------------------------------'
|
||||
,-------------------------------------------. ,-------------------------------------------.
|
||||
| = | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | - |
|
||||
|--------+------+------+------+------+------| |------+------+------+------+------+--------|
|
||||
| Tab | Q | W | E | R | T | | Y | U | I | O | P | \ |
|
||||
|--------+------+------+------+------+------| |------+------+------+------+------+--------|
|
||||
| Ctrl | A | S | D | F | G | | H | J | K | L | ; | ' |
|
||||
|--------+------+------+------+------+------| |------+------+------+------+------+--------|
|
||||
| Shift | Z | X | C | V | B | | N | M | , | . | / | Shift |
|
||||
`--------+------+------+------+------+------' `------+------+------+------+------+--------'
|
||||
| Ins | ` | [ | ] | | Left | Down | Up | Right|
|
||||
`---------------------------' `---------------------------'
|
||||
,---------------. ,---------------.
|
||||
|Esc/Ctl|TD(ADJ)| | RAlt | RCtl |
|
||||
,-------|-------|-------| |-------+-------+-------.
|
||||
| | | LAlt | | RGUI | | |
|
||||
| Space | Enter |-------| |-------| Delete| Bspc |
|
||||
| | |Bspc/FN| | Ent/NS| | |
|
||||
`-----------------------' `-----------------------'
|
||||
*/
|
||||
[_QWERTYGM] = LAYOUT(
|
||||
// Left Hand
|
||||
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8,
|
||||
KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T,
|
||||
KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B,
|
||||
KC_INS, KC_GRV, KC_LBRC, KC_RBRC,
|
||||
//Left Thumb
|
||||
CTLESC, TD(ADJ),
|
||||
KC_LALT,
|
||||
KC_SPC, KC_ENT, BSPCFN,
|
||||
//Right Hand
|
||||
KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS, NUMPAD, ADJUST,
|
||||
KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
|
||||
KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
|
||||
KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
|
||||
KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
|
||||
KC_LEFT, KC_DOWN, KC_UP, KC_RGHT,
|
||||
//Right Thumb
|
||||
KC_RALT, KC_RCTL,
|
||||
KC_RGUI,
|
||||
ENTNS, KC_DEL, KC_BSPC
|
||||
[_QWERTYGM] = LAYOUT_pretty(
|
||||
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_PSCR, KC_SLCK, KC_PAUS, NUMPAD, ADJUST,
|
||||
KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
|
||||
KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
|
||||
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_INS, KC_GRV, KC_LBRC, KC_RBRC, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT,
|
||||
CTLESC, TD(ADJ), KC_RALT, KC_RCTL,
|
||||
KC_LALT, KC_RGUI,
|
||||
KC_SPC, KC_ENT, BSPCFN, ENTNS, KC_DEL, KC_BSPC
|
||||
),
|
||||
|
||||
/* Adjust layer
|
||||
* (Enter/Number + Delete/Number2 under non-gaming/vanilla layers; Numpad is a toggle)
|
||||
* ,-------------------------------------------. ,-------------------------------------------.
|
||||
* | |Colmak|Qwerty| |ClmkGM| QWGM | |Numpad| | | | | RESET |
|
||||
* |--------+------+------+------+------+------| |------+------+------+------+------+--------|
|
||||
* | | | | | | | | | | | | | |
|
||||
* |--------+------+------+------+------+------| |------+------+------+------+------+--------|
|
||||
* | | | | | | | | |NKROTG| | | | |
|
||||
* |--------+------+------+------+------+------| |------+------+------+------+------+--------|
|
||||
* | | | | | | | | | | | | | |
|
||||
* `--------+------+------+------+------+------' `------+------+------+------+------+--------'
|
||||
* | | | | | | | | | |
|
||||
* `---------------------------' `---------------------------'
|
||||
* ,---------------. ,---------------.
|
||||
* | | | | | |
|
||||
* ,-------|-------|-------| |-------+-------+-------.
|
||||
* | | | | | | | |
|
||||
* | | |-------| |-------| | |
|
||||
* | | | | | | | |
|
||||
* `-----------------------' `-----------------------'
|
||||
(Enter/Number + Delete/Number2 under non-gaming/vanilla layers or press & hold Adjust key on function row; Numpad is a toggle)
|
||||
,-----------------------------------------------------------------------------------------------------------.
|
||||
| | | | | | | | | | | | | | | | | | |
|
||||
`-----------------------------------------------------------------------------------------------------------'
|
||||
,-------------------------------------------. ,-------------------------------------------.
|
||||
| |Colmak|Qwerty| |ClmkGM| QWGM | |Numpad| | | | | RESET |
|
||||
|--------+------+------+------+------+------| |------+------+------+------+------+--------|
|
||||
| | | | | | | | | | | | | |
|
||||
|--------+------+------+------+------+------| |------+------+------+------+------+--------|
|
||||
| | | | | | | | | NKRO | | | | |
|
||||
|--------+------+------+------+------+------| |------+------+------+------+------+--------|
|
||||
| | | | | | | | | | | | | |
|
||||
`--------+------+------+------+------+------' `------+------+------+------+------+--------'
|
||||
| | | | | | | | | |
|
||||
`---------------------------' `---------------------------'
|
||||
,---------------. ,---------------.
|
||||
| | | | | |
|
||||
,-------|-------|-------| |-------+-------+-------.
|
||||
| | | | | | | |
|
||||
| | |-------| |-------| | |
|
||||
| | | | | | | |
|
||||
`-----------------------' `-----------------------'
|
||||
*/
|
||||
[_ADJUST] = LAYOUT(
|
||||
// Left Hand
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, COLEMAK, QWERTY, _______, COLEMAKGM, QWERTYGM,
|
||||
_______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______,
|
||||
// Left Thumb
|
||||
_______, _______,
|
||||
_______,
|
||||
_______, _______, _______,
|
||||
// Right Hand
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
NUMPAD, _______, _______, _______, _______, RESET,
|
||||
_______, _______, _______, _______, _______, _______,
|
||||
_______, NKROTG, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______,
|
||||
// Right Thumb
|
||||
_______, _______,
|
||||
_______,
|
||||
_______, _______, _______
|
||||
[_ADJUST] = LAYOUT_pretty(
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, COLEMAK, QWERTY, _______, COLEMAKGM, QWERTYGM, NUMPAD, _______, _______, _______, _______, RESET,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, NKROTG, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______,
|
||||
_______, _______,
|
||||
_______, _______, _______, _______, _______, _______
|
||||
),
|
||||
|
||||
[_ADJUST2] = LAYOUT(
|
||||
// Left Hand
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, COLEMAK, QWERTY, _______, COLEMAKGM, QWERTYGM,
|
||||
_______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______,
|
||||
// Left Thumb
|
||||
_______, _______,
|
||||
_______,
|
||||
_______, _______, _______,
|
||||
// Right Hand
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
NUMPAD, _______, _______, _______, _______, RESET,
|
||||
_______, _______, _______, _______, _______, _______,
|
||||
_______, NKROTG, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______,
|
||||
// Right Thumb
|
||||
_______, _______,
|
||||
_______,
|
||||
_______, _______, _______
|
||||
[_ADJUST2] = LAYOUT_pretty(
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, COLEMAK, QWERTY, _______, COLEMAKGM, QWERTYGM, NUMPAD, _______, _______, _______, _______, RESET,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, NKROTG, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______,
|
||||
_______, _______,
|
||||
_______, _______, _______, _______, _______, _______
|
||||
)
|
||||
|
||||
};
|
||||
|
||||
@@ -14,7 +14,7 @@ I've largely left the function keys untouched, with the intension of not using t
|
||||
|
||||
I use Colemak as my default layout. I've included QWERTY here as well.
|
||||
|
||||
Additionally, I've added gaming/vanilla version of Colemak and QWERTY layouts. These layouts have no access to the Function or Numbers layers, thus no dual-role keys with layer access, and are mainly used for gaming.
|
||||
Additionally, I've added gaming/vanilla version of Colemak and QWERTY layouts. These layouts have limited access to the Function or Numbers layers, and are mainly used for gaming.
|
||||
|
||||
Persistent default layer has been enabled for Colemak and QWERTY. The gaming/vanilla Colemak and QWERTY can be set as default layer, but will not be persistent.
|
||||
|
||||
@@ -46,7 +46,7 @@ Persistent default layer has been enabled for Colemak and QWERTY. The gaming/va
|
||||
,-------|-------|-------| |-------+-------+-------.
|
||||
| Space | Enter |App/Alt| | RGUI | Delete| Bspc |
|
||||
| / | / |-------| |-------| / | / |
|
||||
| Fn | Number| Bspc | | Tab |Number2| Fn2 |
|
||||
| Fn | Number| Bspc | | Enter |Number2| Fn2 |
|
||||
`-----------------------' `-----------------------'
|
||||
|
||||
|
||||
@@ -71,7 +71,7 @@ Persistent default layer has been enabled for Colemak and QWERTY. The gaming/va
|
||||
,-------|-------|-------| |-------+-------+-------.
|
||||
| Space | Enter |App/Alt| | RGUI | Delete| Bspc |
|
||||
| / | / |-------| |-------| / | / |
|
||||
| Fn | Number| Bspc | | Tab |Number2| Fn2 |
|
||||
| Fn | Number| Bspc | | Enter |Number2| Fn2 |
|
||||
`-----------------------' `-----------------------'
|
||||
|
||||
|
||||
@@ -109,9 +109,9 @@ Persistent default layer has been enabled for Colemak and QWERTY. The gaming/va
|
||||
|--------+------+------+------+------+------| |------+------+------+------+------+--------|
|
||||
| | | | Up | | | | | | Up |Ctrl+Y| | |
|
||||
|--------+------+------+------+------+------| |------+------+------+------+------+--------|
|
||||
| |Ctrl+A| Left | Down | Right| | | PgUp | Right| Down | Left | Home | |
|
||||
| |Ctrl+A| Left | Down | Right|C+A+Tb| | PgUp | Right| Down | Left | Home | |
|
||||
|--------+------+------+------+------+------| |------+------+------+------+------+--------|
|
||||
| |Ctrl+Z|Ctrl+X|Ctrl+C|Ctrl+V| | | PgDn | Mute | Vol- | Vol+ | End | |
|
||||
| |Ctrl+Z|Ctrl+X|Ctrl+C|Ctrl+V| Bspc | | PgDn | Mute | Vol- | Vol+ | End | |
|
||||
`--------+------+------+------+------+------' `------+------+------+------+------+--------'
|
||||
| | | | | | Prev | Play | Next | Stop |
|
||||
`---------------------------' `---------------------------'
|
||||
@@ -120,7 +120,7 @@ Persistent default layer has been enabled for Colemak and QWERTY. The gaming/va
|
||||
,-------|-------|-------| |-------+-------+-------.
|
||||
| | | | | | | |
|
||||
| | |-------| |-------| | |
|
||||
| | | | |C+A+Tab| | |
|
||||
| | | | | | | |
|
||||
`-----------------------' `-----------------------'
|
||||
|
||||
|
||||
@@ -150,7 +150,7 @@ Persistent default layer has been enabled for Colemak and QWERTY. The gaming/va
|
||||
|
||||
|
||||
### Colemak gaming/vanilla
|
||||
(Limited access to Function or Numbers layers; mainly used for gaming; double-tap TD(ADJ) for one shot access to Adjust layer)
|
||||
(Limited access to Function or Numbers layers; mainly used for gaming; double-tap and hold TD(ADJ) above LAlt to access Adjust layer)
|
||||
,-----------------------------------------------------------------------------------------------------------.
|
||||
| ESC | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | PScr| SLck| Paus|Numpd|Adjst|
|
||||
`-----------------------------------------------------------------------------------------------------------'
|
||||
@@ -175,7 +175,7 @@ Persistent default layer has been enabled for Colemak and QWERTY. The gaming/va
|
||||
|
||||
|
||||
### QWERTY gaming/vanilla
|
||||
(Limited access to Function or Numbers layers; mainly used for gaming; double-tap TD(ADJ) for one shot access to Adjust layer)
|
||||
(Limited access to Function or Numbers layers; mainly used for gaming; double-tap and hold TD(ADJ) above LAlt to access Adjust layer)
|
||||
,-----------------------------------------------------------------------------------------------------------.
|
||||
| ESC | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | PScr| SLck| Paus|Numpd|Adjst|
|
||||
`-----------------------------------------------------------------------------------------------------------'
|
||||
@@ -199,7 +199,7 @@ Persistent default layer has been enabled for Colemak and QWERTY. The gaming/va
|
||||
`-----------------------' `-----------------------'
|
||||
|
||||
### Adjust layer
|
||||
(Press Enter/Number + Delete/Number2 together under non-gaming/vanilla layers; Numpad is a toggle)
|
||||
(Press Enter/Number + Delete/Number2 under non-gaming/vanilla layers or press & hold Adjust key on function row; Numpad is a toggle)
|
||||
,-----------------------------------------------------------------------------------------------------------.
|
||||
| | | | | | | | | | | | | | | | | | |
|
||||
`-----------------------------------------------------------------------------------------------------------'
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
DEFAULT_FOLDER = kinesis/stapelberg
|
||||
|
||||
BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
|
||||
MOUSEKEY_ENABLE = no # Mouse keys(+4700)
|
||||
MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
|
||||
EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
|
||||
CONSOLE_ENABLE = yes # Console for debug(+400)
|
||||
COMMAND_ENABLE = no # Commands for debug and configuration
|
||||
|
||||
80
keyboards/massdrop/alt67/info.json
Normal file
80
keyboards/massdrop/alt67/info.json
Normal file
@@ -0,0 +1,80 @@
|
||||
{
|
||||
"keyboard_name": "ALT",
|
||||
"url": "https://www.massdrop.com/buy/massdrop-alt-mechanical-keyboard",
|
||||
"maintainer": "Massdrop",
|
||||
"width": 16,
|
||||
"height": 5,
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
{"label":"ESCAPE", "x":0, "y":0},
|
||||
{"label":"1", "x":1, "y":0},
|
||||
{"label":"2", "x":2, "y":0},
|
||||
{"label":"3", "x":3, "y":0},
|
||||
{"label":"4", "x":4, "y":0},
|
||||
{"label":"5", "x":5, "y":0},
|
||||
{"label":"6", "x":6, "y":0},
|
||||
{"label":"7", "x":7, "y":0},
|
||||
{"label":"8", "x":8, "y":0},
|
||||
{"label":"9", "x":9, "y":0},
|
||||
{"label":"0", "x":10, "y":0},
|
||||
{"label":"MINUS", "x":11, "y":0},
|
||||
{"label":"EQUALS", "x":12, "y":0},
|
||||
{"label":"BACKSPACE", "x":13, "y":0, "w":2},
|
||||
{"label":"DELETE", "x":15, "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":"LEFT BRACKET", "x":11.5, "y":1},
|
||||
{"label":"RIGHT BRACKET", "x":12.5, "y":1},
|
||||
{"label":"BACK SLASH", "x":13.5, "y":1, "w":1.5},
|
||||
{"label":"HOME", "x":15, "y":1},
|
||||
{"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":"SEMICOLON", "x":10.75, "y":2},
|
||||
{"label":"SINGLE TICK", "x":11.75, "y":2},
|
||||
{"label":"ENTER", "x":12.75, "y":2, "w":2.25},
|
||||
{"label":"PAGE UP", "x":15, "y":2},
|
||||
{"label":"LEFT 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":"COMMA", "x":9.25, "y":3},
|
||||
{"label":"PERIOD", "x":10.25, "y":3},
|
||||
{"label":"FORWARD SLASH", "x":11.25, "y":3},
|
||||
{"label":"RIGHT SHIFT", "x":12.25, "y":3, "w":1.75},
|
||||
{"label":"UP ARROW", "x":14, "y":3},
|
||||
{"label":"PAGE DOWN", "x":15, "y":3},
|
||||
{"label":"LEFT CTRL", "x":0, "y":4, "w":1.25},
|
||||
{"label":"LEFT WIN", "x":1.25, "y":4, "w":1.25},
|
||||
{"label":"LEFT ALT", "x":2.5, "y":4, "w":1.25},
|
||||
{"label":"SPACEBAR", "x":3.75, "y":4, "w":6.25},
|
||||
{"label":"RIGHT ALT", "x":10, "y":4, "w":1.25},
|
||||
{"label":"FN", "x":11.25, "y":4, "w":1.25},
|
||||
{"label":"LEFT ARROW", "x":13, "y":4},
|
||||
{"label":"DOWN ARROW", "x":14, "y":4},
|
||||
{"label":"RIGHT ARROW", "x":15, "y":4}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -34,7 +34,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT \
|
||||
),
|
||||
[1] = LAYOUT(
|
||||
KC_TRNS, 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_TRNS, KC_MUTE, \
|
||||
KC_GRV, 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_TRNS, KC_MUTE, \
|
||||
L_T_BR, L_PSD, L_BRI, L_PSI, KC_TRNS, KC_TRNS, KC_TRNS, U_T_AUTO,U_T_AGCR,KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, KC_TRNS, KC_TRNS, \
|
||||
L_T_PTD, L_PTP, L_BRD, L_PTN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU, \
|
||||
KC_TRNS, L_T_MD, L_T_ONF, KC_TRNS, KC_TRNS, KC_TRNS, TG_NKRO, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, KC_VOLD, \
|
||||
|
||||
@@ -10,7 +10,7 @@ Hardware Availability: [Massdrop ALT Mechanical Keyboard](https://www.massdrop.c
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make alt67:default
|
||||
make massdrop/alt67:default
|
||||
|
||||
For information on flashing this keyboard, visit the following links:
|
||||
|
||||
|
||||
100
keyboards/massdrop/ctrl/info.json
Normal file
100
keyboards/massdrop/ctrl/info.json
Normal file
@@ -0,0 +1,100 @@
|
||||
{
|
||||
"keyboard_name": "CTRL",
|
||||
"url": "https://www.massdrop.com/buy/massdrop-ctrl-mechanical-keyboard",
|
||||
"maintainer": "Massdrop",
|
||||
"width": 18.5,
|
||||
"height": 6.5,
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
{"label":"ESCAPE", "x":0, "y":0},
|
||||
{"label":"F1", "x":2, "y":0},
|
||||
{"label":"F2", "x":3, "y":0},
|
||||
{"label":"F3", "x":4, "y":0},
|
||||
{"label":"F4", "x":5, "y":0},
|
||||
{"label":"F5", "x":6.5, "y":0},
|
||||
{"label":"F6", "x":7.5, "y":0},
|
||||
{"label":"F7", "x":8.5, "y":0},
|
||||
{"label":"F8", "x":9.5, "y":0},
|
||||
{"label":"F9", "x":11, "y":0},
|
||||
{"label":"F10", "x":12, "y":0},
|
||||
{"label":"F11", "x":13, "y":0},
|
||||
{"label":"F12", "x":14, "y":0},
|
||||
{"label":"PRINT SCREEN", "x":15.5, "y":0},
|
||||
{"label":"SCROLL LOCK", "x":16.5, "y":0},
|
||||
{"label":"PAUSE BREAK", "x":17.5, "y":0},
|
||||
{"label":"BACKTICK", "x":0, "y":1.5},
|
||||
{"label":"1", "x":1, "y":1.5},
|
||||
{"label":"2", "x":2, "y":1.5},
|
||||
{"label":"3", "x":3, "y":1.5},
|
||||
{"label":"4", "x":4, "y":1.5},
|
||||
{"label":"5", "x":5, "y":1.5},
|
||||
{"label":"6", "x":6, "y":1.5},
|
||||
{"label":"7", "x":7, "y":1.5},
|
||||
{"label":"8", "x":8, "y":1.5},
|
||||
{"label":"9", "x":9, "y":1.5},
|
||||
{"label":"0", "x":10, "y":1.5},
|
||||
{"label":"MINUS", "x":11, "y":1.5},
|
||||
{"label":"EQUALS", "x":12, "y":1.5},
|
||||
{"label":"BACKSPACE", "x":13, "y":1.5, "w":2},
|
||||
{"label":"INSERT", "x":15.5, "y":1.5},
|
||||
{"label":"HOME", "x":16.5, "y":1.5},
|
||||
{"label":"PAGE UP", "x":17.5, "y":1.5},
|
||||
{"label":"TAB", "x":0, "y":2.5, "w":1.5},
|
||||
{"label":"Q", "x":1.5, "y":2.5},
|
||||
{"label":"W", "x":2.5, "y":2.5},
|
||||
{"label":"E", "x":3.5, "y":2.5},
|
||||
{"label":"R", "x":4.5, "y":2.5},
|
||||
{"label":"T", "x":5.5, "y":2.5},
|
||||
{"label":"Y", "x":6.5, "y":2.5},
|
||||
{"label":"U", "x":7.5, "y":2.5},
|
||||
{"label":"I", "x":8.5, "y":2.5},
|
||||
{"label":"O", "x":9.5, "y":2.5},
|
||||
{"label":"P", "x":10.5, "y":2.5},
|
||||
{"label":"LEFT BRACKET", "x":11.5, "y":2.5},
|
||||
{"label":"RIGHT BRACKET", "x":12.5, "y":2.5},
|
||||
{"label":"BACK SLASH", "x":13.5, "y":2.5, "w":1.5},
|
||||
{"label":"DELETE", "x":15.5, "y":2.5},
|
||||
{"label":"END", "x":16.5, "y":2.5},
|
||||
{"label":"PAGE DOWN", "x":17.5, "y":2.5},
|
||||
{"label":"CAPS LOCK", "x":0, "y":3.5, "w":1.75},
|
||||
{"label":"A", "x":1.75, "y":3.5},
|
||||
{"label":"S", "x":2.75, "y":3.5},
|
||||
{"label":"D", "x":3.75, "y":3.5},
|
||||
{"label":"F", "x":4.75, "y":3.5},
|
||||
{"label":"G", "x":5.75, "y":3.5},
|
||||
{"label":"H", "x":6.75, "y":3.5},
|
||||
{"label":"J", "x":7.75, "y":3.5},
|
||||
{"label":"K", "x":8.75, "y":3.5},
|
||||
{"label":"L", "x":9.75, "y":3.5},
|
||||
{"label":"SEMICOLON", "x":10.75, "y":3.5},
|
||||
{"label":"SINGLE TICK", "x":11.75, "y":3.5},
|
||||
{"label":"ENTER", "x":12.75, "y":3.5, "w":2.25},
|
||||
{"label":"LEFT SHIFT", "x":0, "y":4.5, "w":2.25},
|
||||
{"label":"Z", "x":2.25, "y":4.5},
|
||||
{"label":"X", "x":3.25, "y":4.5},
|
||||
{"label":"C", "x":4.25, "y":4.5},
|
||||
{"label":"V", "x":5.25, "y":4.5},
|
||||
{"label":"B", "x":6.25, "y":4.5},
|
||||
{"label":"N", "x":7.25, "y":4.5},
|
||||
{"label":"M", "x":8.25, "y":4.5},
|
||||
{"label":"COMMA", "x":9.25, "y":4.5},
|
||||
{"label":"PERIOD", "x":10.25, "y":4.5},
|
||||
{"label":"FORWARD SLASH", "x":11.25, "y":4.5},
|
||||
{"label":"RIGHT SHIFT", "x":12.25, "y":4.5, "w":2.75},
|
||||
{"label":"UP ARROW", "x":16.5, "y":4.5},
|
||||
{"label":"LEFT CTRL", "x":0.005, "y":5.5, "w":1.24},
|
||||
{"label":"LEFT WIN", "x":1.255, "y":5.5, "w":1.24},
|
||||
{"label":"LEFT ALT", "x":2.505, "y":5.5, "w":1.24},
|
||||
{"label":"SPACEBAR", "x":3.75, "y":5.5, "w":6.25},
|
||||
{"label":"RIGHT ALT", "x":10, "y":5.5, "w":1.25},
|
||||
{"label":"FN", "x":11.25, "y":5.5, "w":1.25},
|
||||
{"label":"MENU", "x":12.5, "y":5.5, "w":1.25},
|
||||
{"label":"RIGHT CTRL", "x":13.75, "y":5.5, "w":1.25},
|
||||
{"label":"LEFT ARROW", "x":15.5, "y":5.5},
|
||||
{"label":"DOWN ARROW", "x":16.5, "y":5.5},
|
||||
{"label":"RIGHT ARROW", "x":17.5, "y":5.5}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -10,7 +10,7 @@ Hardware Availability: [Massdrop CTRL Mechanical Keyboard](https://www.massdrop.
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make ctrl:default
|
||||
make massdrop/ctrl:default
|
||||
|
||||
For information on flashing this keyboard, visit the following links:
|
||||
|
||||
|
||||
@@ -1,9 +1,8 @@
|
||||
#include "backlight.h"
|
||||
#pragma message "You may need to add LAYOUT_planck_grid to your keymap layers - see default for an example"
|
||||
#include "planck.h"
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[0] = {
|
||||
[0] = LAYOUT_planck_grid(
|
||||
/* ┌──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┐
|
||||
* │ Esc │ Q │ W │ E │ R │ T │ Z │ U │ I │ O │ P │ Bksp │
|
||||
* ├──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┤
|
||||
@@ -11,15 +10,15 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
* ├──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┤
|
||||
* │ Shft │ Y │ X │ C │ V │ B │ N │ M │ , < │ . > │ / ? │ ' " │
|
||||
* ├──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┤
|
||||
* │ Ctrl │ Alt │ GUI │ - _ │ = + │ Spce │ \ | │ ( │ ) │ [ { │ ] } │ Lr 1 │
|
||||
* │ Ctrl │ Alt │ ` ~ │ - _ │ = + │ Spce │ \ | │ ( │ ) │ [ { │ ] } │ Lr 1 │
|
||||
* └──────┴──────┴──────┴──────┴──────┴──────┴──────┴──────┴──────┴──────┴──────┴──────┘
|
||||
*/
|
||||
{ KC_ESC , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Z , KC_U , KC_I , KC_O , KC_P , KC_BSPC } ,
|
||||
{ KC_TAB , KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN , KC_ENT } ,
|
||||
{ KC_LSFT , KC_Y , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM , KC_DOT , KC_SLSH , KC_QUOT } ,
|
||||
{ KC_LCTL , KC_LALT , KC_LGUI , KC_MINS , KC_EQL , KC_SPC , KC_BSLS , KC_LPRN , KC_RPRN , KC_LBRC , KC_RBRC , MO(1) }
|
||||
},
|
||||
[1] = {
|
||||
KC_ESC , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Z , KC_U , KC_I , KC_O , KC_P , KC_BSPC,
|
||||
KC_TAB , KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN , KC_ENT,
|
||||
KC_LSFT , KC_Y , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM , KC_DOT , KC_SLSH , KC_QUOT,
|
||||
KC_LCTL , KC_LALT , KC_GRV , KC_MINS , KC_EQL , KC_SPC , KC_BSLS , KC_LPRN , KC_RPRN , KC_LBRC , KC_RBRC , MO(1)
|
||||
),
|
||||
[1] = LAYOUT_planck_grid(
|
||||
/* ┌──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┐
|
||||
* │ ~ │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ DEL │
|
||||
* ├──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┤
|
||||
@@ -30,11 +29,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
* │ Powr │ Rset │ BLSt │ Home │ End │ PgUp │ PgDn │ Left │ Down │ Up │ Rght │ │
|
||||
* └──────┴──────┴──────┴──────┴──────┴──────┴──────┴──────┴──────┴──────┴──────┴──────┘
|
||||
*/
|
||||
{ KC_TILD , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_DEL } ,
|
||||
{ KC_GRV , KC_EXLM , KC_AT , KC_HASH , KC_DLR , KC_PERC , KC_CIRC , KC_AMPR , KC_ASTR , UC(L'ü') , UC(L'ö') , UC(L'ä') } ,
|
||||
{ S(KC_INS) , UC(L'♥') , UC(L'≈') , UC(L'✓') , UC(L'✗') , UC(L'←') , UC(L'→') , UC(L'€') , UC(L'ß') , UC(L'Ü') , UC(L'Ö') , UC(L'Ä') } ,
|
||||
{ KC_PWR , RESET , BL_STEP , KC_HOME , KC_END , KC_PGUP , KC_PGDN , KC_LEFT , KC_DOWN , KC_UP , KC_RGHT , KC_TRNS }
|
||||
}
|
||||
KC_TILD , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_DEL,
|
||||
KC_GRV , KC_EXLM , KC_AT , KC_HASH , KC_DLR , KC_PERC , KC_CIRC , KC_AMPR , KC_ASTR , UC(L'ü') , UC(L'ö') , UC(L'ä'),
|
||||
S(KC_INS) , UC(L'♥') , UC(L'≈') , UC(L'✓') , UC(L'✗') , UC(L'←') , UC(L'→') , UC(L'€') , UC(L'ß') , UC(L'Ü') , UC(L'Ö') , UC(L'Ä'),
|
||||
KC_PWR , RESET , BL_STEP , KC_HOME , KC_END , KC_PGUP , KC_PGDN , KC_LEFT , KC_DOWN , KC_UP , KC_RGHT , KC_TRNS
|
||||
)
|
||||
};
|
||||
|
||||
void matrix_init_user(void) {
|
||||
|
||||
1
keyboards/tada68/keymaps/laas/config.h
Executable file
1
keyboards/tada68/keymaps/laas/config.h
Executable file
@@ -0,0 +1 @@
|
||||
#pragma once
|
||||
53
keyboards/tada68/keymaps/laas/keymap.c
Executable file
53
keyboards/tada68/keymaps/laas/keymap.c
Executable file
@@ -0,0 +1,53 @@
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
// Each layer gets a name for readability, which is then used in the keymap matrix below.
|
||||
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
|
||||
// Layer names don't all need to be of the same length, obviously, and you can also skip them
|
||||
// entirely and just use numbers.
|
||||
#define _BL 0
|
||||
#define _FL 1
|
||||
#define _______ KC_TRNS
|
||||
|
||||
LEADER_EXTERNS();
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
/* Keymap _BL: (Base Layer) Default Layer
|
||||
* ,----------------------------------------------------------------.
|
||||
* |Esc | 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|Backsp |~ ` |
|
||||
* |----------------------------------------------------------------|
|
||||
* |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \ |Del |
|
||||
* |----------------------------------------------------------------|
|
||||
* |CAPS | A| S| D| F| G| H| J| K| L| ;| '|Return |PgUp|
|
||||
* |----------------------------------------------------------------|
|
||||
* |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift | Up|PgDn|
|
||||
* |----------------------------------------------------------------|
|
||||
* |Ctrl|Win |Alt | Space |Alt| FN|Ctrl|Lef|Dow|Rig |
|
||||
* `----------------------------------------------------------------'
|
||||
*/
|
||||
[_BL] = LAYOUT_ansi(
|
||||
KC_ESC, 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_GRV,
|
||||
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_DEL,
|
||||
KC_CAPS, 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_PGUP,
|
||||
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_UP, KC_PGDN,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FL), KC_RCTRL, KC_LEFT, KC_DOWN, KC_RGHT),
|
||||
|
||||
/* Keymap _FL: Function Layer
|
||||
* ,----------------------------------------------------------------.
|
||||
* | | F1|F2 |F3 |F4 |F5 |F6 |F7 |F8 |F9 |F10|F11|F12|Del |Ins |
|
||||
* |----------------------------------------------------------------|
|
||||
* | | |Up | | | | | | | | | | | |VMU |
|
||||
* |----------------------------------------------------------------|
|
||||
* | |<- |Dn | ->| | | | | | | | | |Hme |
|
||||
* |----------------------------------------------------------------|
|
||||
* | | | |Bl-|BL |BL+| | | | | | | |VU-|End |
|
||||
* |----------------------------------------------------------------|
|
||||
* | | | | Play/Pause | | | |Rwd|VU+|Fwd |
|
||||
* `----------------------------------------------------------------'
|
||||
*/
|
||||
[_FL] = LAYOUT_ansi(
|
||||
_______, 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_INS,
|
||||
_______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE,
|
||||
_______, KC_LEFT, KC_DOWN, KC_RIGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME,
|
||||
_______, _______, _______, BL_DEC, BL_TOGG, BL_INC, _______, _______, _______, _______, _______, _______, KC_VOLU, KC_END,
|
||||
_______, _______, _______, KC_MPLY, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT),
|
||||
};
|
||||
12
keyboards/tada68/keymaps/laas/readme.md
Executable file
12
keyboards/tada68/keymaps/laas/readme.md
Executable file
@@ -0,0 +1,12 @@
|
||||
# laas' TADA68 layout
|
||||
|
||||
* Disabled mouse controls
|
||||
* Fn + PgUp -> Home
|
||||
* Fn + PgDown -> End
|
||||
* Media control for Windows:
|
||||
* Fn + Left: Previous track
|
||||
* Fn + Right: Next track
|
||||
* Fn + Up: Volume up
|
||||
* Fn + Down: Volume down
|
||||
* Fn + Delete: Mute
|
||||
* Fn + Space: Play/pause
|
||||
5
keyboards/tada68/keymaps/laas/rules.mk
Executable file
5
keyboards/tada68/keymaps/laas/rules.mk
Executable file
@@ -0,0 +1,5 @@
|
||||
# Build Options
|
||||
# change to "no" to disable the options, or define them in the Makefile in
|
||||
# the appropriate keymap folder that will get included automatically
|
||||
#
|
||||
CONSOLE_ENABLE = no # Console for debug(+400)
|
||||
@@ -12,4 +12,11 @@
|
||||
#define EE_HANDS
|
||||
#endif
|
||||
|
||||
// set top left key as bootloader mode escape key on 4x4 48key layout
|
||||
#if defined(KEYBOARD_4x4)
|
||||
#define QMK_LED B0
|
||||
#define QMK_ESC_OUTPUT C6 // usually COL
|
||||
#define QMK_ESC_INPUT B2 // usually ROW
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
@@ -13,7 +13,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
_______________Qwerty_Row__0_______________,
|
||||
_______________Qwerty_Row__1_______________,
|
||||
_______________Qwerty_Row__2_______________,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, GHERKIN, SUBTER, SH_T(KC_SPC), KC_SPC, SUPRA, KC_RGUI, KC_RALT, KC_DEL, KC_RCTL
|
||||
KC_LCTL, KC_LGUI, KC_LALT, GHERKIN, SUBTER, SH_T(KC_SPC), SH_T(KC_SPC), SUPRA, KC_RGUI, KC_RALT, GHERKIN, KC_RCTL
|
||||
),
|
||||
#else
|
||||
[_GK] = LAYOUT_ortho_4x12_wrapper(
|
||||
|
||||
@@ -16,9 +16,39 @@ Change `comPORT` to whatever port is used by the Arduino (e.g. `com11` in Window
|
||||
## Using QMK DFU
|
||||
Once QMK DFU is burned to your ProMicro, you can then flash subsequent hex files with
|
||||
`make lets_split/rev2:<keymap>:dfu dfu=qmk`
|
||||
The `dfu=qmk` conditional will set `BOOTLOADER = qmk-dfu` instead of `BOOTLOADER = caterina`
|
||||
The `dfu=qmk` conditional will set `BOOTLOADER = qmk-dfu` instead of `BOOTLOADER = caterina`
|
||||
|
||||
---
|
||||
# JJ40
|
||||
## To Do
|
||||
- [ ] Mousekeys not working with Userspace for some reason (jj40 only)
|
||||
# Let's Split LEDs
|
||||
In `qmk_firmware/keyboards/lets_split/rev2/rev2.c`, replace contents with
|
||||
```
|
||||
#include "lets_split.h"
|
||||
|
||||
|
||||
#ifdef SSD1306OLED
|
||||
void led_set_kb(uint8_t usb_led) {
|
||||
// put your keyboard LED indicator (ex: Caps Lock LED) toggling code here
|
||||
led_set_user(usb_led);
|
||||
}
|
||||
#endif
|
||||
|
||||
void matrix_init_kb(void) {
|
||||
|
||||
// // green led on
|
||||
// DDRD |= (1<<5);
|
||||
// PORTD &= ~(1<<5);
|
||||
|
||||
// // orange led on
|
||||
// DDRB |= (1<<0);
|
||||
// PORTB &= ~(1<<0);
|
||||
|
||||
//turn off LEDs on ProMicro
|
||||
DDRD &= ~(1<<5);
|
||||
PORTD &= ~(1<<5);
|
||||
|
||||
DDRB &= ~(1<<0);
|
||||
PORTB &= ~(1<<0);
|
||||
|
||||
matrix_init_user();
|
||||
};
|
||||
```
|
||||
to turn off LEDs
|
||||
|
||||
@@ -3,4 +3,8 @@ SWAP_HANDS_ENABLE = yes
|
||||
|
||||
ifeq ($(strip $(KEYBOARD)), jj40)
|
||||
SWAP_HANDS_ENABLE = no
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(KEYBOARD)), 4x4)
|
||||
SWAP_HANDS_ENABLE = no
|
||||
endif
|
||||
5
layouts/community/ortho_5x10/layout.json
Normal file
5
layouts/community/ortho_5x10/layout.json
Normal file
@@ -0,0 +1,5 @@
|
||||
["","","","","","","","","",""],
|
||||
["","","","","","","","","",""],
|
||||
["","","","","","","","","",""],
|
||||
["","","","","","","","","",""],
|
||||
["","","","","","","","","",""]
|
||||
3
layouts/community/ortho_5x10/readme.md
Normal file
3
layouts/community/ortho_5x10/readme.md
Normal file
@@ -0,0 +1,3 @@
|
||||
# ortho_5x10
|
||||
|
||||
LAYOUT_ortho_5x10
|
||||
9
layouts/community/ortho_5x10/wanleg/config.h
Normal file
9
layouts/community/ortho_5x10/wanleg/config.h
Normal file
@@ -0,0 +1,9 @@
|
||||
#pragma once
|
||||
|
||||
//QMK DFU settings (ProMicro boards)
|
||||
// set top left key as bootloader mode escape key on Gherkin
|
||||
#if defined(KEYBOARD_5x5)
|
||||
#define QMK_LED B0
|
||||
#define QMK_ESC_OUTPUT D7 // usually COL
|
||||
#define QMK_ESC_INPUT B2 // usually ROW
|
||||
#endif
|
||||
38
layouts/community/ortho_5x10/wanleg/keymap.c
Normal file
38
layouts/community/ortho_5x10/wanleg/keymap.c
Normal file
@@ -0,0 +1,38 @@
|
||||
#include QMK_KEYBOARD_H
|
||||
#include "wanleg.h"
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[gGK] = LAYOUT_ortho_5x10_wrapper(
|
||||
_______________Gherkin_NUM_0_______________,
|
||||
_______________Gherkin_Row_0_______________,
|
||||
_______________Gherkin_Row_1_______________,
|
||||
_______________Gherkin_Row_2_______________,
|
||||
_______, _______, _______, gNUMBER, gETCETERA, KC_SPC,gDIRECTION, KC_RGUI, _______, _______
|
||||
),
|
||||
|
||||
|
||||
[gNUM] = LAYOUT_ortho_5x10_wrapper(
|
||||
_______________Gherkin_NUM_0_______________,
|
||||
_______________Gherkin_NUM_0_______________,
|
||||
_______________Gherkin_NUM_1_______________,
|
||||
_______________Gherkin_NUM_2_______________,
|
||||
_______, _______, _______, _______, _______, KC_ENT, KC_RSFT, KC_RGUI, _______, _______
|
||||
),
|
||||
|
||||
[gDIR] = LAYOUT_ortho_5x10_wrapper(
|
||||
_______________Gherkin_NUM_0_______________,
|
||||
_______________Gherkin_DIR_0_______________,
|
||||
_______________Gherkin_DIR_1_______________,
|
||||
_______________Gherkin_DIR_2_______________,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
|
||||
[gETC] = LAYOUT_ortho_5x10_wrapper(
|
||||
_______________Gherkin_NUM_0_______________,
|
||||
_______________Gherkin_ETC_0_______________,
|
||||
_______________Gherkin_ETC_1_______________,
|
||||
_______________Gherkin_ETC_2_______________,
|
||||
_______, _______, _______, _______, _______, LALT(LCTL(KC_DEL)), _______, _______, _______, _______
|
||||
),
|
||||
|
||||
};
|
||||
3
layouts/community/ortho_5x10/wanleg/rules.mk
Normal file
3
layouts/community/ortho_5x10/wanleg/rules.mk
Normal file
@@ -0,0 +1,3 @@
|
||||
SWAP_HANDS_ENABLE = no
|
||||
|
||||
BOOTLOADER = qmk-dfu
|
||||
@@ -48,7 +48,7 @@
|
||||
#elif defined (MCU_STM32F103RD)
|
||||
#define EEPROM_START_ADDRESS ((uint32_t)(0x8000000 + 384 * 1024 - 2 * EEPROM_PAGE_SIZE))
|
||||
#elif defined (MCU_STM32F303CC)
|
||||
#define EEPROM_START_ADDRESS ((uint32_t)(0x8000000 + 250 * 1024 - 2 * EEPROM_PAGE_SIZE))
|
||||
#define EEPROM_START_ADDRESS ((uint32_t)(0x8000000 + 256 * 1024 - 2 * EEPROM_PAGE_SIZE))
|
||||
#else
|
||||
#error "No MCU type specified. Add something like -DMCU_STM32F103RB to your compiler arguments (probably in a Makefile)."
|
||||
#endif
|
||||
|
||||
@@ -156,3 +156,24 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/// Turn off LEDs on ProMicros of Let's Split ///
|
||||
// LEDs only on by default on Let's Split
|
||||
// Add reconfigurable functions here, for keymap customization
|
||||
// This allows for a global, userspace functions, and continued
|
||||
// customization of the keymap. Use _keymap instead of _user
|
||||
// functions in the keymaps
|
||||
__attribute__ ((weak))
|
||||
void matrix_init_keymap(void) {}
|
||||
|
||||
// Call user matrix init, then call the keymap's init function
|
||||
void matrix_init_user(void) {
|
||||
#if defined(KEYBOARD_lets_split_rev2)
|
||||
DDRD &= ~(1<<5);
|
||||
PORTD &= ~(1<<5);
|
||||
|
||||
DDRB &= ~(1<<0);
|
||||
PORTB &= ~(1<<0);
|
||||
#endif
|
||||
matrix_init_keymap();
|
||||
}
|
||||
@@ -119,6 +119,7 @@ enum {
|
||||
#define KEYMAP_wrapper(...) LAYOUT(__VA_ARGS__)
|
||||
#define LAYOUT_wrapper(...) LAYOUT(__VA_ARGS__)
|
||||
#define LAYOUT_ortho_3x10_wrapper(...) LAYOUT_ortho_3x10(__VA_ARGS__)
|
||||
#define LAYOUT_ortho_5x10_wrapper(...) LAYOUT_ortho_5x10(__VA_ARGS__)
|
||||
#define LAYOUT_ortho_4x12_wrapper(...) LAYOUT_ortho_4x12(__VA_ARGS__)
|
||||
#define LAYOUT_ortho_5x15_wrapper(...) LAYOUT_ortho_5x15(__VA_ARGS__)
|
||||
|
||||
@@ -204,7 +205,7 @@ enum {
|
||||
#define _______________GherkinLike_1_______________ KC_TAB, _______________Gherkin_Row_1_______________, KC_QUOT
|
||||
#define _______________GherkinLike_2_______________ TD(TD_SFT_CAPS), SFT_T(KC_Z), KC_X, KC_C, LT(NUM, KC_V),LT(ETC, KC_B),KC_N, LT(DIR, KC_M), GUI_T(KC_COMM), ALT_T(KC_DOT), CTL_T(KC_BSPC), SFT_T(KC_ENT)
|
||||
#define _______________GherkinLike_3_______________ KC_LCTL, KC_LGUI, KC_LALT, KC_LALT, NUMBER, ETCETERA, KC_SPC,DIRECTION, KC_RGUI, KC_RALT, KC_DEL, KC_RCTL
|
||||
#define _______________GherkinLike_3_OneHand_______ KC_LCTL, KC_LGUI, KC_LALT, ONEHAND, NUMBER, ETCETERA, KC_SPC,DIRECTION, KC_RGUI, KC_RALT, KC_DEL, KC_RCTL
|
||||
#define _______________GherkinLike_3_OneHand_______ KC_LCTL, KC_LGUI, KC_LALT, ONEHAND, NUMBER, ETCETERA, KC_SPC,DIRECTION, KC_RGUI, KC_RALT, ONEHAND, KC_RCTL
|
||||
|
||||
/* Qwerty
|
||||
* .-------------------------------------------------------------------------------------.
|
||||
@@ -257,7 +258,7 @@ enum {
|
||||
|
||||
/* Gherkin Numbers
|
||||
* .-----------------------------------------------------------------------------------------------------------.
|
||||
* | | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | DEL |
|
||||
* | | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | BACKSP |
|
||||
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
|
||||
* | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | |
|
||||
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
|
||||
@@ -267,7 +268,7 @@ enum {
|
||||
* | | | | | | | ENTER | SHIFT | RGUI | | | |
|
||||
* '-----------------------------------------------------------------------------------------------------------'
|
||||
*/
|
||||
#define _______________NUMBERS_Row_0_______________ _______, _______________Gherkin_NUM_0_______________, KC_DEL
|
||||
#define _______________NUMBERS_Row_0_______________ _______, _______________Gherkin_NUM_0_______________, KC_BSPC
|
||||
#define _______________NUMBERS_Row_1_______________ _______, _______________Gherkin_NUM_1_______________, _______
|
||||
#define _______________NUMBERS_Row_2_______________ _______, _______________Gherkin_NUM_2_______________, _______
|
||||
#define _______________NUMBERS_Row_3_______________ _______, _______, _______, _______, _______, _______, KC_ENT, KC_RSFT, KC_RGUI, _______, _______, _______
|
||||
|
||||
Reference in New Issue
Block a user