forked from mfulz_github/qmk_firmware
		
	[Keymap] Add encoder showcase keymap (#16544)
This commit is contained in:
		
							parent
							
								
									41fb9120d0
								
							
						
					
					
						commit
						4b4f1c6edb
					
				| @ -1,4 +1,4 @@ | |||||||
| // Copyright 2021 Willem McGloughlin (wymcg)
 | // Copyright 2021-22 Willem McGloughlin (wymcg)
 | ||||||
| // SPDX-License-Identifier: GPL-2.0-or-later
 | // SPDX-License-Identifier: GPL-2.0-or-later
 | ||||||
| 
 | 
 | ||||||
| #pragma once | #pragma once | ||||||
| @ -16,123 +16,27 @@ | |||||||
| #define MATRIX_ROWS 3 | #define MATRIX_ROWS 3 | ||||||
| #define MATRIX_COLS 4 | #define MATRIX_COLS 4 | ||||||
| 
 | 
 | ||||||
| /*
 | /* Keyboard Matrix Assignments */ | ||||||
|  * Keyboard Matrix Assignments |  | ||||||
|  * |  | ||||||
|  * Change this to how you wired your keyboard |  | ||||||
|  * COLS: AVR pins used for columns, left to right |  | ||||||
|  * ROWS: AVR pins used for rows, top to bottom |  | ||||||
|  * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) |  | ||||||
|  *                  ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) |  | ||||||
|  * |  | ||||||
|  */ |  | ||||||
| #define MATRIX_ROW_PINS { D0, D4, C6 } | #define MATRIX_ROW_PINS { D0, D4, C6 } | ||||||
| #define MATRIX_COL_PINS { D7, E6, B4, B5 } | #define MATRIX_COL_PINS { D7, E6, B4, B5 } | ||||||
| #define UNUSED_PINS | #define UNUSED_PINS | ||||||
| 
 | 
 | ||||||
|  | /* Encoder Assignments */ | ||||||
|  | #define ENCODERS_PAD_A { B6 } | ||||||
|  | #define ENCODERS_PAD_B { B2 } | ||||||
|  | #define ENCODER_RESOLUTION 4 | ||||||
|  | 
 | ||||||
| /* COL2ROW, ROW2COL */ | /* COL2ROW, ROW2COL */ | ||||||
| #define DIODE_DIRECTION COL2ROW | #define DIODE_DIRECTION COL2ROW | ||||||
| 
 | 
 | ||||||
| /*
 |  | ||||||
|  * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN. |  | ||||||
|  */ |  | ||||||
| //#define SOFT_SERIAL_PIN D0  // or D1, D2, D3, E6
 |  | ||||||
| 
 |  | ||||||
| //#define LED_NUM_LOCK_PIN B0
 |  | ||||||
| //#define LED_CAPS_LOCK_PIN B1
 |  | ||||||
| //#define LED_SCROLL_LOCK_PIN B2
 |  | ||||||
| //#define LED_COMPOSE_PIN B3
 |  | ||||||
| //#define LED_KANA_PIN B4
 |  | ||||||
| 
 |  | ||||||
| //#define BACKLIGHT_PIN B7
 |  | ||||||
| //#define BACKLIGHT_LEVELS 3
 |  | ||||||
| //#define BACKLIGHT_BREATHING
 |  | ||||||
| 
 |  | ||||||
| //#define RGB_DI_PIN E2
 |  | ||||||
| //#ifdef RGB_DI_PIN
 |  | ||||||
| //#    define RGBLED_NUM 16
 |  | ||||||
| //#    define RGBLIGHT_HUE_STEP 8
 |  | ||||||
| //#    define RGBLIGHT_SAT_STEP 8
 |  | ||||||
| //#    define RGBLIGHT_VAL_STEP 8
 |  | ||||||
| //#    define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */
 |  | ||||||
| //#    define RGBLIGHT_SLEEP  /* If defined, the RGB lighting will be switched off when the host goes to sleep */
 |  | ||||||
| /*== all animations enable ==*/ |  | ||||||
| //#    define RGBLIGHT_ANIMATIONS
 |  | ||||||
| /*== or choose animations ==*/ |  | ||||||
| //#    define RGBLIGHT_EFFECT_BREATHING
 |  | ||||||
| //#    define RGBLIGHT_EFFECT_RAINBOW_MOOD
 |  | ||||||
| //#    define RGBLIGHT_EFFECT_RAINBOW_SWIRL
 |  | ||||||
| //#    define RGBLIGHT_EFFECT_SNAKE
 |  | ||||||
| //#    define RGBLIGHT_EFFECT_KNIGHT
 |  | ||||||
| //#    define RGBLIGHT_EFFECT_CHRISTMAS
 |  | ||||||
| //#    define RGBLIGHT_EFFECT_STATIC_GRADIENT
 |  | ||||||
| //#    define RGBLIGHT_EFFECT_RGB_TEST
 |  | ||||||
| //#    define RGBLIGHT_EFFECT_ALTERNATING
 |  | ||||||
| /*== customize breathing effect ==*/ |  | ||||||
| /*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/ |  | ||||||
| //#    define RGBLIGHT_BREATHE_TABLE_SIZE 256      // 256(default) or 128 or 64
 |  | ||||||
| /*==== use exp() and sin() ====*/ |  | ||||||
| //#    define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85  // 1 to 2.7
 |  | ||||||
| //#    define RGBLIGHT_EFFECT_BREATHE_MAX    255   // 0 to 255
 |  | ||||||
| //#endif
 |  | ||||||
| 
 |  | ||||||
| /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ | /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ | ||||||
| #define DEBOUNCE 5 | #define DEBOUNCE 5 | ||||||
| 
 | 
 | ||||||
| /* define if matrix has ghost (lacks anti-ghosting diodes) */ |  | ||||||
| //#define MATRIX_HAS_GHOST
 |  | ||||||
| 
 |  | ||||||
| /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ | /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ | ||||||
| #define LOCKING_SUPPORT_ENABLE | #define LOCKING_SUPPORT_ENABLE | ||||||
| /* Locking resynchronize hack */ | /* Locking resynchronize hack */ | ||||||
| #define LOCKING_RESYNC_ENABLE | #define LOCKING_RESYNC_ENABLE | ||||||
| 
 | 
 | ||||||
| /* If defined, GRAVE_ESC will always act as ESC when CTRL is held.
 |  | ||||||
|  * This is useful for the Windows task manager shortcut (ctrl+shift+esc). |  | ||||||
|  */ |  | ||||||
| //#define GRAVE_ESC_CTRL_OVERRIDE
 |  | ||||||
| 
 |  | ||||||
| /*
 |  | ||||||
|  * Force NKRO |  | ||||||
|  * |  | ||||||
|  * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved |  | ||||||
|  * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the |  | ||||||
|  * makefile for this to work.) |  | ||||||
|  * |  | ||||||
|  * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N) |  | ||||||
|  * until the next keyboard reset. |  | ||||||
|  * |  | ||||||
|  * NKRO may prevent your keystrokes from being detected in the BIOS, but it is |  | ||||||
|  * fully operational during normal computer usage. |  | ||||||
|  * |  | ||||||
|  * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N) |  | ||||||
|  * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by |  | ||||||
|  * bootmagic, NKRO mode will always be enabled until it is toggled again during a |  | ||||||
|  * power-up. |  | ||||||
|  * |  | ||||||
|  */ |  | ||||||
| //#define FORCE_NKRO
 |  | ||||||
| 
 |  | ||||||
| /*
 |  | ||||||
|  * Feature disable options |  | ||||||
|  *  These options are also useful to firmware size reduction. |  | ||||||
|  */ |  | ||||||
| 
 |  | ||||||
| /* disable debug print */ |  | ||||||
| //#define NO_DEBUG
 |  | ||||||
| 
 |  | ||||||
| /* disable print */ |  | ||||||
| //#define NO_PRINT
 |  | ||||||
| 
 |  | ||||||
| /* disable action features */ |  | ||||||
| //#define NO_ACTION_LAYER
 |  | ||||||
| //#define NO_ACTION_TAPPING
 |  | ||||||
| //#define NO_ACTION_ONESHOT
 |  | ||||||
| 
 |  | ||||||
| /* disable these deprecated features by default */ | /* disable these deprecated features by default */ | ||||||
| #define NO_ACTION_MACRO | #define NO_ACTION_MACRO | ||||||
| #define NO_ACTION_FUNCTION | #define NO_ACTION_FUNCTION | ||||||
| 
 |  | ||||||
| /* Bootmagic Lite key configuration */ |  | ||||||
| //#define BOOTMAGIC_LITE_ROW 0
 |  | ||||||
| //#define BOOTMAGIC_LITE_COLUMN 0
 |  | ||||||
|  | |||||||
| @ -1,4 +1,4 @@ | |||||||
| // Copyright 2021 Will McGLoughlin (wymcg)
 | // Copyright 2021-22 Will McGLoughlin (wymcg)
 | ||||||
| // SPDX-License-Identifier: GPL-2.0-or-later
 | // SPDX-License-Identifier: GPL-2.0-or-later
 | ||||||
| 
 | 
 | ||||||
| #include QMK_KEYBOARD_H | #include QMK_KEYBOARD_H | ||||||
|  | |||||||
							
								
								
									
										56
									
								
								keyboards/psuieee/pluto12/keymaps/wymcg/keymap.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										56
									
								
								keyboards/psuieee/pluto12/keymaps/wymcg/keymap.c
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,56 @@ | |||||||
|  | // Copyright 2021-22 Will McGLoughlin (wymcg)
 | ||||||
|  | // SPDX-License-Identifier: GPL-2.0-or-later
 | ||||||
|  | 
 | ||||||
|  | #include QMK_KEYBOARD_H | ||||||
|  | 
 | ||||||
|  | // Defines names for use in layer keycodes and the keymap
 | ||||||
|  | enum layer_names { | ||||||
|  |     _BASE, | ||||||
|  |     _NAV, | ||||||
|  |     _PROD | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||||||
|  |   [_BASE] = LAYOUT( | ||||||
|  |     KC_MUTE,    KC_MPRV,    KC_MPLY,    KC_MNXT, | ||||||
|  |     TO(_NAV),   G(KC_1),    G(KC_2),    G(KC_3), | ||||||
|  |     TO(_PROD),  G(KC_4),    G(KC_5),    G(KC_6) | ||||||
|  |   ), | ||||||
|  |   [_NAV] = LAYOUT( | ||||||
|  |     TO(_BASE),  KC_HOME,    KC_UP,      KC_END, | ||||||
|  |     A(KC_TAB),  KC_LEFT,    KC_DOWN,    KC_RIGHT, | ||||||
|  |     G(KC_TAB),  KC_PGDN,    KC_PGUP,    MO(_BASE) | ||||||
|  |   ), | ||||||
|  |   [_PROD] = LAYOUT( | ||||||
|  |     TO(_BASE),  KC_NO,      KC_NO,      KC_NO, | ||||||
|  |     C(KC_Z),    C(KC_X),    C(KC_C),    C(KC_V), | ||||||
|  |     C(KC_A),    C(KC_LEFT), C(KC_RIGHT),MO(_BASE) | ||||||
|  |   ) | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | bool encoder_update_user(uint8_t index, bool clockwise) { | ||||||
|  |     switch (biton32(layer_state)) { | ||||||
|  |         case _BASE: | ||||||
|  |             if (clockwise) { | ||||||
|  |                 tap_code(KC_VOLU); | ||||||
|  |             } else { | ||||||
|  |                 tap_code(KC_VOLD); | ||||||
|  |             } | ||||||
|  |             break; | ||||||
|  |         case _NAV: | ||||||
|  |             if (clockwise) { | ||||||
|  |                 tap_code16(C(G(KC_RIGHT))); | ||||||
|  |             } else { | ||||||
|  |                 tap_code16(C(G(KC_LEFT))); | ||||||
|  |             } | ||||||
|  |             break; | ||||||
|  |         case _PROD: | ||||||
|  |             if (clockwise) { | ||||||
|  |                 tap_code16(C(KC_Y)); | ||||||
|  |             } else { | ||||||
|  |                 tap_code16(C(KC_Z)); | ||||||
|  |             } | ||||||
|  |             break; | ||||||
|  |     } | ||||||
|  |     return false; | ||||||
|  | } | ||||||
							
								
								
									
										1
									
								
								keyboards/psuieee/pluto12/keymaps/wymcg/readme.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								keyboards/psuieee/pluto12/keymaps/wymcg/readme.md
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1 @@ | |||||||
|  | # wymcg's custom keymap | ||||||
| @ -1,4 +1,4 @@ | |||||||
| // Copyright 2021 Will McGloughlin (@wymcg)
 | // Copyright 2021-22 Will McGloughlin (@wymcg)
 | ||||||
| // SPDX-License-Identifier: GPL-2.0-or-later
 | // SPDX-License-Identifier: GPL-2.0-or-later
 | ||||||
| 
 | 
 | ||||||
| #include "pluto12.h" | #include "pluto12.h" | ||||||
|  | |||||||
| @ -1,4 +1,4 @@ | |||||||
| // Copyright 2021 Will McGloughlin (@wymcg)
 | // Copyright 2021-22 Will McGloughlin (@wymcg)
 | ||||||
| // SPDX-License-Identifier: GPL-2.0-or-later
 | // SPDX-License-Identifier: GPL-2.0-or-later
 | ||||||
| 
 | 
 | ||||||
| #pragma once | #pragma once | ||||||
|  | |||||||
| @ -16,3 +16,4 @@ NKRO_ENABLE = no            # Enable N-Key Rollover | |||||||
| BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality | BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality | ||||||
| RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow | RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow | ||||||
| AUDIO_ENABLE = no           # Audio output | AUDIO_ENABLE = no           # Audio output | ||||||
|  | ENCODER_ENABLE = yes | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Will McGloughlin
						Will McGloughlin