Merge branch 'master' of github.com:qmk/qmk_firmware into planck_rev6
This commit is contained in:
		
						commit
						03b1904b2e
					
				
					 480 changed files with 22956 additions and 2346 deletions
				
			
		| 
						 | 
				
			
			@ -188,7 +188,14 @@
 | 
			
		|||
    Q__NOTE(_B5 ),        \
 | 
			
		||||
    Q__NOTE(_CS6),        \
 | 
			
		||||
    Q__NOTE(_D6 ),        \
 | 
			
		||||
    Q__NOTE(_E6 ),        
 | 
			
		||||
    Q__NOTE(_E6 ),
 | 
			
		||||
 | 
			
		||||
#define MINOR_SOUND \
 | 
			
		||||
    Q__NOTE(_A5 ),        \
 | 
			
		||||
    Q__NOTE(_B5 ),        \
 | 
			
		||||
    Q__NOTE(_C6 ),        \
 | 
			
		||||
    Q__NOTE(_D6 ),        \
 | 
			
		||||
    Q__NOTE(_E6 ),
 | 
			
		||||
 | 
			
		||||
#define GUITAR_SOUND \
 | 
			
		||||
    Q__NOTE(_E5 ),        \
 | 
			
		||||
| 
						 | 
				
			
			@ -272,12 +279,142 @@
 | 
			
		|||
    HD_NOTE(_C6),
 | 
			
		||||
 | 
			
		||||
#define ZELDA_TREASURE \
 | 
			
		||||
    Q__NOTE(_A4), \
 | 
			
		||||
    Q__NOTE(_A4 ), \
 | 
			
		||||
    Q__NOTE(_AS4), \
 | 
			
		||||
    Q__NOTE(_B4), \
 | 
			
		||||
    HD_NOTE(_C5), \
 | 
			
		||||
    Q__NOTE(_B4 ), \
 | 
			
		||||
    HD_NOTE(_C5 ), \
 | 
			
		||||
 | 
			
		||||
#define TERMINAL_SOUND \
 | 
			
		||||
    E__NOTE(_C5 )
 | 
			
		||||
 | 
			
		||||
#define OVERWATCH_THEME \
 | 
			
		||||
    HD_NOTE(_A4 ), \
 | 
			
		||||
    Q__NOTE(_E4 ), \
 | 
			
		||||
    Q__NOTE(_A4 ), \
 | 
			
		||||
    HD_NOTE(_B4 ), \
 | 
			
		||||
    Q__NOTE(_E4 ), \
 | 
			
		||||
    Q__NOTE(_B4 ), \
 | 
			
		||||
    W__NOTE(_CS5),
 | 
			
		||||
 | 
			
		||||
#define MARIO_THEME \
 | 
			
		||||
    Q__NOTE(_E5), \
 | 
			
		||||
    H__NOTE(_E5), \
 | 
			
		||||
    H__NOTE(_E5), \
 | 
			
		||||
    Q__NOTE(_C5), \
 | 
			
		||||
    H__NOTE(_E5), \
 | 
			
		||||
    W__NOTE(_G5), \
 | 
			
		||||
    Q__NOTE(_G4),
 | 
			
		||||
 | 
			
		||||
#define MARIO_GAMEOVER \
 | 
			
		||||
    HD_NOTE(_C5 ), \
 | 
			
		||||
    HD_NOTE(_G4 ), \
 | 
			
		||||
    H__NOTE(_E4 ), \
 | 
			
		||||
    H__NOTE(_A4 ), \
 | 
			
		||||
    H__NOTE(_B4 ), \
 | 
			
		||||
    H__NOTE(_A4 ), \
 | 
			
		||||
    H__NOTE(_AF4), \
 | 
			
		||||
    H__NOTE(_BF4), \
 | 
			
		||||
    H__NOTE(_AF4), \
 | 
			
		||||
    WD_NOTE(_G4 ),
 | 
			
		||||
 | 
			
		||||
#define E1M1_DOOM  \
 | 
			
		||||
    Q__NOTE(_E3 ), \
 | 
			
		||||
    Q__NOTE(_E3 ), \
 | 
			
		||||
    Q__NOTE(_E4 ), \
 | 
			
		||||
    Q__NOTE(_E3 ), \
 | 
			
		||||
    Q__NOTE(_E3 ), \
 | 
			
		||||
    Q__NOTE(_D4 ), \
 | 
			
		||||
    Q__NOTE(_E3 ), \
 | 
			
		||||
    Q__NOTE(_E3 ), \
 | 
			
		||||
    Q__NOTE(_C4 ), \
 | 
			
		||||
    Q__NOTE(_E3 ), \
 | 
			
		||||
    Q__NOTE(_E3 ), \
 | 
			
		||||
    Q__NOTE(_BF3), \
 | 
			
		||||
    Q__NOTE(_E3 ), \
 | 
			
		||||
    Q__NOTE(_E3 ), \
 | 
			
		||||
    Q__NOTE(_B3 ), \
 | 
			
		||||
    Q__NOTE(_C4 ), \
 | 
			
		||||
    Q__NOTE(_E3 ), \
 | 
			
		||||
    Q__NOTE(_E3 ), \
 | 
			
		||||
    Q__NOTE(_E4 ), \
 | 
			
		||||
    Q__NOTE(_E3 ), \
 | 
			
		||||
    Q__NOTE(_E3 ), \
 | 
			
		||||
    Q__NOTE(_D4 ), \
 | 
			
		||||
    Q__NOTE(_E3 ), \
 | 
			
		||||
    Q__NOTE(_E3 ), \
 | 
			
		||||
    Q__NOTE(_C4 ), \
 | 
			
		||||
    Q__NOTE(_E3 ), \
 | 
			
		||||
    Q__NOTE(_E3 ), \
 | 
			
		||||
    H__NOTE(_BF3),
 | 
			
		||||
 | 
			
		||||
#define DISNEY_SONG \
 | 
			
		||||
    H__NOTE(_G3 ),  \
 | 
			
		||||
    H__NOTE(_G4 ),  \
 | 
			
		||||
    H__NOTE(_F4 ),  \
 | 
			
		||||
    H__NOTE(_E4 ),  \
 | 
			
		||||
    H__NOTE(_CS4),  \
 | 
			
		||||
    H__NOTE(_D4 ),  \
 | 
			
		||||
    W__NOTE(_A4 ),  \
 | 
			
		||||
    H__NOTE(_B3 ),  \
 | 
			
		||||
    H__NOTE(_B4 ),  \
 | 
			
		||||
    H__NOTE(_A4 ),  \
 | 
			
		||||
    H__NOTE(_G4 ),  \
 | 
			
		||||
    H__NOTE(_FS4),  \
 | 
			
		||||
    H__NOTE(_G4 ),  \
 | 
			
		||||
    W__NOTE(_C5 ),  \
 | 
			
		||||
    H__NOTE(_D5 ),  \
 | 
			
		||||
    H__NOTE(_C5 ),  \
 | 
			
		||||
    H__NOTE(_B4 ),  \
 | 
			
		||||
    H__NOTE(_A4 ),  \
 | 
			
		||||
    H__NOTE(_G4 ),  \
 | 
			
		||||
    H__NOTE(_F4 ),  \
 | 
			
		||||
    H__NOTE(_E4 ),  \
 | 
			
		||||
    H__NOTE(_D4 ),  \
 | 
			
		||||
    W__NOTE(_A4 ),  \
 | 
			
		||||
    W__NOTE(_B3 ),  \
 | 
			
		||||
    W__NOTE(_C4 ),
 | 
			
		||||
 | 
			
		||||
#define NUMBER_ONE \
 | 
			
		||||
    HD_NOTE(_F4 ), \
 | 
			
		||||
    Q__NOTE(_C5 ), \
 | 
			
		||||
    E__NOTE(_B4 ), \
 | 
			
		||||
    E__NOTE(_C5 ), \
 | 
			
		||||
    E__NOTE(_B4 ), \
 | 
			
		||||
    E__NOTE(_C5 ), \
 | 
			
		||||
    Q__NOTE(_B4 ), \
 | 
			
		||||
    Q__NOTE(_C5 ), \
 | 
			
		||||
    H__NOTE(_AF4), \
 | 
			
		||||
    HD_NOTE(_F4 ), \
 | 
			
		||||
    Q__NOTE(_F4 ), \
 | 
			
		||||
    Q__NOTE(_AF4), \
 | 
			
		||||
    Q__NOTE(_C5 ), \
 | 
			
		||||
    H__NOTE(_DF5), \
 | 
			
		||||
    H__NOTE(_AF4), \
 | 
			
		||||
    H__NOTE(_DF5), \
 | 
			
		||||
    H__NOTE(_EF5), \
 | 
			
		||||
    Q__NOTE(_C5 ), \
 | 
			
		||||
    Q__NOTE(_DF5), \
 | 
			
		||||
    Q__NOTE(_C5 ), \
 | 
			
		||||
    Q__NOTE(_DF5), \
 | 
			
		||||
    H__NOTE(_C5 ),
 | 
			
		||||
 | 
			
		||||
#define CABBAGE_SONG \
 | 
			
		||||
    H__NOTE(_C4),    \
 | 
			
		||||
    H__NOTE(_A4),    \
 | 
			
		||||
    H__NOTE(_B4),    \
 | 
			
		||||
    H__NOTE(_B4),    \
 | 
			
		||||
    H__NOTE(_A4),    \
 | 
			
		||||
    H__NOTE(_G4),    \
 | 
			
		||||
    H__NOTE(_E4),
 | 
			
		||||
 | 
			
		||||
#define OLD_SPICE  \
 | 
			
		||||
    Q__NOTE(_A4 ), \
 | 
			
		||||
    Q__NOTE(_A4 ), \
 | 
			
		||||
    H__NOTE(_B4 ), \
 | 
			
		||||
    H__NOTE(_D5 ), \
 | 
			
		||||
    H__NOTE(_CS5), \
 | 
			
		||||
    Q__NOTE(_E5 ), \
 | 
			
		||||
    H__NOTE(_FS5), \
 | 
			
		||||
    H__NOTE(_D5 ), \
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -90,7 +90,6 @@ uint16_t keycode_config(uint16_t keycode) {
 | 
			
		|||
}
 | 
			
		||||
 | 
			
		||||
uint8_t mod_config(uint8_t mod) {
 | 
			
		||||
    keymap_config.raw = eeconfig_read_keymap();
 | 
			
		||||
    if (keymap_config.swap_lalt_lgui) {
 | 
			
		||||
        if ((mod & MOD_RGUI) == MOD_LGUI) {
 | 
			
		||||
            mod &= ~MOD_LGUI;
 | 
			
		||||
| 
						 | 
				
			
			@ -115,4 +114,4 @@ uint8_t mod_config(uint8_t mod) {
 | 
			
		|||
    }
 | 
			
		||||
 | 
			
		||||
    return mod;
 | 
			
		||||
}
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -122,6 +122,11 @@ action_t action_for_key(uint8_t layer, keypos_t key)
 | 
			
		|||
        case QK_LAYER_TAP_TOGGLE ... QK_LAYER_TAP_TOGGLE_MAX:
 | 
			
		||||
            action.code = ACTION_LAYER_TAP_TOGGLE(keycode & 0xFF);
 | 
			
		||||
            break;
 | 
			
		||||
        case QK_LAYER_MOD ... QK_LAYER_MOD_MAX:
 | 
			
		||||
            mod = keycode & 0xF;
 | 
			
		||||
            action_layer = (keycode >> 4) & 0xF;
 | 
			
		||||
            action.code = ACTION_LAYER_MODS(action_layer, mod);
 | 
			
		||||
            break;
 | 
			
		||||
        case QK_MOD_TAP ... QK_MOD_TAP_MAX:
 | 
			
		||||
            mod = mod_config((keycode >> 0x8) & 0x1F);
 | 
			
		||||
            action.code = ACTION_MODS_TAP_KEY(mod, keycode & 0xFF);
 | 
			
		||||
| 
						 | 
				
			
			@ -146,6 +151,12 @@ action_t action_for_key(uint8_t layer, keypos_t key)
 | 
			
		|||
            action.code = ACTION_BACKLIGHT_STEP();
 | 
			
		||||
            break;
 | 
			
		||||
    #endif
 | 
			
		||||
    #ifdef SWAP_HANDS_ENABLE
 | 
			
		||||
        case QK_SWAP_HANDS ... QK_SWAP_HANDS_MAX:
 | 
			
		||||
            action.code = ACTION(ACT_SWAP_HANDS, keycode & 0xff);
 | 
			
		||||
            break;
 | 
			
		||||
    #endif
 | 
			
		||||
 | 
			
		||||
        default:
 | 
			
		||||
            action.code = ACTION_NO;
 | 
			
		||||
            break;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										122
									
								
								quantum/keymap_extras/keymap_italian.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										122
									
								
								quantum/keymap_extras/keymap_italian.h
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,122 @@
 | 
			
		|||
/* Copyright 2015-2016 Matthias Schmidtt
 | 
			
		||||
 *
 | 
			
		||||
 * 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 KEYMAP_ITALIAN
 | 
			
		||||
#define KEYMAP_ITALIAN
 | 
			
		||||
 | 
			
		||||
#include "keymap.h"
 | 
			
		||||
 | 
			
		||||
// Alt gr
 | 
			
		||||
#define ALGR(kc) RALT(kc)
 | 
			
		||||
#define IT_ALGR KC_RALT
 | 
			
		||||
 | 
			
		||||
// normal characters
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#define IT_A KC_A
 | 
			
		||||
#define IT_B KC_B
 | 
			
		||||
#define IT_C KC_C
 | 
			
		||||
#define IT_D KC_D
 | 
			
		||||
#define IT_E KC_E
 | 
			
		||||
#define IT_F KC_F
 | 
			
		||||
#define IT_G KC_G
 | 
			
		||||
#define IT_H KC_H
 | 
			
		||||
#define IT_I KC_I
 | 
			
		||||
#define IT_J KC_J
 | 
			
		||||
#define IT_K KC_K
 | 
			
		||||
#define IT_L KC_L
 | 
			
		||||
#define IT_M KC_M
 | 
			
		||||
#define IT_N KC_N
 | 
			
		||||
#define IT_O KC_O
 | 
			
		||||
#define IT_P KC_P
 | 
			
		||||
#define IT_Q KC_Q
 | 
			
		||||
#define IT_R KC_R
 | 
			
		||||
#define IT_S KC_S
 | 
			
		||||
#define IT_T KC_T
 | 
			
		||||
#define IT_U KC_U
 | 
			
		||||
#define IT_V KC_V
 | 
			
		||||
#define IT_W KC_W
 | 
			
		||||
#define IT_X KC_X
 | 
			
		||||
#define IT_Y KC_Y
 | 
			
		||||
#define IT_Z KC_Z
 | 
			
		||||
 | 
			
		||||
#define IT_0 KC_0
 | 
			
		||||
#define IT_1 KC_1
 | 
			
		||||
#define IT_2 KC_2
 | 
			
		||||
#define IT_3 KC_3
 | 
			
		||||
#define IT_4 KC_4
 | 
			
		||||
#define IT_5 KC_5
 | 
			
		||||
#define IT_6 KC_6
 | 
			
		||||
#define IT_7 KC_7
 | 
			
		||||
#define IT_8 KC_8
 | 
			
		||||
#define IT_9 KC_9
 | 
			
		||||
 | 
			
		||||
#define IT_DOT KC_DOT
 | 
			
		||||
#define IT_COMM KC_COMM
 | 
			
		||||
 | 
			
		||||
#define IT_EACC KC_LBRC  // è, é, [, {
 | 
			
		||||
#define IT_PLUS KC_RBRC  // +, *, ], }
 | 
			
		||||
#define IT_OACC KC_SCLN  // ò, ç, @,
 | 
			
		||||
#define IT_AACC KC_QUOT  // à, °, #,
 | 
			
		||||
#define IT_UACC KC_BSLS  // ù, §,  ,
 | 
			
		||||
#define IT_IACC KC_EQL   // ì, ^,  ,
 | 
			
		||||
 | 
			
		||||
#define IT_APOS KC_MINS  // ', ?,  ,
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#define IT_BKSL KC_GRAVE // backslash \, |
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#define IT_ACUT  // accent acute ´ and grave `
 | 
			
		||||
 | 
			
		||||
#define IT_LESS KC_NUBS // < and > and |
 | 
			
		||||
#define IT_MINS KC_SLSH // - and _
 | 
			
		||||
 | 
			
		||||
// shifted characters
 | 
			
		||||
#define IT_PIPE LSFT(IT_BKSL) // °
 | 
			
		||||
#define IT_EXLM LSFT(KC_1) // !
 | 
			
		||||
#define IT_DQOT LSFT(KC_2) // "
 | 
			
		||||
#define IT_STRL LSFT(KC_3) // £
 | 
			
		||||
#define IT_DLR  LSFT(KC_4) // $
 | 
			
		||||
#define IT_PERC LSFT(KC_5) // %
 | 
			
		||||
#define IT_AMPR LSFT(KC_6) // &
 | 
			
		||||
#define IT_SLSH LSFT(KC_7) // /
 | 
			
		||||
#define IT_LPRN LSFT(KC_8) // (
 | 
			
		||||
#define IT_RPRN LSFT(KC_9) // )
 | 
			
		||||
#define IT_EQL  LSFT(KC_0) // =
 | 
			
		||||
#define IT_QST  LSFT(IT_APOS) // ?
 | 
			
		||||
#define IT_CRC  LSFT(IT_IACC) // ^
 | 
			
		||||
#define IT_ASTR LSFT(IT_PLUS) // *
 | 
			
		||||
#define IT_MORE LSFT(IT_LESS) // >
 | 
			
		||||
#define IT_COLN LSFT(IT_DOT) // :
 | 
			
		||||
#define IT_SCLN LSFT(IT_COMM) // ;
 | 
			
		||||
#define IT_UNDS LSFT(IT_MINS) // _
 | 
			
		||||
 | 
			
		||||
// Alt Gr-ed characters
 | 
			
		||||
#define IT_LCBR ALGR(KC_7) // {
 | 
			
		||||
#define IT_LBRC ALGR(IT_EACC) // [
 | 
			
		||||
#define IT_RBRC ALGR(IT_PLUS) // ]
 | 
			
		||||
#define IT_RCBR ALGR(KC_0) // }
 | 
			
		||||
#define IT_AT   ALGR(IT_OACC) 	// @
 | 
			
		||||
#define IT_EURO ALGR(KC_E) 		// €
 | 
			
		||||
#define IT_PIPE LSFT(IT_BKSL) 	// |
 | 
			
		||||
#define	IT_SHRP	ALGR(IT_AACC) 	// #
 | 
			
		||||
 | 
			
		||||
#define	IT_X_PLUS	X_RBRACKET 	// #
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
| 
						 | 
				
			
			@ -24,28 +24,139 @@
 | 
			
		|||
 | 
			
		||||
// Normal characters
 | 
			
		||||
#define UK_HASH KC_NUHS
 | 
			
		||||
 | 
			
		||||
#define UK_BSLS	KC_NUBS
 | 
			
		||||
 | 
			
		||||
// Shifted characters
 | 
			
		||||
#define UK_NOT	LSFT(KC_GRV)
 | 
			
		||||
#define UK_QUOT	LSFT(KC_2)
 | 
			
		||||
#define UK_DQUO	LSFT(KC_2)
 | 
			
		||||
#define UK_PND	LSFT(KC_3)
 | 
			
		||||
 | 
			
		||||
#define UK_AT	LSFT(KC_QUOT)
 | 
			
		||||
#define UK_TILD	LSFT(KC_NUHS)
 | 
			
		||||
 | 
			
		||||
#define UK_PIPE	LSFT(KC_NUBS)
 | 
			
		||||
 | 
			
		||||
// Alt Gr-ed characters
 | 
			
		||||
#define UK_BRKP	ALGR(KC_GRV)
 | 
			
		||||
#define UK_EURO	ALGR(KC_4)
 | 
			
		||||
 | 
			
		||||
#define UK_EACT	ALGR(KC_E)
 | 
			
		||||
#define UK_UACT	ALGR(KC_U)
 | 
			
		||||
#define UK_IACT ALGR(KC_I)
 | 
			
		||||
#define UK_OACT ALGR(KC_O)
 | 
			
		||||
 | 
			
		||||
#define UK_AACT ALGR(KC_A)
 | 
			
		||||
 | 
			
		||||
// Duplicate US keyboard so that we don't have to use it
 | 
			
		||||
#define UK_A KC_A
 | 
			
		||||
#define UK_B KC_B
 | 
			
		||||
#define UK_C KC_C
 | 
			
		||||
#define UK_D KC_D
 | 
			
		||||
#define UK_E KC_E
 | 
			
		||||
#define UK_F KC_F
 | 
			
		||||
#define UK_G KC_G
 | 
			
		||||
#define UK_H KC_H
 | 
			
		||||
#define UK_I KC_I
 | 
			
		||||
#define UK_J KC_J
 | 
			
		||||
#define UK_K KC_K
 | 
			
		||||
#define UK_L KC_L
 | 
			
		||||
#define UK_M KC_M
 | 
			
		||||
#define UK_N KC_N
 | 
			
		||||
#define UK_O KC_O
 | 
			
		||||
#define UK_P KC_P
 | 
			
		||||
#define UK_Q KC_Q
 | 
			
		||||
#define UK_R KC_R
 | 
			
		||||
#define UK_S KC_S
 | 
			
		||||
#define UK_T KC_T
 | 
			
		||||
#define UK_U KC_U
 | 
			
		||||
#define UK_V KC_V
 | 
			
		||||
#define UK_W KC_W
 | 
			
		||||
#define UK_X KC_X
 | 
			
		||||
#define UK_Y KC_Y
 | 
			
		||||
#define UK_Z KC_Z
 | 
			
		||||
 | 
			
		||||
#define UK_1 KC_1
 | 
			
		||||
#define UK_2 KC_2
 | 
			
		||||
#define UK_3 KC_3
 | 
			
		||||
#define UK_4 KC_4
 | 
			
		||||
#define UK_5 KC_5
 | 
			
		||||
#define UK_6 KC_6
 | 
			
		||||
#define UK_7 KC_7
 | 
			
		||||
#define UK_8 KC_8
 | 
			
		||||
#define UK_9 KC_9
 | 
			
		||||
#define UK_0 KC_0
 | 
			
		||||
 | 
			
		||||
#define UK_F1 KC_F1
 | 
			
		||||
#define UK_F2 KC_F2
 | 
			
		||||
#define UK_F3 KC_F3
 | 
			
		||||
#define UK_F4 KC_F4
 | 
			
		||||
#define UK_F5 KC_F5
 | 
			
		||||
#define UK_F6 KC_F6
 | 
			
		||||
#define UK_F7 KC_F7
 | 
			
		||||
#define UK_F8 KC_F8
 | 
			
		||||
#define UK_F9 KC_F9
 | 
			
		||||
#define UK_F10 KC_F10
 | 
			
		||||
#define UK_F11 KC_F11
 | 
			
		||||
#define UK_F12 KC_F12
 | 
			
		||||
#define UK_F13 KC_F13
 | 
			
		||||
#define UK_F14 KC_F14
 | 
			
		||||
#define UK_F15 KC_F15
 | 
			
		||||
#define UK_F16 KC_F16
 | 
			
		||||
#define UK_F17 KC_F17
 | 
			
		||||
#define UK_F18 KC_F18
 | 
			
		||||
#define UK_F19 KC_F19
 | 
			
		||||
#define UK_F20 KC_F20
 | 
			
		||||
#define UK_F21 KC_F21
 | 
			
		||||
#define UK_F22 KC_F22
 | 
			
		||||
#define UK_F23 KC_F23
 | 
			
		||||
#define UK_F24 KC_F24
 | 
			
		||||
 | 
			
		||||
#define UK_SCLN KC_SCLN
 | 
			
		||||
#define UK_COMM KC_COMM
 | 
			
		||||
#define UK_DOT KC_DOT
 | 
			
		||||
#define UK_SLSH KC_SLSH
 | 
			
		||||
#define UK_EXLM KC_EXLM
 | 
			
		||||
#define UK_UNDS KC_UNDS
 | 
			
		||||
#define UK_MINS KC_MINS
 | 
			
		||||
#define UK_LCBR KC_LCBR
 | 
			
		||||
#define UK_RCBR KC_RCBR
 | 
			
		||||
#define UK_DLR KC_DLR
 | 
			
		||||
#define UK_PERC KC_PERC
 | 
			
		||||
#define UK_PLUS KC_PLUS
 | 
			
		||||
#define UK_EQL KC_EQL
 | 
			
		||||
#define UK_LPRN KC_LPRN
 | 
			
		||||
#define UK_RPRN KC_RPRN
 | 
			
		||||
#define UK_CIRC KC_CIRC
 | 
			
		||||
#define UK_AMPR KC_AMPR
 | 
			
		||||
#define UK_LABK KC_LABK
 | 
			
		||||
#define UK_LBRC KC_LBRC
 | 
			
		||||
#define UK_RBRC KC_RBRC
 | 
			
		||||
#define UK_RABK KC_RABK
 | 
			
		||||
#define UK_GRV KC_GRV
 | 
			
		||||
#define UK_ASTR KC_ASTR
 | 
			
		||||
#define UK_QUOT KC_QUOT
 | 
			
		||||
 | 
			
		||||
#define UK_TAB KC_TAB
 | 
			
		||||
#define UK_ENT KC_ENT
 | 
			
		||||
#define UK_LSFT KC_LSFT
 | 
			
		||||
#define UK_LCTL KC_LCTL
 | 
			
		||||
#define UK_LALT KC_LALT
 | 
			
		||||
#define UK_LGUI KC_LGUI
 | 
			
		||||
#define UK_SPC KC_SPC
 | 
			
		||||
#define UK_DEL KC_DEL
 | 
			
		||||
#define UK_BSPC KC_BSPC
 | 
			
		||||
#define UK_RSFT KC_RSFT
 | 
			
		||||
#define UK_RCTL KC_RCTL
 | 
			
		||||
#define UK_RALT KC_RALT
 | 
			
		||||
#define UK_RGUI KC_RGUI
 | 
			
		||||
#define UK_ESC KC_ESC
 | 
			
		||||
#define UK_PSCR KC_PSCR
 | 
			
		||||
#define UK_SLCK KC_SLCK
 | 
			
		||||
#define UK_PAUS KC_PAUS
 | 
			
		||||
#define UK_INS KC_INS
 | 
			
		||||
#define UK_HOME KC_HOME
 | 
			
		||||
#define UK_PGUP KC_PGUP
 | 
			
		||||
#define UK_END KC_END
 | 
			
		||||
#define UK_PGDN KC_PGDN
 | 
			
		||||
#define UK_LEFT KC_LEFT
 | 
			
		||||
#define UK_RGHT KC_RGHT
 | 
			
		||||
#define UK_UP KC_UP
 | 
			
		||||
#define UK_DOWN KC_DOWN
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										83
									
								
								quantum/keymap_extras/keymap_workman.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										83
									
								
								quantum/keymap_extras/keymap_workman.h
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,83 @@
 | 
			
		|||
/* Copyright 2018 Jacob Jerrell
 | 
			
		||||
 *
 | 
			
		||||
 * 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 KEYMAP_WORKMAN_H
 | 
			
		||||
#define KEYMAP_WORKMAN_H
 | 
			
		||||
 | 
			
		||||
#include "keymap.h"
 | 
			
		||||
// For software implementation of workman
 | 
			
		||||
#define WK_Q    KC_Q
 | 
			
		||||
#define WK_D    KC_W
 | 
			
		||||
#define WK_R    KC_E
 | 
			
		||||
#define WK_W    KC_R
 | 
			
		||||
#define WK_B    KC_T
 | 
			
		||||
#define WK_J    KC_Y
 | 
			
		||||
#define WK_F    KC_U
 | 
			
		||||
#define WK_U    KC_I
 | 
			
		||||
#define WK_P    KC_O
 | 
			
		||||
#define WK_SCLN KC_P
 | 
			
		||||
 | 
			
		||||
#define WK_A    KC_A
 | 
			
		||||
#define WK_S    KC_S
 | 
			
		||||
#define WK_H    KC_D
 | 
			
		||||
#define WK_T    KC_F
 | 
			
		||||
#define WK_G    KC_G
 | 
			
		||||
#define WK_Y    KC_H
 | 
			
		||||
#define WK_N    KC_J
 | 
			
		||||
#define WK_E    KC_K
 | 
			
		||||
#define WK_O    KC_L
 | 
			
		||||
#define WK_I    KC_SCLN
 | 
			
		||||
 | 
			
		||||
#define WK_Z    KC_Z
 | 
			
		||||
#define WK_X    KC_X
 | 
			
		||||
#define WK_M    KC_C
 | 
			
		||||
#define WK_C    KC_V
 | 
			
		||||
#define WK_V    KC_B
 | 
			
		||||
#define WK_K    KC_N
 | 
			
		||||
#define WK_L    KC_M
 | 
			
		||||
 | 
			
		||||
// Make it easy to support these in macros
 | 
			
		||||
// TODO: change macro implementation so these aren't needed
 | 
			
		||||
#define KC_WK_Q    WK_Q
 | 
			
		||||
#define KC_WK_D    WK_D
 | 
			
		||||
#define KC_WK_R    WK_R
 | 
			
		||||
#define KC_WK_W    WK_W
 | 
			
		||||
#define KC_WK_B    WK_B
 | 
			
		||||
#define KC_WK_J    WK_J
 | 
			
		||||
#define KC_WK_F    WK_F
 | 
			
		||||
#define KC_WK_U    WK_U
 | 
			
		||||
#define KC_WK_P    WK_P
 | 
			
		||||
#define KC_WK_SCLN WK_SCLN
 | 
			
		||||
 | 
			
		||||
#define KC_WK_A    WK_A
 | 
			
		||||
#define KC_WK_S    WK_S
 | 
			
		||||
#define KC_WK_H    WK_H
 | 
			
		||||
#define KC_WK_T    WK_T
 | 
			
		||||
#define KC_WK_G    WK_G
 | 
			
		||||
#define KC_WK_Y    WK_Y
 | 
			
		||||
#define KC_WK_N    WK_N
 | 
			
		||||
#define KC_WK_E    WK_E
 | 
			
		||||
#define KC_WK_O    WK_O
 | 
			
		||||
#define KC_WK_I    WK_I
 | 
			
		||||
 | 
			
		||||
#define KC_WK_Z    WK_Z
 | 
			
		||||
#define KC_WK_X    WK_X
 | 
			
		||||
#define KC_WK_M    WK_M
 | 
			
		||||
#define KC_WK_C    WK_C
 | 
			
		||||
#define KC_WK_V    WK_V
 | 
			
		||||
#define KC_WK_K    WK_K
 | 
			
		||||
#define KC_WK_L    WK_L
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
							
								
								
									
										71
									
								
								quantum/keymap_extras/sendstring_spanish.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										71
									
								
								quantum/keymap_extras/sendstring_spanish.h
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,71 @@
 | 
			
		|||
/* Copyright 2018 Daniel Rodríguez
 | 
			
		||||
 *
 | 
			
		||||
 * 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/>.
 | 
			
		||||
 */
 | 
			
		||||
/* Sendstring definitions for the Spanish layout */
 | 
			
		||||
#ifndef SENDSTRING_SPANISH
 | 
			
		||||
#define SENDSTRING_SPANISH
 | 
			
		||||
 | 
			
		||||
#include "keymap_spanish.h"
 | 
			
		||||
 | 
			
		||||
const bool ascii_to_shift_lut[0x80] PROGMEM = {
 | 
			
		||||
    0, 0, 0, 0, 0, 0, 0, 0,
 | 
			
		||||
    0, 0, 0, 0, 0, 0, 0, 0,
 | 
			
		||||
    0, 0, 0, 0, 0, 0, 0, 0,
 | 
			
		||||
    0, 0, 0, 0, 0, 0, 0, 0,
 | 
			
		||||
 | 
			
		||||
    0, 1, 1, 1, 1, 1, 1, 0,
 | 
			
		||||
    1, 1, 1, 0, 0, 0, 0, 1,
 | 
			
		||||
    0, 0, 0, 0, 0, 0, 0, 0,
 | 
			
		||||
 | 
			
		||||
    0, 0, 1, 1, 0, 1, 1, 1,
 | 
			
		||||
    1, 1, 1, 1, 1, 1, 1, 1,
 | 
			
		||||
    1, 1, 1, 1, 1, 1, 1, 1,
 | 
			
		||||
    1, 1, 1, 1, 1, 1, 1, 1,
 | 
			
		||||
    
 | 
			
		||||
    1, 1, 1, 0, 0, 0, 1, 1,
 | 
			
		||||
    0, 0, 0, 0, 0, 0, 0, 0,
 | 
			
		||||
    0, 0, 0, 0, 0, 0, 0, 0,
 | 
			
		||||
    0, 0, 0, 0, 0, 0, 0, 0,
 | 
			
		||||
    0, 0, 0, 1, 1, 1, 1, 0
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/* Until an ALT table/functionality is added, the following symbols will not work:
 | 
			
		||||
 # @ [ ] { } | ~
 | 
			
		||||
*/
 | 
			
		||||
const uint8_t ascii_to_keycode_lut[0x80] PROGMEM = {
 | 
			
		||||
    0, 0, 0, 0, 0, 0, 0, 0,
 | 
			
		||||
    KC_BSPC, KC_TAB, KC_ENT, 0, 0, 0, 0, 0,
 | 
			
		||||
    0, 0, 0, 0, 0, 0, 0, 0,
 | 
			
		||||
    0, 0, 0, KC_ESC, 0, 0, 0, 0,
 | 
			
		||||
/*        ,   !    "      #     $    %     &      '    */
 | 
			
		||||
    KC_SPC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, ES_APOS,
 | 
			
		||||
/*    (     )       *        +         ,       -        .     /    */
 | 
			
		||||
    KC_8, KC_9, ES_PLUS,  ES_PLUS, KC_COMM, ES_MINS, KC_DOT, KC_7,
 | 
			
		||||
    KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7,
 | 
			
		||||
/*    8     9       :        ;        <      =     >         ?    */
 | 
			
		||||
    KC_8, KC_9, KC_DOT, KC_COMM, KC_NUBS,  KC_0, KC_NUBS,  ES_APOS,
 | 
			
		||||
/*    @     A      B    C    D      E     F     G                 */
 | 
			
		||||
    KC_2, KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G,
 | 
			
		||||
    KC_H, KC_I, KC_J, KC_K, KC_L, KC_M, KC_N, KC_O,
 | 
			
		||||
    KC_P, KC_Q, KC_R, KC_S, KC_T, KC_U, KC_V, KC_W,
 | 
			
		||||
/*    X     Y     Z      [         \      ]        ^       _    */    
 | 
			
		||||
    KC_X, KC_Y, KC_Z, KC_LBRC, KC_BSLS, KC_RBRC, ES_GRV, ES_MINS,
 | 
			
		||||
    ES_GRV, KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G,
 | 
			
		||||
    KC_H, KC_I, KC_J, KC_K, KC_L, KC_M, KC_N, KC_O,
 | 
			
		||||
    KC_P, KC_Q, KC_R, KC_S, KC_T, KC_U, KC_V, KC_W,
 | 
			
		||||
    KC_X, KC_Y, KC_Z, KC_LBRC, KC_BSLS, KC_RBRC, KC_GRV, KC_DEL
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
							
								
								
									
										41
									
								
								quantum/keymap_extras/sendstring_workman.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										41
									
								
								quantum/keymap_extras/sendstring_workman.h
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,41 @@
 | 
			
		|||
/* Copyright 2018 Jacob Jerrell
 | 
			
		||||
 *
 | 
			
		||||
 * 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/>.
 | 
			
		||||
 */
 | 
			
		||||
/* Sendstring definitions for the Workman layout */
 | 
			
		||||
#ifndef SENDSTRING_WORKMAN
 | 
			
		||||
#define SENDSTRING_WORKMAN
 | 
			
		||||
 | 
			
		||||
#include "keymap_workman.h"
 | 
			
		||||
 | 
			
		||||
const uint8_t ascii_to_keycode_lut[0x80] PROGMEM = {
 | 
			
		||||
    0,       0,      0,       0,       0,       0,       0,      0,
 | 
			
		||||
    KC_BSPC, KC_TAB, KC_ENT,  0,       0,       0,       0,      0,
 | 
			
		||||
    0,       0,      0,       0,       0,       0,       0,      0,
 | 
			
		||||
    0,       0,      0,       KC_ESC,  0,       0,       0,      0,
 | 
			
		||||
    KC_SPC,  KC_1,   KC_QUOT, KC_3,    KC_4,    KC_5,    KC_7,   KC_QUOT,
 | 
			
		||||
    KC_9,    KC_0,   KC_8,    KC_EQL,  KC_COMM, KC_MINS, KC_DOT, KC_SLSH,
 | 
			
		||||
    KC_0,    KC_1,   KC_2,    KC_3,    KC_4,    KC_5,    KC_6,   KC_7,
 | 
			
		||||
    KC_8,    KC_9,   KC_SCLN, KC_SCLN, KC_COMM, KC_EQL,  KC_DOT, KC_SLSH,
 | 
			
		||||
    KC_2,    WK_A,   WK_B,    WK_C,    WK_D,    WK_E,    WK_F,   WK_G,
 | 
			
		||||
    WK_H,    WK_I,   WK_J,    WK_K,    WK_L,    WK_M,    WK_N,   WK_O,
 | 
			
		||||
    WK_P,    WK_Q,   WK_R,    WK_S,    WK_T,    WK_U,    WK_V,   WK_W,
 | 
			
		||||
    WK_X,    WK_Y,   WK_Z,    KC_LBRC, KC_BSLS, KC_RBRC, KC_6,   KC_MINS,
 | 
			
		||||
    KC_GRV,  WK_A,   WK_B,    WK_C,    WK_D,    WK_E,    WK_F,   WK_G,
 | 
			
		||||
    WK_H,    WK_I,   WK_J,    WK_K,    WK_L,    WK_M,    WK_N,   WK_O,
 | 
			
		||||
    WK_P,    WK_Q,   WK_R,    WK_S,    WK_T,    WK_U,    WK_V,   WK_W,
 | 
			
		||||
    WK_X,    WK_Y,   WK_Z,    KC_LBRC, KC_BSLS, KC_RBRC, KC_GRV, KC_DEL
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
| 
						 | 
				
			
			@ -92,7 +92,9 @@ bool autoshift_state(void) {
 | 
			
		|||
}
 | 
			
		||||
 | 
			
		||||
bool process_auto_shift(uint16_t keycode, keyrecord_t *record) {
 | 
			
		||||
#ifndef AUTO_SHIFT_MODIFIERS
 | 
			
		||||
  static uint8_t any_mod_pressed;
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
  if (record->event.pressed) {
 | 
			
		||||
    switch (keycode) {
 | 
			
		||||
| 
						 | 
				
			
			@ -170,11 +172,13 @@ bool process_auto_shift(uint16_t keycode, keyrecord_t *record) {
 | 
			
		|||
      case KC_COMM:
 | 
			
		||||
      case KC_DOT:
 | 
			
		||||
      case KC_SLSH:
 | 
			
		||||
      case KC_GRAVE:
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
        autoshift_flush();
 | 
			
		||||
        if (!autoshift_enabled) return true;
 | 
			
		||||
 | 
			
		||||
#ifndef AUTO_SHIFT_MODIFIERS
 | 
			
		||||
        any_mod_pressed = get_mods() & (
 | 
			
		||||
          MOD_BIT(KC_LGUI)|MOD_BIT(KC_RGUI)|
 | 
			
		||||
          MOD_BIT(KC_LALT)|MOD_BIT(KC_RALT)|
 | 
			
		||||
| 
						 | 
				
			
			@ -185,6 +189,7 @@ bool process_auto_shift(uint16_t keycode, keyrecord_t *record) {
 | 
			
		|||
        if (any_mod_pressed) {
 | 
			
		||||
          return true;
 | 
			
		||||
        }
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
        autoshift_on(keycode);
 | 
			
		||||
        return false;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -22,7 +22,7 @@
 | 
			
		|||
 | 
			
		||||
 | 
			
		||||
__attribute__ ((weak))
 | 
			
		||||
combo_t key_combos[] = {
 | 
			
		||||
combo_t key_combos[COMBO_COUNT] = {
 | 
			
		||||
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -122,6 +122,8 @@ extern uint32_t default_layer_state;
 | 
			
		|||
 | 
			
		||||
#define SS_LCTRL(string) SS_DOWN(X_LCTRL) string SS_UP(X_LCTRL)
 | 
			
		||||
#define SS_LGUI(string) SS_DOWN(X_LGUI) string SS_UP(X_LGUI)
 | 
			
		||||
#define SS_LCMD(string) SS_LGUI(string)
 | 
			
		||||
#define SS_LWIN(string) SS_LGUI(string)
 | 
			
		||||
#define SS_LALT(string) SS_DOWN(X_LALT) string SS_UP(X_LALT)
 | 
			
		||||
#define SS_LSFT(string) SS_DOWN(X_LSHIFT) string SS_UP(X_LSHIFT)
 | 
			
		||||
#define SS_RALT(string) SS_DOWN(X_RALT) string SS_UP(X_RALT)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -71,11 +71,17 @@ enum quantum_keycodes {
 | 
			
		|||
    QK_TAP_DANCE_MAX      = 0x57FF,
 | 
			
		||||
    QK_LAYER_TAP_TOGGLE   = 0x5800,
 | 
			
		||||
    QK_LAYER_TAP_TOGGLE_MAX = 0x58FF,
 | 
			
		||||
    QK_LAYER_MOD          = 0x5900,
 | 
			
		||||
    QK_LAYER_MOD_MAX      = 0x59FF,
 | 
			
		||||
#ifdef STENO_ENABLE
 | 
			
		||||
    QK_STENO              = 0x5A00,
 | 
			
		||||
    QK_STENO_BOLT         = 0x5A30,
 | 
			
		||||
    QK_STENO_GEMINI       = 0x5A31,
 | 
			
		||||
    QK_STENO_MAX          = 0x5A3F,
 | 
			
		||||
#endif
 | 
			
		||||
#ifdef SWAP_HANDS_ENABLE
 | 
			
		||||
    QK_SWAP_HANDS         = 0x5B00,
 | 
			
		||||
    QK_SWAP_HANDS_MAX     = 0x5BFF,
 | 
			
		||||
#endif
 | 
			
		||||
    QK_MOD_TAP            = 0x6000,
 | 
			
		||||
    QK_MOD_TAP_MAX        = 0x7FFF,
 | 
			
		||||
| 
						 | 
				
			
			@ -445,10 +451,14 @@ enum quantum_keycodes {
 | 
			
		|||
#define LSFT(kc) (kc | QK_LSFT)
 | 
			
		||||
#define LALT(kc) (kc | QK_LALT)
 | 
			
		||||
#define LGUI(kc) (kc | QK_LGUI)
 | 
			
		||||
#define LCMD(kc) LGUI(kc)
 | 
			
		||||
#define LWIN(kc) LGUI(kc)
 | 
			
		||||
#define RCTL(kc) (kc | QK_RCTL)
 | 
			
		||||
#define RSFT(kc) (kc | QK_RSFT)
 | 
			
		||||
#define RALT(kc) (kc | QK_RALT)
 | 
			
		||||
#define RGUI(kc) (kc | QK_RGUI)
 | 
			
		||||
#define RCMD(kc) RGUI(kc)
 | 
			
		||||
#define RWIN(kc) RGUI(kc)
 | 
			
		||||
 | 
			
		||||
#define HYPR(kc) (kc | QK_LCTL | QK_LSFT | QK_LALT | QK_LGUI)
 | 
			
		||||
#define MEH(kc)  (kc | QK_LCTL | QK_LSFT | QK_LALT)
 | 
			
		||||
| 
						 | 
				
			
			@ -589,6 +599,9 @@ enum quantum_keycodes {
 | 
			
		|||
// One-shot layer - 256 layer max
 | 
			
		||||
#define OSL(layer) (layer | QK_ONE_SHOT_LAYER)
 | 
			
		||||
 | 
			
		||||
// L-ayer M-od: Momentary switch layer with modifiers active - 16 layer max, left mods only
 | 
			
		||||
#define LM(layer, mod) (QK_LAYER_MOD | (((layer) & 0xF) << 4) | ((mod) & 0xF))
 | 
			
		||||
 | 
			
		||||
// One-shot mod
 | 
			
		||||
#define OSM(mod) ((mod) | QK_ONE_SHOT_MOD)
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -612,8 +625,14 @@ enum quantum_keycodes {
 | 
			
		|||
#define ALGR_T(kc) MT(MOD_RALT, kc) // dual-function AltGR
 | 
			
		||||
 | 
			
		||||
#define GUI_T(kc) MT(MOD_LGUI, kc)
 | 
			
		||||
#define CMD_T(kc) GUI_T(kc)
 | 
			
		||||
#define WIN_T(kc) GUI_T(kc)
 | 
			
		||||
#define LGUI_T(kc) MT(MOD_LGUI, kc)
 | 
			
		||||
#define LCMD_T(kc) LGUI_T(kc)
 | 
			
		||||
#define LWIN_T(kc) LGUI_T(kc)
 | 
			
		||||
#define RGUI_T(kc) MT(MOD_RGUI, kc)
 | 
			
		||||
#define RCMD_T(kc) RGUI_T(kc)
 | 
			
		||||
#define RWIN_T(kc) RGUI_T(kc)
 | 
			
		||||
 | 
			
		||||
#define C_S_T(kc) MT((MOD_LCTL | MOD_LSFT), kc) // Control + Shift e.g. for gnome-terminal
 | 
			
		||||
#define MEH_T(kc) MT((MOD_LCTL | MOD_LSFT | MOD_LALT), kc) // Meh is a less hyper version of the Hyper key -- doesn't include Win or Cmd, so just alt+shift+ctrl
 | 
			
		||||
| 
						 | 
				
			
			@ -641,4 +660,14 @@ enum quantum_keycodes {
 | 
			
		|||
    #define X(n) (n | QK_UNICODE_MAP)
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#ifdef SWAP_HANDS_ENABLE
 | 
			
		||||
  #define SH_T(key)  (QK_SWAP_HANDS | key)
 | 
			
		||||
  #define SH_TG      (QK_SWAP_HANDS | OP_SH_TOGGLE)
 | 
			
		||||
  #define SH_TT      (QK_SWAP_HANDS | OP_SH_TAP_TOGGLE)
 | 
			
		||||
  #define SH_MON     (QK_SWAP_HANDS | OP_SH_ON_OFF)
 | 
			
		||||
  #define SH_MOFF    (QK_SWAP_HANDS | OP_SH_OFF_ON)
 | 
			
		||||
  #define SH_ON      (QK_SWAP_HANDS | OP_SH_ON)
 | 
			
		||||
  #define SH_OFF     (QK_SWAP_HANDS | OP_SH_OFF)
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#endif // QUANTUM_KEYCODES_H
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -23,6 +23,10 @@
 | 
			
		|||
#include "debug.h"
 | 
			
		||||
#include "led_tables.h"
 | 
			
		||||
 | 
			
		||||
#ifndef RGBLIGHT_LIMIT_VAL
 | 
			
		||||
#define RGBLIGHT_LIMIT_VAL 255
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
__attribute__ ((weak))
 | 
			
		||||
const uint8_t RGBLED_BREATHING_INTERVALS[] PROGMEM = {30, 20, 10, 5};
 | 
			
		||||
__attribute__ ((weak))
 | 
			
		||||
| 
						 | 
				
			
			@ -46,11 +50,9 @@ bool rgblight_timer_enabled = false;
 | 
			
		|||
void sethsv(uint16_t hue, uint8_t sat, uint8_t val, LED_TYPE *led1) {
 | 
			
		||||
  uint8_t r = 0, g = 0, b = 0, base, color;
 | 
			
		||||
 | 
			
		||||
  #ifdef RGBLIGHT_LIMIT_VAL
 | 
			
		||||
    if (val > RGBLIGHT_LIMIT_VAL) {
 | 
			
		||||
  if (val > RGBLIGHT_LIMIT_VAL) {
 | 
			
		||||
      val=RGBLIGHT_LIMIT_VAL; // limit the val
 | 
			
		||||
    }
 | 
			
		||||
  #endif
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  if (sat == 0) { // Acromatic color (gray). Hue doesn't mind.
 | 
			
		||||
    r = val;
 | 
			
		||||
| 
						 | 
				
			
			@ -119,7 +121,7 @@ void eeconfig_update_rgblight_default(void) {
 | 
			
		|||
  rgblight_config.mode = 1;
 | 
			
		||||
  rgblight_config.hue = 0;
 | 
			
		||||
  rgblight_config.sat = 255;
 | 
			
		||||
  rgblight_config.val = 255;
 | 
			
		||||
  rgblight_config.val = RGBLIGHT_LIMIT_VAL;
 | 
			
		||||
  eeconfig_update_rgblight(rgblight_config.raw);
 | 
			
		||||
}
 | 
			
		||||
void eeconfig_debug_rgblight(void) {
 | 
			
		||||
| 
						 | 
				
			
			@ -313,8 +315,8 @@ void rgblight_decrease_sat(void) {
 | 
			
		|||
}
 | 
			
		||||
void rgblight_increase_val(void) {
 | 
			
		||||
  uint8_t val;
 | 
			
		||||
  if (rgblight_config.val + RGBLIGHT_VAL_STEP > 255) {
 | 
			
		||||
    val = 255;
 | 
			
		||||
  if (rgblight_config.val + RGBLIGHT_VAL_STEP > RGBLIGHT_LIMIT_VAL) {
 | 
			
		||||
    val = RGBLIGHT_LIMIT_VAL;
 | 
			
		||||
  } else {
 | 
			
		||||
    val = rgblight_config.val + RGBLIGHT_VAL_STEP;
 | 
			
		||||
  }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -74,6 +74,7 @@
 | 
			
		|||
#include "ws2812.h"
 | 
			
		||||
#endif
 | 
			
		||||
#include "rgblight_types.h"
 | 
			
		||||
#include "rgblight_list.h"
 | 
			
		||||
 | 
			
		||||
extern LED_TYPE led[RGBLED_NUM];
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										59
									
								
								quantum/rgblight_list.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										59
									
								
								quantum/rgblight_list.h
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,59 @@
 | 
			
		|||
/* Copyright 2018 Jack Humbert
 | 
			
		||||
 *
 | 
			
		||||
 * 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 RGBLIGHT_LIST_H
 | 
			
		||||
#define RGBLIGHT_LIST_H
 | 
			
		||||
 | 
			
		||||
/*                            SET RGB List                            */
 | 
			
		||||
#define rgblight_setrgb_white()       rgblight_setrgb (0xFF, 0xFF, 0xFF)
 | 
			
		||||
#define rgblight_setrgb_red()         rgblight_setrgb (0xFF, 0x00, 0x00)
 | 
			
		||||
#define rgblight_setrgb_coral()       rgblight_setrgb (0xFF, 0x7C, 0x4D)
 | 
			
		||||
#define rgblight_setrgb_orange()      rgblight_setrgb (0xFF, 0x80, 0x00)
 | 
			
		||||
#define rgblight_setrgb_goldenrod()   rgblight_setrgb (0xD9, 0xA5, 0x21)
 | 
			
		||||
#define rgblight_setrgb_gold()        rgblight_setrgb (0xFF, 0xD9, 0x00)
 | 
			
		||||
#define rgblight_setrgb_yellow()      rgblight_setrgb (0xFF, 0xFF, 0x00)
 | 
			
		||||
#define rgblight_setrgb_chartreuse()  rgblight_setrgb (0x80, 0xFF, 0x00)
 | 
			
		||||
#define rgblight_setrgb_green()       rgblight_setrgb (0x00, 0xFF, 0x00)
 | 
			
		||||
#define rgblight_setrgb_springgreen() rgblight_setrgb (0x00, 0xFF, 0x80)
 | 
			
		||||
#define rgblight_setrgb_turquoise()   rgblight_setrgb (0x47, 0x6E, 0x6A)
 | 
			
		||||
#define rgblight_setrgb_teal()        rgblight_setrgb (0x00, 0x80, 0x80)
 | 
			
		||||
#define rgblight_setrgb_cyan()        rgblight_setrgb (0x00, 0xFF, 0xFF)
 | 
			
		||||
#define rgblight_setrgb_azure()       rgblight_setrgb (0x99, 0xf5, 0xFF)
 | 
			
		||||
#define rgblight_setrgb_blue()        rgblight_setrgb (0x00, 0x00, 0xFF)
 | 
			
		||||
#define rgblight_setrgb_purple()      rgblight_setrgb (0x7A, 0x00, 0xFF)
 | 
			
		||||
#define rgblight_setrgb_magenta()     rgblight_setrgb (0xFF, 0x00, 0xFF)
 | 
			
		||||
#define rgblight_setrgb_pink()        rgblight_setrgb (0xFF, 0x80, 0xBF)
 | 
			
		||||
 | 
			
		||||
/*                            SET HSV List                            */
 | 
			
		||||
#define rgblight_sethsv_white()       rgblight_sethsv (  0,   0, 255)
 | 
			
		||||
#define rgblight_sethsv_red()         rgblight_sethsv (  0, 255, 255)
 | 
			
		||||
#define rgblight_sethsv_coral()       rgblight_sethsv ( 16, 176, 255)
 | 
			
		||||
#define rgblight_sethsv_orange()      rgblight_sethsv ( 39, 255, 255)
 | 
			
		||||
#define rgblight_sethsv_goldenrod()   rgblight_sethsv ( 43, 218, 218)
 | 
			
		||||
#define rgblight_sethsv_gold()        rgblight_sethsv ( 51, 255, 255)
 | 
			
		||||
#define rgblight_sethsv_yellow()      rgblight_sethsv ( 60, 255, 255)
 | 
			
		||||
#define rgblight_sethsv_chartreuse()  rgblight_sethsv ( 90, 255, 255)
 | 
			
		||||
#define rgblight_sethsv_green()       rgblight_sethsv (120, 255, 255)
 | 
			
		||||
#define rgblight_sethsv_springgreen() rgblight_sethsv (150, 255, 255)
 | 
			
		||||
#define rgblight_sethsv_turquoise()   rgblight_sethsv (174,  90, 112)
 | 
			
		||||
#define rgblight_sethsv_teal()        rgblight_sethsv (180, 255, 128)
 | 
			
		||||
#define rgblight_sethsv_cyan()        rgblight_sethsv (180, 255, 255)
 | 
			
		||||
#define rgblight_sethsv_azure()       rgblight_sethsv (186, 102, 255)
 | 
			
		||||
#define rgblight_sethsv_blue()        rgblight_sethsv (240, 255, 255)
 | 
			
		||||
#define rgblight_sethsv_purple()      rgblight_sethsv (270, 255, 255)
 | 
			
		||||
#define rgblight_sethsv_magenta()     rgblight_sethsv (300, 255, 255)
 | 
			
		||||
#define rgblight_sethsv_pink()        rgblight_sethsv (330, 128, 255)
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue