35 lines
		
	
	
		
			715 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			35 lines
		
	
	
		
			715 B
		
	
	
	
		
			C
		
	
	
	
	
	
| #ifndef USB_EXTRA_H
 | |
| #define  USB_EXTRA_H 1
 | |
| /*
 | |
|  * Enhanced keyboard features for Windows:
 | |
|  * Audio control and System control
 | |
|  *
 | |
|  * http://www.microsoft.com/whdc/archive/w2kbd.mspx
 | |
|  */
 | |
| 
 | |
| #include <stdint.h>
 | |
| #include "usb.h"
 | |
| 
 | |
| 
 | |
| #define EXTRA_INTERFACE		3
 | |
| #define EXTRA_ENDPOINT		4
 | |
| #define EXTRA_SIZE		2
 | |
| #define EXTRA_BUFFER		EP_DOUBLE_BUFFER
 | |
| 
 | |
| 
 | |
| // Consumer Page(0x0C) Consumer Control(0x01)
 | |
| #define AUDIO_VOL_UP		(1<<0)
 | |
| #define AUDIO_VOL_DOWN		(1<<1)
 | |
| #define AUDIO_MUTE		(1<<2)
 | |
| 
 | |
| // Generic Desktop Page(0x01) System Control(0x80)
 | |
| #define SYSTEM_POWER_DOWN	(1<<0)
 | |
| #define SYSTEM_SLEEP		(1<<1)
 | |
| #define SYSTEM_WAKE_UP		(1<<2)
 | |
| 
 | |
| 
 | |
| int8_t usb_extra_audio_send(uint8_t bits);
 | |
| int8_t usb_extra_system_send(uint8_t bits);
 | |
| 
 | |
| #endif
 |