Archived
1
0
Commit Graph

81 Commits

Author SHA1 Message Date
Jacob Alexander
8fbc8d535f Adding missing GET_PROTOCOL handling
- Odd that this went unnoticed for sooooo long
- Fixes Mac OSX issue where keyboard freezes/hangs on a reboot
- Also adding missing code for usbMuxUart
2016-05-16 23:25:08 -07:00
Jacob Alexander
18aef02a1f Adding relative movement mouse key support
- Still very basic (lots of room for improvement)
- Capability format will likely change at some point
- 16 bit movement control, however repeat rate limits usability (will need KLL 0.4 to make better)
2016-03-21 23:05:41 -07:00
Jacob Alexander
3c9a97d51a Adding basic mouse button support
- Full Mouse support will have to wait for KLL 0.6
  * This will include dynamic HID descriptor generation for many wheels and axis depending on the KLL needs
- HID descriptor is currently limited to 8 buttons
- Technically mouse movement also works (tested by accident), but it's disable for now (needs some API thought)

- Adding additional udev rules
- Added KRO mode default define
2016-03-21 00:51:51 -07:00
Jacob Alexander
46765e85c5 Adding dynamic USB power support
- Each scan module now has a current change callback which passes the available current as a parameter
- No longer attempts to use the max 500 mA immediately, starts with 100 mA then goes to 500 mA after enumeration
- If enumeration fails due to bMaxPower of 500 mA, then attempt again at 100 mA (might also be possible to go even lower to 20 mA in certain cases)
- Now working with the Apple Ipad (no over-power messages)
- Fixed Wake-up behaviour on Apple Ipad (and likely other iOS devices)
- More effecient set_feature/clear_feature handling (device handler)
- Initial power handling via Interconnect (still needs work to get it more dynamic)
2016-02-21 19:56:52 -08:00
Jacob Alexander
ea82a2762b Typo from the last commit. 2015-10-17 21:03:07 -07:00
Jacob Alexander
343104297d Adding support for kll 0.3d
- Requires kll compiler update
- Includes descriptor update to handle new consumer control codes
2015-10-17 15:09:03 -07:00
Jacob Alexander
7e68e81f47 Adding basic remote capabilities + UART Rx DMA buffers
- Rx buffers weren't fast enough, had to use DMA :D
- Basic LCD remote capabilities are working, single node
- Multi-node broadcast seems to have a bug still
- DMA ring buffer allowed for significant processing simplification
  * There is an overrun risk, but the buffer is large and generally there isn't too much data being sent (just very quickly)
- Split out LCD layer stack capability into itself and an "exact" version used for updating remote nodes
2015-10-15 00:21:54 -07:00
Jacob Alexander
59d425ccfe Adding jump to bootloader key
- Now enabled by default
- Added protection around remote jumps
2015-10-11 22:07:11 -07:00
Jacob Alexander
f4da2560c4 Fixing long-standing SET_REPORT bug
- Implementation was completely wrong (has never worked properly)
- Now working in both NKRO and 6KRO modes
- Added more debugging code if things go wrong again
2015-10-09 18:20:37 -07:00
Jacob Alexander
c90bafd5c4 Cleaning up CLEAR_FEATURE (endpoint)
- Reverting old fix that no longer seems relevant after numerous recent USB fixes
2015-10-06 00:24:04 -07:00
Jacob Alexander
3f83274f86 Prep for mouse support 2015-09-20 18:47:10 -07:00
Jacob Alexander
9c52fb32fa Fixing default ErgoDox layout and adding FlashMode button
- Adds proper flashMode support for all keyboards and microcontrollers (usb and serial)
- flashModeEnabled must be set to 1 otherwise it will only show an error
  * This is on purpose (somewhat dangerous feature as it allows remote flashing)
- Capability cleanup
2015-08-21 19:43:45 -07:00
Jacob Alexander
1cbc175551 Forgot to add these files in an earlier commit 2015-08-21 18:26:46 -07:00
Jacob Alexander
20b62afb9a FIxing Media Keys and general USB compatibilty
- Media keys tested working on Linux/Windows/Mac (use Consumer control)
- Fixed enumeration delays
- Fixed virtual serial port configuration issues
- Fixed GET_REPORT and SET_REPORT
- Added intial descriptors and endpoints for Mouse and Joystick devices
- Split out the consumer and system control endpoint
- Added more fault debugging messages
- Added interface names to endpoints (visible in Windows Device Manager)
- Added KLL define for keyboard locale
2015-08-19 00:01:15 -07:00
Jacob Alexander
55d03f448e UARTConnect enumeration working!
- Fixed cli reflash mode set
- Cleaned up debugging code
- 4 500 000 baud seems to be reliable
- Fixed master selection (assumes slave node unless USB enumerates)
2015-07-18 18:53:21 -07:00
Jacob Alexander
6c67bc77bc Revert "Merge pull request #27 from smasher816/wakeup-devel"
This reverts commit 622ea5d85f, reversing
changes made to c21439cb48.
2015-06-23 08:00:16 -07:00
Jacob Alexander
5f262ea4b6 Code cleanup
- Changing header file ifndef define to pragma once's
- Removed duplicate output_com.h's
2015-06-14 14:33:40 -07:00
Jacob Alexander
1acbc97e98 Adding initial dfu-upload code and debugging for Bootloader. 2015-06-14 14:33:39 -07:00
Jacob Alexander
622ea5d85f Merge pull request #27 from smasher816/wakeup-devel
Inital Remote Wakeup Support
2015-06-12 18:31:55 -07:00
Jacob Alexander
c21439cb48 Fixing none parameter. 2015-05-13 21:58:43 -07:00
Jacob Alexander
fd25312f4f Adding None capability.
- Required for 0.3b update of the KLL compiler.
2015-05-02 14:29:27 -07:00
Rowan Decker
dc562cdcb3 Inital Remote Wakeup Support
Not working yet...
2015-03-08 22:35:55 -07:00
Rowan Decker
68f357dceb Fix whitespace pt2
Forgot to pull some files. Fixed those up too.
2015-03-08 21:07:59 -07:00
Rowan Decker
2922fce0f7 Merge remote-tracking branch 'upstream/master' 2015-03-08 20:17:39 -07:00
Rowan Decker
1392571bd7 Fix whitespace
Use a consistent standard - Tabs in front for indenting, spaces after for anything else. This way everything stays nice and lined up while also letting users change there prefered indent level. Most of the new files from Haata where already in this format.
2015-03-08 18:40:01 -07:00
Jacob Alexander
55346314b8 Adding additional case statements for SET_FEATURE and CLEAR_FEATURE
- Ignoring (which is done by default)
- Device, Interface and Endpoint variants
2015-03-07 00:50:42 -08:00
Jacob Alexander
b2dfd63d4b Fixing Mac OSX freeze on wake-up bug
- CLEAR_FEATURE unset is currently causing the keyboarod to freeze
- Though not ideal, it seems harmless to ignore this USB Control Packet
- Tested working on a Mac Mini (Yosemite)
2015-03-07 00:34:14 -08:00
Jacob Alexander
0ec5e6d9c2 Adding missing NL's for Cons and Sys Control debug 2015-02-23 22:25:46 -08:00
Victor Luft
595319c511 clear buffers on Consumer/System Control release
fixes #15
2015-02-23 18:29:01 -08:00
Jacob Alexander
7597fea053 Adding outputDebug command
- Displays all of the bytes sent via USB
- Different display mode for NKRO and Boot modes
2015-02-21 13:06:28 -08:00
Jacob Alexander
9e3d3aaca4 Initial code for USB cable detection
- Currently actual detection commented out due to issues
2015-02-09 13:21:23 -08:00
Jacob Alexander
1e9f55a0bf Updating setup.cmake files to use Module hierarchy implicitly
- Added AddModule CMake function which simplifies specifying module requirements
2015-01-25 17:55:28 -08:00
Jacob Alexander
8e54672121 Fixing warning messages found using clang. 2014-12-31 19:43:10 -08:00
Jacob Alexander
f5a1e1bcf5 Preparing for mk20dx256vlh7
- Not ready yet
- Will require some more changes to Lib/mk20dx.c
2014-12-31 17:13:44 -08:00
Jacob Alexander
504058bdb1 Fixing sequences (after NKRO HID descriptor re-design). 2014-11-12 23:33:28 -08:00
Jacob Alexander
c939059c7f Fixing NKRO on Windows 8.1
- Had to re-write descriptor to support Windows 8.1 while still working with Mac OSX
- NKRO keyboard is now more bandwidth intensive as all the keys must be updated at the same time
  (due to 8.1 bug in the HID spec)
2014-11-12 23:04:50 -08:00
Jacob Alexander
774ccc7fe9 Code formatting cleanup. 2014-11-10 23:42:39 -08:00
Jacob Alexander
a7b1d94465 Fixing NKRO modifier bug
- Modifier byte was being cleared after each send (needed for Boot Mode only)
2014-11-10 22:50:54 -08:00
Jacob Alexander
11fb8bd77d Fixing Linux NKRO Delete bug
- Fixed descriptor to not include USB Code 156 (Clear)
- This USB Code affects repeating Delete
2014-11-10 21:02:25 -08:00
Jacob Alexander
9dbd155ebf Fixing Mac OSX USB NKRO
- OSX doesn't properly follow the spec when it comes to padding bits (when using bitfields)
- Everything seems to work when I don't use them
- NKRO tested working on OSX
2014-11-02 23:24:59 -08:00
Jacob Alexander
e251a8be50 Fixing pjrc bug affecting Mac OSX CDC driver
- Also updating usbMuxUart header with most recent keyboard defines
2014-11-01 14:42:55 -07:00
Jacob Alexander
2be0d1393b USB Macro Output sequences now working!
- Tested both with Boot and NKRO modes
2014-10-27 00:26:17 -07:00
Jacob Alexander
358b1f33bb Adding timeout to virtual serial port writes
- Was causing lock-ups until the serial port was read
- Also checking each of the NKRO key types in each send loop
2014-10-04 14:50:42 -07:00
Jacob Alexander
6e4c28ef84 HUGE AVR RAM optimization (~28%).
- It's possible to get even more, but this is probably as far as I'll go
- PROGMEM is really annoying to use, and makes the code look like ass
- Now the Teensy 2++ should have enough RAM to use PartialMap easily
2014-10-02 22:09:34 -07:00
Jacob Alexander
ae21a90455 Fixing USB NKRO key buffer bug
- Missing a byte in the array
2014-10-02 19:29:56 -07:00
Jacob Alexander
0cbfe53794 Fixed Linux NKRO bitmap bug.
- Thanks hasu for pointing it out
- Keycode 50 is problematic under Linux, so removing (it's a duplicate keycode anyways)
2014-10-02 01:40:14 -07:00
Jacob Alexander
fc84d45470 Setting max packet size (Interrupt) to 64 bytes
- 128 bytes is invalid for USB 2.0 Full-Speed (max 64 bytes)
2014-10-01 23:54:08 -07:00
Jacob Alexander
bba9a1c973 Adding NKRO and Boot mode capabilities.
- When changing the mode, a key buffer flush is required (might confuse the OS temporarily)
2014-10-01 23:47:26 -07:00
Jacob Alexander
5782af5541 Fixing NKRO for Windows. 2014-10-01 00:16:14 -07:00
Jacob Alexander
ab7351b482 USB NKRO working for ARM!
- Setting NKRO mode as default (up to bios to disable)
2014-09-28 17:24:52 -07:00