Commit Graph

158 Commits

Author SHA1 Message Date
Eric Tang
0bf205c5d2 Keep sticky modifiers active when modifier-only keys are pressed 2018-08-01 18:12:12 -07:00
Eric Tang
e4a99a9400 Make sticky modifiers work consistently 2018-08-01 16:36:29 -07:00
Eric Tang
1e9b5833eb Correctly handle keypresses which triggers a secondary role 2018-08-01 15:53:55 -07:00
Eric Tang
79b052fca7 Remove redundant conditions 2018-07-31 16:12:51 -07:00
László Monda
6153d54f59 Merge pull request #144 from UltimateHackingKeyboard/sleep-wake
Make some improvements to the sleep/wake code
2018-07-26 22:47:40 +02:00
Eric Tang
0a6ebe2903 Remove the old code for detecting new keypresses 2018-07-25 15:16:15 -07:00
Eric Tang
0e5ec29433 Tweak the logic of the USB stack test 2018-07-22 21:22:48 -07:00
Eric Tang
2d7cd68459 Make some improvements to the sleep/wake code 2018-07-22 13:13:29 -07:00
László Monda
5ac10fabcb Add back simulateKeypresses. 2018-07-22 16:24:05 +02:00
Eric Tang
a2866feb77 Temporarily allow the USB stack test to be activated through USB 2018-07-20 17:23:44 -07:00
Eric Tang
d722b3d173 Make debounce times configurable on the fly 2018-07-05 14:41:19 -07:00
Eric Tang
27d12ea31f Remove the debouncing interrupt 2018-07-05 12:33:55 -07:00
László Monda
4562a17155 Make the test code exercise the media and mouse interfaces too. 2018-07-03 00:34:39 +02:00
Eric Tang
950843ca2c Use return instead of break 2018-07-01 17:17:42 -07:00
László Monda
9600f46f83 Merge branch 'waking-on-keypress' 2018-07-01 22:34:35 +02:00
Eric Tang
ef7589d83a Fix the mouse scrolling issue 2018-07-01 08:34:59 -07:00
Eric Tang
84f48ed055 Wake up the host when a new keypress is detected 2018-07-01 08:34:17 -07:00
Kristian Sloth Lauszus
372151848a Just define the usb_status_t variable inside the if-statements 2018-06-30 23:44:58 +02:00
Kristian Sloth Lauszus
5b32c0da43 Disable the key press test code 2018-06-30 23:42:39 +02:00
Kristian Sloth Lauszus
9fe73233af Fix merge issue 2018-06-30 22:36:48 +02:00
Kristian Sloth Lauszus
c69f664e85 Merge branch 'master' into dev
# Conflicts:
#	right/src/timer.c
#	right/src/timer.h
#	right/src/usb_report_updater.c
2018-06-30 22:27:52 +02:00
Kristian Sloth Lauszus
6c895988de Merge branch 'Lauszus-dev' into dev
# Conflicts:
#	right/src/usb_interfaces/usb_interface_basic_keyboard.c
#	right/src/usb_interfaces/usb_interface_media_keyboard.c
#	right/src/usb_interfaces/usb_interface_mouse.c
#	right/src/usb_interfaces/usb_interface_system_keyboard.c
#	right/src/usb_report_updater.c
2018-06-30 22:23:32 +02:00
Kristian Sloth Lauszus
b6f59563c7 Revert cancelling a transfer, as the USB endpoint is still locked up 2018-06-30 18:25:03 +02:00
Kristian Sloth Lauszus
217259ba63 Cancel the ongoing transfer if it is still in progress 2018-06-30 17:06:58 +02:00
Eric Tang
e5afa33b79 Allow scanning to continue if the host is asleep 2018-06-29 23:06:31 -07:00
Eric Tang
8f6251bc4d Only set the semaphore if the report is successfully requested 2018-06-29 23:01:20 -07:00
Eric Tang
b93f211502 Don't retry sending a report if it fails 2018-06-29 22:44:42 -07:00
Eric Tang
69411e53e9 Rename usbMouseAction to UsbMouseAction 2018-06-29 17:23:15 -07:00
Eric Tang
39819e6058 Type Backspace instead of b 2018-06-29 13:29:40 -07:00
Eric Tang
bd97bba4b5 Wake up the host before attempting to send reports 2018-06-29 13:19:49 -07:00
Eric Tang
4214f3e0b6 Use a semaphore to control the rate at which reports are updated 2018-06-29 13:08:24 -07:00
László Monda
d72ea4dde5 Merge pull request #131 from UltimateHackingKeyboard/macro-engine
Implement the macro engine
2018-06-27 23:02:09 +02:00
Eric Tang
5d621880ec Merge branch 'dev' of https://github.com/Lauszus/firmware into Lauszus-dev 2018-06-27 13:44:17 -07:00
László Monda
5c3e2966c4 Restore the logic of the key debouncer. Make it only debounce keypresses and set its timeout to 100ms. 2018-06-27 21:42:15 +02:00
Eric Tang
cdfabaec42 Make the debounce counters count down 2018-06-26 21:58:48 -07:00
Eric Tang
314eb0d771 Stop macros from repeating 2018-06-26 18:39:41 -07:00
Eric Tang
c1f5a96e1b Correctly pass pointers to the active reports to memcpy 2018-06-26 18:39:41 -07:00
Eric Tang
6e11c0b8af Handle macro actions and make the macro engine preempt normal behavior 2018-06-26 18:34:38 -07:00
Eric Tang
6d356114a8 Debounce key releases 2018-06-26 18:24:30 -07:00
Eric Tang
2877773cac Revert "The UHK now only sends out data when it changes" 2018-06-26 17:59:57 -07:00
Kristian Sloth Lauszus
a061febd01 Merge test code 2018-06-24 23:57:49 +02:00
Kristian Sloth Lauszus
a92835454d Make sure the keyboard is not read if any of the endpoints are busy sending data 2018-06-24 18:43:21 +02:00
Kristian Sloth Lauszus
e7b3127af1 Send out the mouse position and wheel values continuously if the report is not zeros, but only send the mouse button states when they change 2018-06-23 18:20:09 +02:00
Kristian Sloth Lauszus
724378cf6c Make sure we do not try to send another report before the old one has finished sending 2018-06-23 17:33:20 +02:00
Kristian Sloth Lauszus
ad8de4dd56 Increase the resolution of the elapsed timer when reading the keyboard 2018-06-22 18:03:27 +02:00
Kristian Sloth Lauszus
5e97ad1b3c Just compare the active report with the inactive report stored in each interface driver 2018-06-22 17:55:21 +02:00
Kristian Sloth Lauszus
4d483e7896 Limit the update frequency for reading the keyboard 2018-06-15 14:03:59 +02:00
Kristian Sloth Lauszus
9be3cf4865 Invalidate the stored report if the command fails
Fixes #122
2018-06-08 20:23:58 +02:00
László Monda
fc01b29823 Lowercase isLayerDoubleTapToggled. 2018-06-07 15:25:39 +02:00
László Monda
462595ef03 Extract handleSwitchLayerAction() 2018-06-07 14:50:49 +02:00