Merge branch 'modstaptoggle' of git://github.com/simonmelhart/tmk_keyboard into simonmelhart-modstaptoggle
Conflicts: common/action_code.h
This commit is contained in:
		
						commit
						fd9ee507a5
					
				
					 3 changed files with 20 additions and 0 deletions
				
			
		| 
						 | 
				
			
			@ -128,6 +128,17 @@ void process_action(keyrecord_t *record)
 | 
			
		|||
                        }
 | 
			
		||||
                        break;
 | 
			
		||||
    #endif
 | 
			
		||||
                    case MODS_TAP_TOGGLE:
 | 
			
		||||
                        if (event.pressed) {
 | 
			
		||||
                            if (tap_count <= TAPPING_TOGGLE) {
 | 
			
		||||
                                register_mods(mods);
 | 
			
		||||
                            }
 | 
			
		||||
                        } else {
 | 
			
		||||
                            if (tap_count < TAPPING_TOGGLE) {
 | 
			
		||||
                                unregister_mods(mods);
 | 
			
		||||
                            }
 | 
			
		||||
                        }
 | 
			
		||||
                        break;
 | 
			
		||||
                    default:
 | 
			
		||||
                        if (event.pressed) {
 | 
			
		||||
                            if (tap_count > 0) {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -34,6 +34,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		|||
 *
 | 
			
		||||
 * ACT_MODS_TAP(001r):
 | 
			
		||||
 * 001r|mods|0000 0000    Modifiers with OneShot
 | 
			
		||||
 * 001r|mods|0000 0001    Modifiers with tap toggle
 | 
			
		||||
 * 001r|mods|0000 00xx    (reserved)
 | 
			
		||||
 * 001r|mods| keycode     Modifiers with Tap Key(Dual role)
 | 
			
		||||
 *
 | 
			
		||||
| 
						 | 
				
			
			@ -205,12 +206,14 @@ enum mods_bit {
 | 
			
		|||
};
 | 
			
		||||
enum mods_codes {
 | 
			
		||||
    MODS_ONESHOT = 0x00,
 | 
			
		||||
    MODS_TAP_TOGGLE = 0x01,
 | 
			
		||||
};
 | 
			
		||||
#define ACTION_KEY(key)                 ACTION(ACT_MODS, (key))
 | 
			
		||||
#define ACTION_MODS(mods)               ACTION(ACT_MODS, ((mods)&0x1f)<<8 | 0)
 | 
			
		||||
#define ACTION_MODS_KEY(mods, key)      ACTION(ACT_MODS, ((mods)&0x1f)<<8 | (key))
 | 
			
		||||
#define ACTION_MODS_TAP_KEY(mods, key)  ACTION(ACT_MODS_TAP, ((mods)&0x1f)<<8 | (key))
 | 
			
		||||
#define ACTION_MODS_ONESHOT(mods)       ACTION(ACT_MODS_TAP, ((mods)&0x1f)<<8 | MODS_ONESHOT)
 | 
			
		||||
#define ACTION_MODS_TAP_TOGGLE(mods)    ACTION(ACT_MODS_TAP, ((mods)&0x1f)<<8 | MODS_TAP_TOGGLE)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue