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
196724c6
Commit
196724c6
authored
Feb 07, 2010
by
Dean Camera
Browse files
Added keyboard modifier masks (HID_KEYBOARD_MODIFER_*) to the HID class driver and Keyboard demos.
parent
7602566a
Changes
10
Show whitespace changes
Inline
Side-by-side
Demos/Device/ClassDriver/Keyboard/Keyboard.c
View file @
196724c6
...
...
@@ -147,6 +147,8 @@ bool CALLBACK_HID_Device_CreateHIDReport(USB_ClassInfo_HID_Device_t* const HIDIn
uint8_t
UsedKeyCodes
=
0
;
KeyboardReport
->
Modifier
=
HID_KEYBOARD_MODIFER_LEFTSHIFT
;
if
(
JoyStatus_LCL
&
JOY_UP
)
KeyboardReport
->
KeyCode
[
UsedKeyCodes
++
]
=
0x04
;
// A
else
if
(
JoyStatus_LCL
&
JOY_DOWN
)
...
...
Demos/Device/ClassDriver/KeyboardMouse/KeyboardMouse.c
View file @
196724c6
...
...
@@ -180,6 +180,8 @@ bool CALLBACK_HID_Device_CreateHIDReport(USB_ClassInfo_HID_Device_t* const HIDIn
if
(
!
(
ButtonStatus_LCL
&
BUTTONS_BUTTON1
))
return
0
;
KeyboardReport
->
Modifier
=
HID_KEYBOARD_MODIFER_LEFTSHIFT
;
if
(
JoyStatus_LCL
&
JOY_UP
)
KeyboardReport
->
KeyCode
[
0
]
=
0x04
;
// A
else
if
(
JoyStatus_LCL
&
JOY_DOWN
)
...
...
Demos/Device/ClassDriver/MassStorageKeyboard/MassStorageKeyboard.c
View file @
196724c6
...
...
@@ -192,6 +192,8 @@ bool CALLBACK_HID_Device_CreateHIDReport(USB_ClassInfo_HID_Device_t* const HIDIn
uint8_t
JoyStatus_LCL
=
Joystick_GetStatus
();
uint8_t
ButtonStatus_LCL
=
Buttons_GetStatus
();
KeyboardReport
->
Modifier
=
HID_KEYBOARD_MODIFER_LEFTSHIFT
;
if
(
JoyStatus_LCL
&
JOY_UP
)
KeyboardReport
->
KeyCode
[
0
]
=
0x04
;
// A
else
if
(
JoyStatus_LCL
&
JOY_DOWN
)
...
...
Demos/Device/LowLevel/Keyboard/Keyboard.c
View file @
196724c6
...
...
@@ -266,6 +266,9 @@ void CreateKeyboardReport(USB_KeyboardReport_Data_t* ReportData)
/* Clear the report contents */
memset
(
ReportData
,
0
,
sizeof
(
USB_KeyboardReport_Data_t
));
/* Make sent key uppercase by indicating that the left shift key is pressed */
ReportData
->
Modifier
=
KEYBOARD_MODIFER_LEFTSHIFT
;
if
(
JoyStatus_LCL
&
JOY_UP
)
ReportData
->
KeyCode
[
UsedKeyCodes
++
]
=
0x04
;
// A
else
if
(
JoyStatus_LCL
&
JOY_DOWN
)
...
...
Demos/Device/LowLevel/Keyboard/Keyboard.h
View file @
196724c6
...
...
@@ -74,6 +74,30 @@
/** HID Class specific request to set the current HID protocol in use, either report or boot. */
#define REQ_SetProtocol 0x0B
/** Constant for a keyboard report modifier byte, indicating that the keyboard's left control key is currently pressed. */
#define KEYBOARD_MODIFER_LEFTCTRL (1 << 0)
/** Constant for a keyboard report modifier byte, indicating that the keyboard's left shift key is currently pressed. */
#define KEYBOARD_MODIFER_LEFTSHIFT (1 << 1)
/** Constant for a keyboard report modifier byte, indicating that the keyboard's left alt key is currently pressed. */
#define KEYBOARD_MODIFER_LEFTALT (1 << 2)
/** Constant for a keyboard report modifier byte, indicating that the keyboard's left GUI key is currently pressed. */
#define KEYBOARD_MODIFER_LEFTGUI (1 << 3)
/** Constant for a keyboard report modifier byte, indicating that the keyboard's right control key is currently pressed. */
#define KEYBOARD_MODIFER_RIGHTCTRL (1 << 4)
/** Constant for a keyboard report modifier byte, indicating that the keyboard's right shift key is currently pressed. */
#define KEYBOARD_MODIFER_RIGHTSHIFT (1 << 5)
/** Constant for a keyboard report modifier byte, indicating that the keyboard's right alt key is currently pressed. */
#define KEYBOARD_MODIFER_RIGHTALT (1 << 6)
/** Constant for a keyboard report modifier byte, indicating that the keyboard's right GUI key is currently pressed. */
#define KEYBOARD_MODIFER_RIGHTGUI (1 << 7)
/** LED mask for the library LED driver, to indicate that the USB interface is not ready. */
#define LEDMASK_USB_NOTREADY LEDS_LED1
...
...
Demos/Device/LowLevel/KeyboardMouse/KeyboardMouse.c
View file @
196724c6
...
...
@@ -221,6 +221,9 @@ void Keyboard_HID_Task(void)
/* Check if board button is not pressed, if so mouse mode enabled */
if
(
!
(
Buttons_GetStatus
()
&
BUTTONS_BUTTON1
))
{
/* Make sent key uppercase by indicating that the left shift key is pressed */
KeyboardReportData
.
Modifier
=
KEYBOARD_MODIFER_LEFTSHIFT
;
if
(
JoyStatus_LCL
&
JOY_UP
)
KeyboardReportData
.
KeyCode
[
0
]
=
0x04
;
// A
else
if
(
JoyStatus_LCL
&
JOY_DOWN
)
...
...
Demos/Device/LowLevel/KeyboardMouse/KeyboardMouse.h
View file @
196724c6
...
...
@@ -60,6 +60,30 @@
/** HID Class specific request to set the current HID protocol in use, either report or boot. */
#define REQ_SetProtocol 0x0B
/** Constant for a keyboard report modifier byte, indicating that the keyboard's left control key is currently pressed. */
#define KEYBOARD_MODIFER_LEFTCTRL (1 << 0)
/** Constant for a keyboard report modifier byte, indicating that the keyboard's left shift key is currently pressed. */
#define KEYBOARD_MODIFER_LEFTSHIFT (1 << 1)
/** Constant for a keyboard report modifier byte, indicating that the keyboard's left alt key is currently pressed. */
#define KEYBOARD_MODIFER_LEFTALT (1 << 2)
/** Constant for a keyboard report modifier byte, indicating that the keyboard's left GUI key is currently pressed. */
#define KEYBOARD_MODIFER_LEFTGUI (1 << 3)
/** Constant for a keyboard report modifier byte, indicating that the keyboard's right control key is currently pressed. */
#define KEYBOARD_MODIFER_RIGHTCTRL (1 << 4)
/** Constant for a keyboard report modifier byte, indicating that the keyboard's right shift key is currently pressed. */
#define KEYBOARD_MODIFER_RIGHTSHIFT (1 << 5)
/** Constant for a keyboard report modifier byte, indicating that the keyboard's right alt key is currently pressed. */
#define KEYBOARD_MODIFER_RIGHTALT (1 << 6)
/** Constant for a keyboard report modifier byte, indicating that the keyboard's right GUI key is currently pressed. */
#define KEYBOARD_MODIFER_RIGHTGUI (1 << 7)
/** LED mask for the library LED driver, to indicate that the USB interface is not ready. */
#define LEDMASK_USB_NOTREADY LEDS_LED1
...
...
Demos/Device/LowLevel/MassStorage/Lib/SCSI.h
View file @
196724c6
LUFA/Drivers/USB/Class/Common/HID.h
View file @
196724c6
...
...
@@ -86,6 +86,30 @@
*/
#define HID_BOOT_MOUSE_PROTOCOL 0x02
/** Constant for a keyboard report modifier byte, indicating that the keyboard's left control key is currently pressed. */
#define HID_KEYBOARD_MODIFER_LEFTCTRL (1 << 0)
/** Constant for a keyboard report modifier byte, indicating that the keyboard's left shift key is currently pressed. */
#define HID_KEYBOARD_MODIFER_LEFTSHIFT (1 << 1)
/** Constant for a keyboard report modifier byte, indicating that the keyboard's left alt key is currently pressed. */
#define HID_KEYBOARD_MODIFER_LEFTALT (1 << 2)
/** Constant for a keyboard report modifier byte, indicating that the keyboard's left GUI key is currently pressed. */
#define HID_KEYBOARD_MODIFER_LEFTGUI (1 << 3)
/** Constant for a keyboard report modifier byte, indicating that the keyboard's right control key is currently pressed. */
#define HID_KEYBOARD_MODIFER_RIGHTCTRL (1 << 4)
/** Constant for a keyboard report modifier byte, indicating that the keyboard's right shift key is currently pressed. */
#define HID_KEYBOARD_MODIFER_RIGHTSHIFT (1 << 5)
/** Constant for a keyboard report modifier byte, indicating that the keyboard's right alt key is currently pressed. */
#define HID_KEYBOARD_MODIFER_RIGHTALT (1 << 6)
/** 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)
/* Type Defines: */
/** Enum for the different types of HID reports. */
enum
HID_ReportItemTypes_t
...
...
@@ -122,7 +146,9 @@
/** Type define for a standard Boot Protocol Keyboard report */
typedef
struct
{
uint8_t
Modifier
;
/**< Keyboard modifier byte, indicating pressed modifier keys (such as Shift, Control, etc.) */
uint8_t
Modifier
;
/**< Keyboard modifier byte, indicating pressed modifier keys (a combination of
* HID_KEYBOARD_MODIFER_* masks)
*/
uint8_t
Reserved
;
/**< Reserved for OEM use, always set to 0 */
uint8_t
KeyCode
[
6
];
/**< Key codes of the currently pressed keys */
}
USB_KeyboardReport_Data_t
;
...
...
LUFA/ManPages/ChangeLog.txt
View file @
196724c6
...
...
@@ -23,6 +23,7 @@
* - 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
* 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
*
* <b>Changed:</b>
* - 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