Commit Graph

35 Commits

Author SHA1 Message Date
Kristian Sloth Lauszus
1a0da7971a Send out the mouse report continuously if the report is not zeros 2018-06-07 01:56:16 +02:00
Kristian Sloth Lauszus
53a82a5f57 Removed unused variables, as the actions are no longer sent from within the interrupts 2018-06-07 01:50:12 +02:00
Kristian Sloth Lauszus
10985abcdb The UHK now only sends out data when it changes
Fixes #72, fixes #84 and fixes #85
2018-06-07 00:18:40 +02:00
Kristian Sloth Lauszus
e12e219b4e Various fixes and improvements (#96)
* Global variables shared between an interrupt and the main code should be volatile

See: https://www.embedded.com/electronics-blogs/beginner-s-corner/4023801/Introduction-to-the-Volatile-Keyword

* There is no reason to change the active report if it has not changed

* Declare local functions and variables static

This both helps the compiler and the programmer
2018-03-11 19:19:15 +01:00
László Monda
0911e67bf6 Fix the coding style of usb_interface_basic_keyboard.c 2018-02-11 22:28:12 +01:00
Kristian Sloth Lauszus
1af28a79db Detect Caps Lock state and set the LED accordingly (#91)
Fixes #65
2018-02-11 12:45:46 +01:00
László Monda
a5ce90779c Merge all the substructures of UsbDeviceCompositeConfigList across different files to a single structure. 2017-12-04 20:41:22 +01:00
László Monda
8cb8654459 Merge the substructures of UsbMouseClass into a single structure. 2017-12-04 19:57:43 +01:00
László Monda
745e8e1cf0 Merge the substructures of UsbSystemKeyboardClass into a single structure. 2017-12-04 19:50:39 +01:00
László Monda
5341109845 Merge the substructures of UsbMediaKeyboardClass into a single structure. 2017-12-04 19:41:51 +01:00
László Monda
ff0e5b0aa3 Merge the structs of UsbBasicKeyboardClass into a single structure. 2017-12-04 19:33:53 +01:00
László Monda
c4e79d8ed2 Merge the all the structures of UsbGenericHidClass into a single structure. 2017-12-04 19:16:04 +01:00
László Monda
6780c8177c Expose per-interface count values for debugging purposes via USB. 2017-12-04 17:38:31 +01:00
László Monda
729e0be0ad Make scrolling utilize mouse_kinetic_state_t, just like mouse movements. Fix scrolling issue by making distance float. Add new debug functions for ints and float. 2017-11-28 02:01:26 +01:00
László Monda
d2ef63184b Move updateUsbReports() from main.c to usb_report_updater.c and delete main.h 2017-11-17 01:21:30 +01:00
László Monda
f4de0df149 Replace SET_DEBUG_BUFFER_UINT* macros with SetDebugBufferUint* functions for improved type safety and readability. 2017-11-11 03:52:39 +01:00
László Monda
3ac94684e2 Dump mouse related variables via the debug buffer to figure out the cause of occasional mouse freezes. 2017-11-06 18:28:23 +01:00
László Monda
3f52819c0e Move UsbDebugInfo into usb_command_get_debug_info.[ch] and remove external UsbDebugInfo references. 2017-11-05 19:07:12 +01:00
László Monda
00dfd96d55 Instead of scanning the keyboard matrix from the main loop and utilizing busy loops, try to use a PIT interrupt handler to do the same thing, scanning one row per interrupt call without busy loops.
For some reason, this makes the movement of the mouse pointer very slow and makes it jump from time to time, so I ended up adding INTERRUPT_KEY_SCANNER and disabling the timer interrupt.
Also double bufferred the mouse report just like the others. Unfortunately this does not affect this issue.
2017-11-02 01:11:41 +01:00
László Monda
569493cbfa Add UsbDebugInfo to aid future debugging via USB. 2017-10-28 17:12:52 +02:00
László Monda
6bdd320ed8 Reorder USB interfaces all across the codebase in the following order: generic HID, basic keyboard, media keyboard, system keyboard, mouse. 2017-10-26 00:52:20 +02:00
László Monda
4295793fb9 Add ATTR_* macros in the newly created attributes.h and use them wherever possible for improved readability. 2017-10-04 22:26:48 +02:00
László Monda
4666b24c69 Change UsbMouseReport back to extern that I screwed up in ecf1ad2468 2017-09-28 14:13:24 +02:00
László Monda
751810ec4c Explicitly add void to the argument list of zero argument functions. 2017-09-28 03:03:11 +02:00
László Monda
ecf1ad2468 Don't use the extern keyword for functions because it's redundant. 2017-09-28 02:37:55 +02:00
László Monda
e6b5b3b3a5 Read the hardware configuration area and the user configuration area of the EEPROM into the RAM and try to apply it. 2017-09-14 09:55:29 +02:00
László Monda
237ef3c34a Rename action.h to key_action.h 2017-06-15 19:27:44 +02:00
László Monda
cca1e49d18 Rename the misspelled peripherials directory to peripherals. 2017-04-15 01:00:55 +02:00
László Monda
62a3f6b3a4 Add system keyboard interface and add sleep, power and wake keys. 2017-03-06 01:58:02 +01:00
László Monda
c7f101b67f Extract USB_*_INTERFACE_COUNT macros to usb_interface_*.h files and make usb_device_config.h use them along with USB_*_ENDPOINT_COUNT macros. 2017-03-05 23:45:41 +01:00
László Monda
c887b5e309 Add another HID interface using the consumer HID class for media keys. Resolves #32. 2017-03-03 20:21:05 +01:00
László Monda
8b46810643 Update USB reports from the main loop instead of the callback of the USB keyboard interface. 2017-02-26 11:10:04 +01:00
László Monda
5055fa6e77 Remove the usb_desciptors include path and include the full path of these files. 2017-02-26 03:05:15 +01:00
László Monda
6e415696d7 Move merge_sensor.[ch], reset_button.[ch] and test_led.[ch] into the newly created peripherials directory. 2017-02-26 02:50:21 +01:00
László Monda
6f6d116351 Move usb_interface_*.[ch] files to the newly created usb_interfaces directory. 2017-02-26 02:45:43 +01:00