forked from mirrors/qmk_userspace
		
	Fix sharing of mouse button state from mousekeys to ps2_mouse (#9124)
With this change, when ps2_mouse is disabled, mousekeys works as usual. With ps2_mouse enabled, mousekeys button state is shared with ps2_mouse for clicking, dragging, and scrolling, mousekeys clicks are produced by ps2_mouse only, and mouskeys button state is transferred to mousekeys without generating clicks to enable mousekeys dragging. Co-authored-by: Drashna Jaelre <drashna@live.com> Co-authored-by: Drashna Jaelre <drashna@live.com>
This commit is contained in:
		
					parent
					
						
							
								e1cdfdc0e7
							
						
					
				
			
			
				commit
				
					
						d1819f02df
					
				
			
		
					 1 changed files with 8 additions and 4 deletions
				
			
		| 
						 | 
				
			
			@ -400,7 +400,9 @@ void process_action(keyrecord_t *record, action_t action) {
 | 
			
		|||
        /* Mouse key */
 | 
			
		||||
        case ACT_MOUSEKEY:
 | 
			
		||||
            if (event.pressed) {
 | 
			
		||||
                mousekey_on(action.key.code);
 | 
			
		||||
                switch (action.key.code) {
 | 
			
		||||
#    ifdef PS2_MOUSE_ENABLE
 | 
			
		||||
                    case KC_MS_BTN1:
 | 
			
		||||
                        tp_buttons |= (1 << 0);
 | 
			
		||||
                        break;
 | 
			
		||||
| 
						 | 
				
			
			@ -410,13 +412,15 @@ void process_action(keyrecord_t *record, action_t action) {
 | 
			
		|||
                    case KC_MS_BTN3:
 | 
			
		||||
                        tp_buttons |= (1 << 2);
 | 
			
		||||
                        break;
 | 
			
		||||
#    endif
 | 
			
		||||
                    default:
 | 
			
		||||
                        mousekey_send();
 | 
			
		||||
                        break;
 | 
			
		||||
                }
 | 
			
		||||
                mousekey_on(action.key.code);
 | 
			
		||||
                mousekey_send();
 | 
			
		||||
            } else {
 | 
			
		||||
                mousekey_off(action.key.code);
 | 
			
		||||
                switch (action.key.code) {
 | 
			
		||||
#    ifdef PS2_MOUSE_ENABLE
 | 
			
		||||
                    case KC_MS_BTN1:
 | 
			
		||||
                        tp_buttons &= ~(1 << 0);
 | 
			
		||||
                        break;
 | 
			
		||||
| 
						 | 
				
			
			@ -426,11 +430,11 @@ void process_action(keyrecord_t *record, action_t action) {
 | 
			
		|||
                    case KC_MS_BTN3:
 | 
			
		||||
                        tp_buttons &= ~(1 << 2);
 | 
			
		||||
                        break;
 | 
			
		||||
#    endif
 | 
			
		||||
                    default:
 | 
			
		||||
                        mousekey_send();
 | 
			
		||||
                        break;
 | 
			
		||||
                }
 | 
			
		||||
                mousekey_off(action.key.code);
 | 
			
		||||
                mousekey_send();
 | 
			
		||||
            }
 | 
			
		||||
            break;
 | 
			
		||||
#endif
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue