You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					74 lines
				
				2.1 KiB
			
		
		
			
		
	
	
					74 lines
				
				2.1 KiB
			| 
								 
											10 years ago
										 
									 | 
							
								#include "keycode_config.h"
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								extern keymap_config_t keymap_config;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								uint16_t keycode_config(uint16_t keycode) {
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    switch (keycode) {
							 | 
						||
| 
								 | 
							
								        case KC_CAPSLOCK:
							 | 
						||
| 
								 | 
							
								        case KC_LOCKING_CAPS:
							 | 
						||
| 
								 | 
							
								            if (keymap_config.swap_control_capslock || keymap_config.capslock_to_control) {
							 | 
						||
| 
								 | 
							
								                return KC_LCTL;
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								            return keycode;
							 | 
						||
| 
								 | 
							
								        case KC_LCTL:
							 | 
						||
| 
								 | 
							
								            if (keymap_config.swap_control_capslock) {
							 | 
						||
| 
								 | 
							
								                return KC_CAPSLOCK;
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								            return KC_LCTL;
							 | 
						||
| 
								 | 
							
								        case KC_LALT:
							 | 
						||
| 
								 | 
							
								            if (keymap_config.swap_lalt_lgui) {
							 | 
						||
| 
								 | 
							
								                if (keymap_config.no_gui) {
							 | 
						||
| 
								 | 
							
								                    return KC_NO;
							 | 
						||
| 
								 | 
							
								                }
							 | 
						||
| 
								 | 
							
								                return KC_LGUI;
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								            return KC_LALT;
							 | 
						||
| 
								 | 
							
								        case KC_LGUI:
							 | 
						||
| 
								 | 
							
								            if (keymap_config.swap_lalt_lgui) {
							 | 
						||
| 
								 | 
							
								                return KC_LALT;
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								            if (keymap_config.no_gui) {
							 | 
						||
| 
								 | 
							
								                return KC_NO;
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								            return KC_LGUI;
							 | 
						||
| 
								 | 
							
								        case KC_RALT:
							 | 
						||
| 
								 | 
							
								            if (keymap_config.swap_ralt_rgui) {
							 | 
						||
| 
								 | 
							
								                if (keymap_config.no_gui) {
							 | 
						||
| 
								 | 
							
								                    return KC_NO;
							 | 
						||
| 
								 | 
							
								                }
							 | 
						||
| 
								 | 
							
								                return KC_RGUI;
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								            return KC_RALT;
							 | 
						||
| 
								 | 
							
								        case KC_RGUI:
							 | 
						||
| 
								 | 
							
								            if (keymap_config.swap_ralt_rgui) {
							 | 
						||
| 
								 | 
							
								                return KC_RALT;
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								            if (keymap_config.no_gui) {
							 | 
						||
| 
								 | 
							
								                return KC_NO;
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								            return KC_RGUI;
							 | 
						||
| 
								 | 
							
								        case KC_GRAVE:
							 | 
						||
| 
								 | 
							
								            if (keymap_config.swap_grave_esc) {
							 | 
						||
| 
								 | 
							
								                return KC_ESC;
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								            return KC_GRAVE;
							 | 
						||
| 
								 | 
							
								        case KC_ESC:
							 | 
						||
| 
								 | 
							
								            if (keymap_config.swap_grave_esc) {
							 | 
						||
| 
								 | 
							
								                return KC_GRAVE;
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								            return KC_ESC;
							 | 
						||
| 
								 | 
							
								        case KC_BSLASH:
							 | 
						||
| 
								 | 
							
								            if (keymap_config.swap_backslash_backspace) {
							 | 
						||
| 
								 | 
							
								                return KC_BSPACE;
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								            return KC_BSLASH;
							 | 
						||
| 
								 | 
							
								        case KC_BSPACE:
							 | 
						||
| 
								 | 
							
								            if (keymap_config.swap_backslash_backspace) {
							 | 
						||
| 
								 | 
							
								                return KC_BSLASH;
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								            return KC_BSPACE;
							 | 
						||
| 
								 | 
							
								        default:
							 | 
						||
| 
								 | 
							
								            return keycode;
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								}
							 |