Rework encoders to enable asymmetric split keyboards (#12090)
Co-authored-by: Balz Guenat <balz.guenat@siemens.com> Co-authored-by: Nick Brassel <nick@tzarc.org>
This commit is contained in:
		
							parent
							
								
									d11d2459ce
								
							
						
					
					
						commit
						32215d5bff
					
				
					 14 changed files with 579 additions and 62 deletions
				
			
		
							
								
								
									
										48
									
								
								quantum/encoder/tests/mock_split.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										48
									
								
								quantum/encoder/tests/mock_split.h
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,48 @@ | |||
| /* Copyright 2021 Balz Guenat
 | ||||
|  * | ||||
|  * 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/>.
 | ||||
|  */ | ||||
| 
 | ||||
| #pragma once | ||||
| 
 | ||||
| #include <stdint.h> | ||||
| #include <stdbool.h> | ||||
| 
 | ||||
| #define SPLIT_KEYBOARD | ||||
| /* Here, "pins" from 0 to 31 are allowed. */ | ||||
| #define ENCODERS_PAD_A \ | ||||
|     { 0 } | ||||
| #define ENCODERS_PAD_B \ | ||||
|     { 1 } | ||||
| #define ENCODERS_PAD_A_RIGHT \ | ||||
|     { 2 } | ||||
| #define ENCODERS_PAD_B_RIGHT \ | ||||
|     { 3 } | ||||
| 
 | ||||
| typedef uint8_t pin_t; | ||||
| extern bool     isLeftHand; | ||||
| void            encoder_state_raw(uint8_t* slave_state); | ||||
| void            encoder_update_raw(uint8_t* slave_state); | ||||
| 
 | ||||
| extern bool pins[]; | ||||
| extern bool pinIsInputHigh[]; | ||||
| 
 | ||||
| #define setPinInputHigh(pin) (mockSetPinInputHigh(pin)) | ||||
| #define readPin(pin) (mockReadPin(pin)) | ||||
| 
 | ||||
| uint8_t mockSetPinInputHigh(pin_t pin); | ||||
| 
 | ||||
| bool mockReadPin(pin_t pin); | ||||
| 
 | ||||
| bool setPin(pin_t pin, bool val); | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Balz Guenat
						Balz Guenat