This repository has been archived by the owner on Sep 12, 2019. It is now read-only.
forked from qmk/qmk_firmware
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add cijanzen Pearl 40% keymap (qmk#2878)
* Add personal keymap for Pearl 40% * Updating readme and adding keymap image * Updated readme * Force make to use Python 3 * cleanup keymap * updated keymap image * update readme for new keymap image * reverting atmega32a_program * removed redundant sections of user config and rules * fixed user config file * fixed led indicators to properly show layer 4
- Loading branch information
1 parent
ddb1c83
commit d1dfefc
Showing
5 changed files
with
144 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
# cijanzen's Pearl 40% | ||
|
||
## Layout | ||
|
||
The firmware offers five layers: | ||
|
||
1. Base layer | ||
2. Numbers and arrows (Fn1) | ||
3. F-row and navigation (Fn2) | ||
4. Media and RGB controls (Fn3) | ||
5. Utils (Fn2+Fn3) | ||
|
||
A few specifics worth mentioning: | ||
- Autoshift has been enabled to allow for easier access of shifted keys | ||
- Tab will operate as tab key on tap and fn layer on hold | ||
- Indicator LEDs indicate the current layer | ||
|
||
|
||
![cijanzen's Pearl 40% layout](https://raw.githubusercontent.com/christopherjanzen/qmk_firmware/bab090ee24866e6c38892ffc5ffa53813aec3832/keyboards/pearl/keymaps/cijanzen/pearl-cijanzen-keymap.jpg) | ||
|
||
Base for this firmware copied from jetpacktuxedo's and rask's QMK firmware | ||
|
||
--- | ||
|
||
## Compiling and flashing | ||
|
||
To compile and flash the HEX follow the [Pearl 40% instructions](https://gist.github.com/clee/a43f198a70de0e6dae22d7638b41440a). | ||
|
||
You might need to check the comments at the bottom of the gist as well. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
/* | ||
Copyright 2017 Luiz Ribeiro <[email protected]> | ||
This program is free software: you can redistribute it and/or modify | ||
it under the terms of the GNU General Public License as published by | ||
the Free Software Foundation, either version 2 of the License, or | ||
(at your option) any later version. | ||
This program is distributed in the hope that it will be useful, | ||
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. If not, see <http://www.gnu.org/licenses/>. | ||
*/ | ||
|
||
#ifndef CONFIG_USER_H | ||
#define CONFIG_USER_H | ||
|
||
#include QMK_KEYBOARD_CONFIG_H | ||
|
||
#undef BACKLIGHT_LEVELS | ||
#define BACKLIGHT_LEVELS 3 | ||
|
||
|
||
#endif |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,77 @@ | ||
#include QMK_KEYBOARD_H | ||
|
||
#define ____ KC_TRNS | ||
// Tab on tap or Function layer 1 on hold | ||
#define FN_TAB LT(1, KC_TAB) | ||
#define KC_SLP KC_SYSTEM_SLEEP | ||
|
||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
// BASE LAYER | ||
[0] = LAYOUT_all( | ||
KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, | ||
FN_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_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, MO(2), | ||
KC_LCTL, KC_LALT, KC_LGUI, KC_BSPC, KC_BSPC, KC_SPC, MO(3), MO(1) | ||
), | ||
// BASE LAYER TWO (Fn1) | ||
[1] = LAYOUT_all( | ||
KC_GRV, 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_UP, KC_QUOT, KC_BSLS, | ||
____, ____, ____, ____, ____, ____, ____, ____, KC_LEFT, KC_DOWN, KC_RGHT, KC_RSFT, | ||
____, ____, ____, KC_DEL, KC_DEL, ____, KC_RGUI, ____ | ||
), | ||
// FROW LAYER AND ARROWS (Fn2) | ||
[2] = LAYOUT_all( | ||
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_PGUP, ____, ____, | ||
____, ____, ____, ____, ____, ____, ____, ____, KC_HOME, KC_PGDN, KC_END, ____, | ||
MO(4), ____, ____, ____, ____, ____, ____, ____ | ||
), | ||
// MEDIA AND RGB (Fn3) | ||
[3] = LAYOUT_all( | ||
____, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW, RGB_M_SN, RGB_M_K, RGB_M_X, RGB_M_G, KC_MPRV, KC_MPLY, KC_MNXT, KC_DEL, | ||
____, ____, ____, RGB_HUI, RGB_SAI, RGB_VAI, ____, ____, ____, ____, ____, ____, | ||
____, RGB_MOD, RGB_TOG, RGB_HUD, RGB_SAD, RGB_VAD, BL_TOGG, BL_STEP, ____, ____, ____, ____, | ||
____, ____, ____, ____, ____, ____, ____, ____ | ||
), | ||
// UTIL (Fn1+Fn3) | ||
[4] = LAYOUT_all( | ||
KC_SLP, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, KC_PSCR, RESET, | ||
____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, | ||
____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, | ||
____, ____, ____, ____, ____, ____, ____, ____ | ||
), | ||
}; | ||
|
||
/** | ||
* Status LED layer indicators courtesy of jetpacktuxedo's firmware | ||
*/ | ||
uint32_t layer_state_set_kb(uint32_t state) | ||
{ | ||
if (state & (1<<1)) { // if we are on layer 1 | ||
PORTD |= (1 << PD0); // light num lock led | ||
} else if (state & (1<<2)) { // if we are on layer 2 | ||
|
||
if (state & (1<<4)) { | ||
PORTD |= (1 << PD0); // light all indicator leds | ||
PORTD |= (1 << PD1); | ||
PORTD |= (1 << PD6); | ||
} else { | ||
PORTD &= ~(1 << PD0); | ||
PORTD |= (1 << PD1); // light caps lock led | ||
PORTD &= ~(1 << PD6); | ||
} | ||
} else if (state & (1<<3)) { // if we are on layer 3 | ||
PORTD |= (1 << PD6); // light scroll lock led | ||
} else if (state & (1<<4)) { // if we are stuck on layer 4 | ||
PORTD |= (1 << PD0); // light all indicator leds | ||
PORTD |= (1 << PD1); | ||
PORTD |= (1 << PD6); | ||
} else { | ||
PORTD &= ~(1 << PD0); | ||
PORTD &= ~(1 << PD1); | ||
PORTD &= ~(1 << PD6); | ||
} | ||
|
||
return state; | ||
} |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
# build options | ||
BOOTMAGIC_ENABLE = yes | ||
MOUSEKEY_ENABLE = no | ||
EXTRAKEY_ENABLE = yes | ||
CONSOLE_ENABLE = no | ||
COMMAND_ENABLE = yes | ||
BACKLIGHT_ENABLE = yes | ||
RGBLIGHT_ENABLE = yes | ||
RGBLIGHT_CUSTOM_DRIVER = yes | ||
# TAP_DANCE_ENABLE = yes | ||
AUTO_SHIFT_ENABLE = yes |