Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Erik Strand
lufa
Commits
0c5d6f5f
Commit
0c5d6f5f
authored
Feb 07, 2010
by
Dean Camera
Browse files
Added Keyboard LED report masks (KEYBOARD_LED_*) to the HID class driver and demos.
parent
1fdc0e66
Changes
9
Show whitespace changes
Inline
Side-by-side
Demos/Device/ClassDriver/Keyboard/Keyboard.c
View file @
0c5d6f5f
...
@@ -182,13 +182,13 @@ void CALLBACK_HID_Device_ProcessHIDReport(USB_ClassInfo_HID_Device_t* const HIDI
...
@@ -182,13 +182,13 @@ void CALLBACK_HID_Device_ProcessHIDReport(USB_ClassInfo_HID_Device_t* const HIDI
uint8_t
LEDMask
=
LEDS_NO_LEDS
;
uint8_t
LEDMask
=
LEDS_NO_LEDS
;
uint8_t
*
LEDReport
=
(
uint8_t
*
)
ReportData
;
uint8_t
*
LEDReport
=
(
uint8_t
*
)
ReportData
;
if
(
*
LEDReport
&
0x01
)
// NUM Lock
if
(
*
LEDReport
&
HID_KEYBOARD_LED_NUMLOCK
)
LEDMask
|=
LEDS_LED1
;
LEDMask
|=
LEDS_LED1
;
if
(
*
LEDReport
&
0x02
)
// CAPS Lock
if
(
*
LEDReport
&
HID_KEYBOARD_LED_CAPSLOCK
)
LEDMask
|=
LEDS_LED3
;
LEDMask
|=
LEDS_LED3
;
if
(
*
LEDReport
&
0x04
)
//
SCROLL
Lock
if
(
*
LEDReport
&
HID_KEYBOARD_LED_
SCROLL
LOCK
)
LEDMask
|=
LEDS_LED4
;
LEDMask
|=
LEDS_LED4
;
LEDs_SetAllLEDs
(
LEDMask
);
LEDs_SetAllLEDs
(
LEDMask
);
...
...
Demos/Device/ClassDriver/KeyboardMouse/KeyboardMouse.c
View file @
0c5d6f5f
...
@@ -239,13 +239,13 @@ void CALLBACK_HID_Device_ProcessHIDReport(USB_ClassInfo_HID_Device_t* const HIDI
...
@@ -239,13 +239,13 @@ void CALLBACK_HID_Device_ProcessHIDReport(USB_ClassInfo_HID_Device_t* const HIDI
uint8_t
LEDMask
=
LEDS_NO_LEDS
;
uint8_t
LEDMask
=
LEDS_NO_LEDS
;
uint8_t
*
LEDReport
=
(
uint8_t
*
)
ReportData
;
uint8_t
*
LEDReport
=
(
uint8_t
*
)
ReportData
;
if
(
*
LEDReport
&
0x01
)
// NUM Lock
if
(
*
LEDReport
&
HID_KEYBOARD_LED_NUMLOCK
)
LEDMask
|=
LEDS_LED1
;
LEDMask
|=
LEDS_LED1
;
if
(
*
LEDReport
&
0x02
)
// CAPS Lock
if
(
*
LEDReport
&
HID_KEYBOARD_LED_CAPSLOCK
)
LEDMask
|=
LEDS_LED3
;
LEDMask
|=
LEDS_LED3
;
if
(
*
LEDReport
&
0x04
)
//
SCROLL
Lock
if
(
*
LEDReport
&
HID_KEYBOARD_LED_
SCROLL
LOCK
)
LEDMask
|=
LEDS_LED4
;
LEDMask
|=
LEDS_LED4
;
LEDs_SetAllLEDs
(
LEDMask
);
LEDs_SetAllLEDs
(
LEDMask
);
...
...
Demos/Device/ClassDriver/MassStorageKeyboard/MassStorageKeyboard.c
View file @
0c5d6f5f
...
@@ -227,13 +227,13 @@ void CALLBACK_HID_Device_ProcessHIDReport(USB_ClassInfo_HID_Device_t* const HIDI
...
@@ -227,13 +227,13 @@ void CALLBACK_HID_Device_ProcessHIDReport(USB_ClassInfo_HID_Device_t* const HIDI
uint8_t
LEDMask
=
LEDS_NO_LEDS
;
uint8_t
LEDMask
=
LEDS_NO_LEDS
;
uint8_t
*
LEDReport
=
(
uint8_t
*
)
ReportData
;
uint8_t
*
LEDReport
=
(
uint8_t
*
)
ReportData
;
if
(
*
LEDReport
&
0x01
)
// NUM Lock
if
(
*
LEDReport
&
HID_KEYBOARD_LED_NUMLOCK
)
LEDMask
|=
LEDS_LED1
;
LEDMask
|=
LEDS_LED1
;
if
(
*
LEDReport
&
0x02
)
// CAPS Lock
if
(
*
LEDReport
&
HID_KEYBOARD_LED_CAPSLOCK
)
LEDMask
|=
LEDS_LED3
;
LEDMask
|=
LEDS_LED3
;
if
(
*
LEDReport
&
0x04
)
//
SCROLL
Lock
if
(
*
LEDReport
&
HID_KEYBOARD_LED_
SCROLL
LOCK
)
LEDMask
|=
LEDS_LED4
;
LEDMask
|=
LEDS_LED4
;
LEDs_SetAllLEDs
(
LEDMask
);
LEDs_SetAllLEDs
(
LEDMask
);
...
...
Demos/Device/LowLevel/Keyboard/Keyboard.c
View file @
0c5d6f5f
...
@@ -294,13 +294,13 @@ void ProcessLEDReport(uint8_t LEDReport)
...
@@ -294,13 +294,13 @@ void ProcessLEDReport(uint8_t LEDReport)
{
{
uint8_t
LEDMask
=
LEDS_LED2
;
uint8_t
LEDMask
=
LEDS_LED2
;
if
(
LEDReport
&
0x01
)
// NUM Lock
if
(
*
LEDReport
&
KEYBOARD_LED_NUMLOCK
)
LEDMask
|=
LEDS_LED1
;
LEDMask
|=
LEDS_LED1
;
if
(
LEDReport
&
0x02
)
// CAPS Lock
if
(
*
LEDReport
&
KEYBOARD_LED_CAPSLOCK
)
LEDMask
|=
LEDS_LED3
;
LEDMask
|=
LEDS_LED3
;
if
(
LEDReport
&
0x04
)
//
SCROLL
Lock
if
(
*
LEDReport
&
KEYBOARD_LED_
SCROLL
LOCK
)
LEDMask
|=
LEDS_LED4
;
LEDMask
|=
LEDS_LED4
;
/* Set the status LEDs to the current Keyboard LED status */
/* Set the status LEDs to the current Keyboard LED status */
...
...
Demos/Device/LowLevel/Keyboard/Keyboard.h
View file @
0c5d6f5f
...
@@ -98,6 +98,18 @@
...
@@ -98,6 +98,18 @@
/** Constant for a keyboard report modifier byte, indicating that the keyboard's right GUI key is currently pressed. */
/** Constant for a keyboard report modifier byte, indicating that the keyboard's right GUI key is currently pressed. */
#define KEYBOARD_MODIFER_RIGHTGUI (1 << 7)
#define KEYBOARD_MODIFER_RIGHTGUI (1 << 7)
/** Constant for a keyboard output report LED byte, indicating that the host's NUM LOCK mode is currently set. */
#define KEYBOARD_LED_NUMLOCK (1 << 0)
/** Constant for a keyboard output report LED byte, indicating that the host's CAPS LOCK mode is currently set. */
#define KEYBOARD_LED_CAPSLOCK (1 << 1)
/** Constant for a keyboard output report LED byte, indicating that the host's SCROLL LOCK mode is currently set. */
#define KEYBOARD_LED_SCROLLLOCK (1 << 2)
/** Constant for a keyboard output report LED byte, indicating that the host's KATANA mode is currently set. */
#define KEYBOARD_LED_KATANA (1 << 3)
/** LED mask for the library LED driver, to indicate that the USB interface is not ready. */
/** LED mask for the library LED driver, to indicate that the USB interface is not ready. */
#define LEDMASK_USB_NOTREADY LEDS_LED1
#define LEDMASK_USB_NOTREADY LEDS_LED1
...
...
Demos/Device/LowLevel/KeyboardMouse/KeyboardMouse.c
View file @
0c5d6f5f
...
@@ -184,13 +184,13 @@ void EVENT_USB_Device_UnhandledControlRequest(void)
...
@@ -184,13 +184,13 @@ void EVENT_USB_Device_UnhandledControlRequest(void)
uint8_t
LEDStatus
=
Endpoint_Read_Byte
();
uint8_t
LEDStatus
=
Endpoint_Read_Byte
();
uint8_t
LEDMask
=
LEDS_LED2
;
uint8_t
LEDMask
=
LEDS_LED2
;
if
(
LEDStatus
&
0x01
)
// NUM Lock
if
(
LEDStatus
&
KEYBOARD_LED_NUMLOCK
)
LEDMask
|=
LEDS_LED1
;
LEDMask
|=
LEDS_LED1
;
if
(
LEDStatus
&
0x02
)
// CAPS Lock
if
(
LEDStatus
&
KEYBOARD_LED_CAPSLOCK
)
LEDMask
|=
LEDS_LED3
;
LEDMask
|=
LEDS_LED3
;
if
(
LEDStatus
&
0x04
)
//
SCROLL
Lock
if
(
LEDStatus
&
KEYBOARD_LED_
SCROLL
LOCK
)
LEDMask
|=
LEDS_LED4
;
LEDMask
|=
LEDS_LED4
;
/* Set the status LEDs to the current HID LED status */
/* Set the status LEDs to the current HID LED status */
...
@@ -264,13 +264,13 @@ void Keyboard_HID_Task(void)
...
@@ -264,13 +264,13 @@ void Keyboard_HID_Task(void)
uint8_t
LEDStatus
=
Endpoint_Read_Byte
();
uint8_t
LEDStatus
=
Endpoint_Read_Byte
();
uint8_t
LEDMask
=
LEDS_LED2
;
uint8_t
LEDMask
=
LEDS_LED2
;
if
(
LEDStatus
&
0x01
)
// NUM Lock
if
(
LEDStatus
&
KEYBOARD_LED_NUMLOCK
)
LEDMask
|=
LEDS_LED1
;
LEDMask
|=
LEDS_LED1
;
if
(
LEDStatus
&
0x02
)
// CAPS Lock
if
(
LEDStatus
&
KEYBOARD_LED_CAPSLOCK
)
LEDMask
|=
LEDS_LED3
;
LEDMask
|=
LEDS_LED3
;
if
(
LEDStatus
&
0x04
)
//
SCROLL
Lock
if
(
LEDStatus
&
KEYBOARD_LED_
SCROLL
LOCK
)
LEDMask
|=
LEDS_LED4
;
LEDMask
|=
LEDS_LED4
;
/* Set the status LEDs to the current Keyboard LED status */
/* Set the status LEDs to the current Keyboard LED status */
...
...
Demos/Device/LowLevel/KeyboardMouse/KeyboardMouse.h
View file @
0c5d6f5f
...
@@ -84,6 +84,18 @@
...
@@ -84,6 +84,18 @@
/** Constant for a keyboard report modifier byte, indicating that the keyboard's right GUI key is currently pressed. */
/** Constant for a keyboard report modifier byte, indicating that the keyboard's right GUI key is currently pressed. */
#define KEYBOARD_MODIFER_RIGHTGUI (1 << 7)
#define KEYBOARD_MODIFER_RIGHTGUI (1 << 7)
/** Constant for a keyboard output report LED byte, indicating that the host's NUM LOCK mode is currently set. */
#define KEYBOARD_LED_NUMLOCK (1 << 0)
/** Constant for a keyboard output report LED byte, indicating that the host's CAPS LOCK mode is currently set. */
#define KEYBOARD_LED_CAPSLOCK (1 << 1)
/** Constant for a keyboard output report LED byte, indicating that the host's SCROLL LOCK mode is currently set. */
#define KEYBOARD_LED_SCROLLLOCK (1 << 2)
/** Constant for a keyboard output report LED byte, indicating that the host's KATANA mode is currently set. */
#define KEYBOARD_LED_KATANA (1 << 3)
/** LED mask for the library LED driver, to indicate that the USB interface is not ready. */
/** LED mask for the library LED driver, to indicate that the USB interface is not ready. */
#define LEDMASK_USB_NOTREADY LEDS_LED1
#define LEDMASK_USB_NOTREADY LEDS_LED1
...
...
LUFA/Drivers/USB/Class/Common/HID.h
View file @
0c5d6f5f
...
@@ -110,6 +110,18 @@
...
@@ -110,6 +110,18 @@
/** Constant for a keyboard report modifier byte, indicating that the keyboard's right GUI key is currently pressed. */
/** Constant for a keyboard report modifier byte, indicating that the keyboard's right GUI key is currently pressed. */
#define HID_KEYBOARD_MODIFER_RIGHTGUI (1 << 7)
#define HID_KEYBOARD_MODIFER_RIGHTGUI (1 << 7)
/** Constant for a keyboard output report LED byte, indicating that the host's NUM LOCK mode is currently set. */
#define HID_KEYBOARD_LED_NUMLOCK (1 << 0)
/** Constant for a keyboard output report LED byte, indicating that the host's CAPS LOCK mode is currently set. */
#define HID_KEYBOARD_LED_CAPSLOCK (1 << 1)
/** Constant for a keyboard output report LED byte, indicating that the host's SCROLL LOCK mode is currently set. */
#define HID_KEYBOARD_LED_SCROLLLOCK (1 << 2)
/** Constant for a keyboard output report LED byte, indicating that the host's KATANA mode is currently set. */
#define HID_KEYBOARD_LED_KATANA (1 << 3)
/* Type Defines: */
/* Type Defines: */
/** Enum for the different types of HID reports. */
/** Enum for the different types of HID reports. */
enum
HID_ReportItemTypes_t
enum
HID_ReportItemTypes_t
...
...
LUFA/ManPages/ChangeLog.txt
View file @
0c5d6f5f
...
@@ -23,7 +23,8 @@
...
@@ -23,7 +23,8 @@
* - New Webserver project, a RNDIS host USB webserver using the open source uIP TCP/IP network stack and FatFS library
* - New Webserver project, a RNDIS host USB webserver using the open source uIP TCP/IP network stack and FatFS library
* - New BOARD value option BOARD_NONE (equivelent to not specifying BOARD) which will remove all board hardware drivers which
* - New BOARD value option BOARD_NONE (equivelent to not specifying BOARD) which will remove all board hardware drivers which
* do not adversely affect the code operation (currently only the LEDs driver)
* do not adversely affect the code operation (currently only the LEDs driver)
* - Added keyboard modifier masks (HID_KEYBOARD_MODIFER_*) to the HID class driver and Keyboard demos
* - Added keyboard modifier masks (HID_KEYBOARD_MODIFER_*) and LED report masks (KEYBOARD_LED_*) to the HID class driver and
* Keyboard demos
*
*
* <b>Changed:</b>
* <b>Changed:</b>
* - Slowed down software USART carried PDI programming in the AVRISP project to prevent transmission errors
* - Slowed down software USART carried PDI programming in the AVRISP project to prevent transmission errors
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment