2014-09-14 22:51:36 +00:00
|
|
|
Name = pjrcUSBCapabilities;
|
2016-03-22 05:23:57 +00:00
|
|
|
Version = 0.8;
|
2016-03-21 07:43:19 +00:00
|
|
|
Author = "HaaTa (Jacob Alexander) 2014-2016";
|
|
|
|
KLL = 0.3d;
|
2014-09-14 22:51:36 +00:00
|
|
|
|
|
|
|
# Modified Date
|
2016-05-31 07:19:45 +00:00
|
|
|
Date = 2016-05-31;
|
2014-09-14 22:51:36 +00:00
|
|
|
|
|
|
|
|
2014-10-02 06:44:12 +00:00
|
|
|
# Output capabilities
|
2014-09-21 18:55:37 +00:00
|
|
|
consCtrlOut => Output_consCtrlSend_capability( consCode : 2 );
|
2015-05-14 04:58:22 +00:00
|
|
|
noneOut => Output_noneSend_capability();
|
2014-09-21 18:55:37 +00:00
|
|
|
sysCtrlOut => Output_sysCtrlSend_capability( sysCode : 1 );
|
|
|
|
usbKeyOut => Output_usbCodeSend_capability( usbCode : 1 );
|
2016-03-22 05:23:57 +00:00
|
|
|
mouseOut => Output_usbMouse_capability( mouseCode : 2, relative_x : 2, relative_y : 2 );
|
2014-09-14 22:51:36 +00:00
|
|
|
|
2014-10-02 06:44:12 +00:00
|
|
|
# Configuration capabilities
|
|
|
|
kbdProtocolBoot => Output_kbdProtocolBoot_capability();
|
|
|
|
kbdProtocolNKRO => Output_kbdProtocolNKRO_capability();
|
2016-05-26 11:06:12 +00:00
|
|
|
toggleKbdProtocol => Output_toggleKbdProtocol_capability();
|
2014-10-02 06:44:12 +00:00
|
|
|
|
2015-08-19 07:01:15 +00:00
|
|
|
# Locale Settings
|
|
|
|
keyboardLocale => KeyboardLocale_define;
|
|
|
|
keyboardLocale = 0;
|
|
|
|
|
2016-03-21 07:43:19 +00:00
|
|
|
# Default KRO Mode
|
|
|
|
# Set to 0 for Boot Mode (6KRO)
|
|
|
|
# Set to 1 for NKRO Mode (default)
|
|
|
|
usbProtocol => USBProtocol_define;
|
|
|
|
usbProtocol = 1;
|
|
|
|
|
2015-08-22 02:43:45 +00:00
|
|
|
# Bootloader Mode capability
|
|
|
|
# XXX
|
|
|
|
# By default this is disabled on purpose
|
|
|
|
# It is a large security hazard
|
|
|
|
flashModeEnabled => flashModeEnabled_define;
|
|
|
|
flashModeEnabled = 0;
|
|
|
|
|
|
|
|
flashMode => Output_flashMode_capability();
|
|
|
|
|
2016-05-31 07:19:45 +00:00
|
|
|
|
|
|
|
## USB Compatibility Flags ##
|
|
|
|
# Some OSs and USB Chipsets have issues with USB features
|
|
|
|
# These flags are available to provide ways to debug them
|
|
|
|
|
|
|
|
# Enable USB Suspend/Low Power mode
|
|
|
|
# After a period of inactivity, the USB host may request that the device go into low power mode
|
|
|
|
# This is different than system sleep, though it may occur around the same time
|
|
|
|
enableUSBSuspend => enableUSBSuspend_define;
|
|
|
|
enableUSBSuspend = 1;
|
|
|
|
|
|
|
|
# Enable Low-power Negotiation
|
|
|
|
# In order to support low-powered USB hosts, such as an Apple IPad, a low power auto-negotiation scheme has been implemented
|
|
|
|
# Unfortunately, badly behaved USB Chipsets and OSs may not work correctly with this support enabled
|
|
|
|
# Typical symptoms:
|
|
|
|
# * USB constantly re-initializing when first plugging in
|
|
|
|
enableUSBLowPowerNegotiation => enableUSBLowPowerNegotiation_define;
|
|
|
|
enableUSBLowPowerNegotiation = 0;
|
|
|
|
|
|
|
|
# Enable Device Restart on USB Timeout
|
|
|
|
# *USE AS LAST RETORT*
|
|
|
|
# To work around some USB OS, Chipset and Firwmare bugs, an auto-restart mechanism has been implemented
|
|
|
|
# Depending on the situation, this can be rather aggressive.
|
|
|
|
# This behaves differently than the Low-power negotiation restart and have very different triggering schemes.
|
|
|
|
enableDeviceRestartOnUSBTimeout => enableDeviceRestartOnUSBTimeout_define;
|
|
|
|
enableDeviceRestartOnUSBTimeout = 0;
|
|
|
|
|
|
|
|
# Enable Host-Resume (wake-from-sleep)
|
|
|
|
# On specific actions (such as USB key actions), will trigger the host device to wake if USB is suspended
|
|
|
|
enableUSBResume => enableUSBResume_define;
|
|
|
|
enableUSBResume = 1;
|
|
|
|
|
|
|
|
## USB Endpoint Configuration ##
|
|
|
|
# 1 - Enable endpoint
|
|
|
|
# 0 - Disable endpoint
|
|
|
|
# Any/all endpoints can be disabled
|
|
|
|
# But you'll lose functionality for that feature
|
|
|
|
# Disabling endpoints will save RAM and Flash on the target MCU
|
|
|
|
|
|
|
|
# Joystick Endpoint
|
|
|
|
# *Currently Unused*
|
|
|
|
enableJoystick => enableJoystick_define;
|
|
|
|
enableJoystick = 0;
|
|
|
|
|
|
|
|
# Mouse Endpoint
|
|
|
|
enableMouse => enableMouse_define;
|
|
|
|
enableMouse = 1;
|
|
|
|
|
|
|
|
# Keyboard Endpoint
|
|
|
|
enableKeyboard => enableKeyboard_define;
|
|
|
|
enableKeyboard = 1;
|
|
|
|
|
|
|
|
# CDC / Serial Port Endpoint
|
|
|
|
enableVirtualSerialPort => enableVirtualSerialPort_define;
|
|
|
|
enableVirtualSerialPort = 1;
|
|
|
|
|
|
|
|
# Raw I/O Endpoint
|
|
|
|
# *Currently Unused*
|
|
|
|
enableRawIO => enableRawIO_define;
|
|
|
|
enableRawIO = 0;
|
|
|
|
|