forked from mfulz_github/qmk_firmware
		
	Always read two bytes from the endpoint if we have two bytes to read
When this if statement is false, it will cause the report ID to be read as the LED state. We already know there are two bytes in the endpoint, which is a reasonably good indicator that it contains a report ID, so we should always read both.
This commit is contained in:
		
							parent
							
								
									8cf7265f8f
								
							
						
					
					
						commit
						ae79b60e6b
					
				@ -519,11 +519,7 @@ void EVENT_USB_Device_ControlRequest(void)
 | 
				
			|||||||
                    }
 | 
					                    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                    if (Endpoint_BytesInEndpoint() == 2) {
 | 
					                    if (Endpoint_BytesInEndpoint() == 2) {
 | 
				
			||||||
                      uint8_t report_id = REPORT_ID_KEYBOARD;
 | 
					                      uint8_t report_id = Endpoint_Read_8();
 | 
				
			||||||
 | 
					 | 
				
			||||||
                      if (keyboard_protocol) {
 | 
					 | 
				
			||||||
                        report_id = Endpoint_Read_8();
 | 
					 | 
				
			||||||
                      }
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
                      if (report_id == REPORT_ID_KEYBOARD || report_id == REPORT_ID_NKRO) {
 | 
					                      if (report_id == REPORT_ID_KEYBOARD || report_id == REPORT_ID_NKRO) {
 | 
				
			||||||
                        keyboard_led_stats = Endpoint_Read_8();
 | 
					                        keyboard_led_stats = Endpoint_Read_8();
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user