mirror of
https://github.com/qmk/qmk_firmware.git
synced 2025-04-09 15:25:42 +00:00
Added the QMK's Tri-Layer functionality to the default keymap
This commit is contained in:
parent
f38ca58467
commit
586836b7c2
@ -8,9 +8,9 @@
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
* See the GNU General Public License for more details.
|
||||
*
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program.
|
||||
* along with this program.
|
||||
* If not, see <https://www.gnu.org/licenses/gpl-3.0.html>.
|
||||
*/
|
||||
|
||||
@ -23,29 +23,36 @@
|
||||
enum protokeeb_keymap_layers {
|
||||
LAYER_BASE,
|
||||
LAYER_LOWER,
|
||||
LAYER_RAISE,
|
||||
LAYER_ADJUST,
|
||||
};
|
||||
|
||||
#define LOWER LT(LAYER_LOWER, KC_KP_0)
|
||||
#define RAISE LT(LAYER_RAISE, KC_KP_ENTER)
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[LAYER_BASE] = LAYOUT( /* Base */
|
||||
KC_KP_7, KC_KP_8, KC_KP_9, KC_KP_SLASH, KC_MUTE,
|
||||
KC_KP_4, KC_KP_5, KC_KP_6, KC_KP_ASTERISK,
|
||||
KC_KP_1, KC_KP_2, KC_KP_3, KC_KP_MINUS,
|
||||
LOWER, KC_KP_DOT, KC_KP_ENTER, KC_KP_PLUS
|
||||
),
|
||||
[LAYER_BASE] = LAYOUT(/* Base: Numpad without Num Lock*/
|
||||
KC_KP_7, KC_KP_8, KC_KP_9, KC_KP_SLASH, KC_MUTE, KC_KP_4, KC_KP_5, KC_KP_6, KC_KP_ASTERISK, KC_KP_1, KC_KP_2, KC_KP_3, KC_KP_MINUS, LOWER, KC_KP_DOT, RAISE, KC_KP_PLUS),
|
||||
|
||||
[LAYER_LOWER] = LAYOUT( /* RGB Control */
|
||||
RGB_MODE_PLAIN, RGB_MODE_FORWARD, RGB_MODE_REVERSE, RGB_TOG, KC_MUTE,
|
||||
RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD,
|
||||
RGB_VAI, RGB_VAD, RGB_SPI, RGB_SPD,
|
||||
KC_TRNS, RGB_MODE_SWIRL, QK_DEBUG_TOGGLE, QK_BOOT
|
||||
),
|
||||
[LAYER_LOWER] = LAYOUT(/* RGB Control */
|
||||
RGB_MODE_PLAIN, RGB_MODE_FORWARD, RGB_MODE_REVERSE, QK_DEBUG_TOGGLE, RGB_TOG, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_SPI, RGB_SPD, KC_TRNS, RGB_MODE_SWIRL, KC_TRNS, QK_BOOT),
|
||||
|
||||
[LAYER_RAISE] = LAYOUT(/* Media Control and Quick Launch*/
|
||||
KC_MEDIA_PLAY_PAUSE, KC_MEDIA_PREV_TRACK, KC_MEDIA_NEXT_TRACK, KC_MEDIA_STOP, KC_MUTE, KC_CALCULATOR, KC_MY_COMPUTER, KC_CONTROL_PANEL, KC_SYSTEM_POWER, KC_PRINT_SCREEN, KC_HOME, KC_INSERT, KC_DELETE, KC_TRNS, KC_NO, KC_TRNS, QK_REBOOT),
|
||||
|
||||
[LAYER_ADJUST] = LAYOUT(/* Function Keys */
|
||||
KC_F1, KC_F2, KC_F3, KC_F4, KC_MUTE, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_NO, KC_TRNS, KC_NO),
|
||||
};
|
||||
|
||||
#if defined(ENCODER_MAP_ENABLE)
|
||||
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
|
||||
[LAYER_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
|
||||
[LAYER_LOWER] = { ENCODER_CCW_CW(KC_BRIGHTNESS_DOWN, KC_BRIGHTNESS_UP) },
|
||||
[LAYER_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
|
||||
[LAYER_LOWER] = {ENCODER_CCW_CW(KC_BRIGHTNESS_DOWN, KC_BRIGHTNESS_UP)},
|
||||
[LAYER_RAISE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
|
||||
[LAYER_ADJUST] = {ENCODER_CCW_CW(KC_TRNS, KC_TRNS)},
|
||||
};
|
||||
#endif
|
||||
#endif
|
||||
|
||||
layer_state_t layer_state_set_user(layer_state_t state) {
|
||||
return update_tri_layer_state(state, LAYER_LOWER, LAYER_RAISE, LAYER_ADJUST);
|
||||
}
|
@ -3,3 +3,6 @@
|
||||
|
||||
# Rotary Encoder Keymap support
|
||||
ENCODER_MAP_ENABLE = yes
|
||||
|
||||
# Enable Tri Layer support
|
||||
TRI_LAYER_ENABLE = yes
|
@ -8,9 +8,9 @@
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
* See the GNU General Public License for more details.
|
||||
*
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program.
|
||||
* along with this program.
|
||||
* If not, see <https://www.gnu.org/licenses/gpl-3.0.html>.
|
||||
*/
|
||||
|
||||
@ -33,40 +33,24 @@ enum protokeeb_keymap_layers {
|
||||
#define RGB_CTRL MO(LAYER_RGB_CONTROL)
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[LAYER_NOTES_SET_1] = LAYOUT( /* Notes Set-1 */
|
||||
MI_C, MI_Cs, MI_D, MI_Ds, KC_MUTE,
|
||||
MI_E, MI_F, MI_Fs, MI_G,
|
||||
MI_Gs, MI_A, MI_As, MI_B,
|
||||
RGB_CTRL, NOTES_SET_2, NOTES_SET_3, MI_TOGG
|
||||
),
|
||||
[LAYER_NOTES_SET_1] = LAYOUT(/* Notes Set-1 */
|
||||
MI_C, MI_Cs, MI_D, MI_Ds, KC_MUTE, MI_E, MI_F, MI_Fs, MI_G, MI_Gs, MI_A, MI_As, MI_B, RGB_CTRL, NOTES_SET_2, NOTES_SET_3, MI_TOGG),
|
||||
|
||||
[LAYER_NOTES_SET_2] = LAYOUT( /* Notes Set-2 */
|
||||
MI_C1, MI_Cs1, MI_D1, MI_Ds1, KC_MUTE,
|
||||
MI_E1, MI_F1, MI_Fs1, MI_G1,
|
||||
MI_Gs1, MI_A1, MI_As1, MI_B1,
|
||||
NOTES_SET_1, KC_TRNS, NOTES_SET_3, KC_TRNS
|
||||
),
|
||||
[LAYER_NOTES_SET_2] = LAYOUT(/* Notes Set-2 */
|
||||
MI_C1, MI_Cs1, MI_D1, MI_Ds1, KC_MUTE, MI_E1, MI_F1, MI_Fs1, MI_G1, MI_Gs1, MI_A1, MI_As1, MI_B1, NOTES_SET_1, KC_TRNS, NOTES_SET_3, KC_TRNS),
|
||||
|
||||
[LAYER_NOTES_SET_3] = LAYOUT( /* Notes Set-3 */
|
||||
MI_C2, MI_Cs2, MI_D2, MI_Ds2, KC_MUTE,
|
||||
MI_E2, MI_F2, MI_Fs2, MI_G2,
|
||||
MI_Gs2, MI_A2, MI_As2, MI_B2,
|
||||
NOTES_SET_1, NOTES_SET_2, KC_TRNS, KC_TRNS
|
||||
),
|
||||
[LAYER_NOTES_SET_3] = LAYOUT(/* Notes Set-3 */
|
||||
MI_C2, MI_Cs2, MI_D2, MI_Ds2, KC_MUTE, MI_E2, MI_F2, MI_Fs2, MI_G2, MI_Gs2, MI_A2, MI_As2, MI_B2, NOTES_SET_1, NOTES_SET_2, KC_TRNS, KC_TRNS),
|
||||
|
||||
[LAYER_RGB_CONTROL] = LAYOUT( /* RGB Control */
|
||||
RGB_MODE_PLAIN, RGB_MODE_FORWARD, RGB_MODE_REVERSE, RGB_TOG, KC_MUTE,
|
||||
RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD,
|
||||
RGB_VAI, RGB_VAD, RGB_SPI, RGB_SPD,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT
|
||||
),
|
||||
[LAYER_RGB_CONTROL] = LAYOUT(/* RGB Control */
|
||||
RGB_MODE_PLAIN, RGB_MODE_FORWARD, RGB_MODE_REVERSE, RGB_TOG, KC_MUTE, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_SPI, RGB_SPD, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT),
|
||||
};
|
||||
|
||||
#if defined(ENCODER_MAP_ENABLE)
|
||||
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
|
||||
[LAYER_NOTES_SET_1] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
|
||||
[LAYER_NOTES_SET_2] = { ENCODER_CCW_CW(MI_OCTD, MI_OCTU) },
|
||||
[LAYER_NOTES_SET_3] = { ENCODER_CCW_CW(MI_TRSD, MI_TRSU) },
|
||||
[LAYER_RGB_CONTROL] = { ENCODER_CCW_CW(RGB_HUD, RGB_HUI) },
|
||||
[LAYER_NOTES_SET_1] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
|
||||
[LAYER_NOTES_SET_2] = {ENCODER_CCW_CW(MI_OCTD, MI_OCTU)},
|
||||
[LAYER_NOTES_SET_3] = {ENCODER_CCW_CW(MI_TRSD, MI_TRSU)},
|
||||
[LAYER_RGB_CONTROL] = {ENCODER_CCW_CW(RGB_HUD, RGB_HUI)},
|
||||
};
|
||||
#endif
|
@ -8,9 +8,9 @@
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
* See the GNU General Public License for more details.
|
||||
*
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program.
|
||||
* along with this program.
|
||||
* If not, see <https://www.gnu.org/licenses/gpl-3.0.html>.
|
||||
*/
|
||||
|
||||
@ -28,24 +28,13 @@ enum protokeeb_keymap_layers {
|
||||
#define LOWER LT(LAYER_LOWER, KC_KP_0)
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[LAYER_BASE] = LAYOUT( /* Base */
|
||||
KC_KP_7, KC_KP_8, KC_KP_9, KC_KP_SLASH, KC_MUTE,
|
||||
KC_KP_4, KC_KP_5, KC_KP_6, KC_KP_ASTERISK,
|
||||
KC_KP_1, KC_KP_2, KC_KP_3, KC_KP_MINUS,
|
||||
LOWER, KC_KP_DOT, KC_KP_ENTER, KC_KP_PLUS
|
||||
),
|
||||
[LAYER_BASE] = LAYOUT(/* Base */
|
||||
KC_KP_7, KC_KP_8, KC_KP_9, KC_KP_SLASH, KC_MUTE, KC_KP_4, KC_KP_5, KC_KP_6, KC_KP_ASTERISK, KC_KP_1, KC_KP_2, KC_KP_3, KC_KP_MINUS, LOWER, KC_KP_DOT, KC_KP_ENTER, KC_KP_PLUS),
|
||||
|
||||
[LAYER_LOWER] = LAYOUT( /* RGB Control */
|
||||
RGB_MODE_PLAIN, RGB_MODE_FORWARD, RGB_MODE_REVERSE, RGB_TOG, KC_MUTE,
|
||||
RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD,
|
||||
RGB_VAI, RGB_VAD, RGB_SPI, RGB_SPD,
|
||||
KC_TRNS, RGB_MODE_SWIRL, QK_DEBUG_TOGGLE, QK_BOOT
|
||||
),
|
||||
[LAYER_LOWER] = LAYOUT(/* RGB Control */
|
||||
RGB_MODE_PLAIN, RGB_MODE_FORWARD, RGB_MODE_REVERSE, RGB_TOG, KC_MUTE, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_SPI, RGB_SPD, KC_TRNS, RGB_MODE_SWIRL, QK_DEBUG_TOGGLE, QK_BOOT),
|
||||
};
|
||||
|
||||
#if defined(ENCODER_MAP_ENABLE)
|
||||
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
|
||||
[LAYER_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
|
||||
[LAYER_LOWER] = { ENCODER_CCW_CW(KC_BRIGHTNESS_DOWN, KC_BRIGHTNESS_UP) }
|
||||
};
|
||||
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {[LAYER_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU)}, [LAYER_LOWER] = {ENCODER_CCW_CW(KC_BRIGHTNESS_DOWN, KC_BRIGHTNESS_UP)}};
|
||||
#endif
|
@ -18,6 +18,8 @@ The default layout comes pre-flashed on every Protokeeb and consists of two laye
|
||||
|
||||
- Layer 1: 16-key numpad, excluding the `NUM LOCK` key.
|
||||
- Layer 2: RGB LED control and keyboard boot options.
|
||||
- Layer 3: Media control, quick launch application and other options.
|
||||
- Layer 4: Function Keys.
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
@ -27,7 +29,6 @@ Flashing example for this keyboard:
|
||||
|
||||
make protokeeb/rev1:default:flash
|
||||
|
||||
|
||||
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
|
||||
|
||||
## Bootloader
|
||||
|
Loading…
Reference in New Issue
Block a user