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
|
71d6db0f35
|
Update CHANGELOG.md and package.json for version 5.0.0
|
2017-12-04 00:40:07 +01:00 |
|
László Monda
|
9b9bdbc03d
|
Rename baseLayerPointerFunction to modLayerPointerFunction and modLayerPointerFunction to fnLayerPointerFunction. Suppress unused variable compilation warnings.
|
2017-12-03 23:53:32 +01:00 |
|
László Monda
|
bb5c118e97
|
Move pointerRole from keymaps to module configurations as pointerMode. Add angularShift, baseLayerPointerFunction, modLayerPointerFunction, and mouseLayerPointerFunction to module configurations.
|
2017-12-03 23:25:55 +01:00 |
|
László Monda
|
b3cbb8ea97
|
Bump version to 4.0.0
|
2017-11-30 20:31:09 +01:00 |
|
László Monda
|
f76780ec48
|
Make the parser parse mouse properties, LED brightness values, and double tap switch layer timeout. Rename pointer config properties.
|
2017-11-30 18:20:00 +01:00 |
|
László Monda
|
b7e73b7b38
|
Clean up the debug lines of processMouseAction()
|
2017-11-28 22:45:51 +01:00 |
|
László Monda
|
7318175ce7
|
Tweak scroll kinetic properties.
|
2017-11-28 22:39:37 +01:00 |
|
László Monda
|
420078449d
|
Finish the fine-tuning of default mouse movement kinetic settings.
|
2017-11-28 20:12:01 +01:00 |
|
László Monda
|
dda3799877
|
Don't make the pointer jump when accelerating from zero while the decelerate key is pressed.
|
2017-11-28 19:10:13 +01:00 |
|
László Monda
|
712b87182a
|
Double timer interval that wasn't right for an unknown reason. Adjust mouse kinetic values accordingly. Reprioritize interrupts to make mouse pointer movement as smooth as possible.
|
2017-11-28 18:52:39 +01:00 |
|
László Monda
|
46126e1e78
|
Tweak kinetic mouse values further. Temporarily maximize / minimize the acceleratedSpeed / deceleratedSpeed values for testing purposes.
|
2017-11-28 17:25:46 +01:00 |
|
László Monda
|
2ac9ca5d67
|
Make the initialSpeed, acceleration, deceleratedSpeed, baseSpeed, and acceleratedSpeed kinetic properties uint8_t and multiply them by intMultiplier to provide a fixed set of steps to choose from.
|
2017-11-28 03:23:09 +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
|
0867132ba3
|
Adjust the distance divisor from 10 to 1000 and other kinetic values accordingly.
|
2017-11-27 02:09:45 +01:00 |
|
László Monda
|
1b9273a5e5
|
Make processMouseKineticState() work with float x,y offsets to accumulate fractions.
|
2017-11-27 01:24:03 +01:00 |
|
László Monda
|
ebbd74407d
|
Extract code into processMouseKineticState() and add mouse_kinetic_state_t
|
2017-11-26 21:35:50 +01:00 |
|
László Monda
|
5df6220ab7
|
Slightly reorder mouse movement related variables.
|
2017-11-26 02:32:53 +01:00 |
|
László Monda
|
3d0993998c
|
Add double tap switch layer timeout.
|
2017-11-26 01:05:36 +01:00 |
|
László Monda
|
071be7e815
|
Implement "hold and double tap" layer switch mode and temporarily treat every hold mode keys this way.
|
2017-11-26 00:23:50 +01:00 |
|
László Monda
|
bb7faaa799
|
Make non-accelerated movements gradually accelerate from the start. Make all other movements and speed transitions immediate.
|
2017-11-24 22:49:39 +01:00 |
|
László Monda
|
368c724e6a
|
Fix the stuck state of the decelerate key that triggered once it was pressed.
|
2017-11-24 17:39:45 +01:00 |
|
László Monda
|
210ef31f27
|
Implement mouse movement acceleration and deceleration.
|
2017-11-24 13:00:05 +01:00 |
|
László Monda
|
0cb3c7e0ad
|
Implement horizontal scrolling.
|
2017-11-24 01:00:02 +01:00 |
|
László Monda
|
ab7e25692a
|
Use hex numbers as the values of UsbCommandId_*
|
2017-11-23 04:18:37 +01:00 |
|
László Monda
|
b68e8a736e
|
Make processMouseAction() handle acceleration and deceleration, even though I can't yet trigger these actions for some reason.
|
2017-11-23 01:54:54 +01:00 |
|
László Monda
|
4d211f0fe1
|
Reset mouseMoveCurrentSpeed when the mouse movement keys are no longer pressed, even if a mouse button key stays pressed due to drag and drop or selection purposes.
|
2017-11-22 02:34:37 +01:00 |
|
László Monda
|
8429ee2b71
|
Implement mouse acceleration.
|
2017-11-21 21:15:12 +01:00 |
|
László Monda
|
4bbc49f4ca
|
Clean up processMouseAction() by using floats instead of divisor values. Move MouseSpeed_* into mouse_speed_action_t
|
2017-11-21 19:01:59 +01:00 |
|
László Monda
|
322ee0b35f
|
Rename the misnamed MouseButton_t to MouseButton_6
|
2017-11-21 16:42:27 +01:00 |
|
László Monda
|
8252da86d8
|
Rename some files and identifiers that are related to USB commands.
|
2017-11-18 03:30:24 +01:00 |
|
László Monda
|
086ab239b4
|
Fix the previously introduced EEPROM read bug by making addressBuffer static. Rename EEPROM_ADDRESS_LENGTH to EEPROM_ADDRESS_SIZE.
|
2017-11-18 03:18:37 +01:00 |
|
László Monda
|
a7ba0add18
|
Simplify eeprom.c
|
2017-11-18 03:11:17 +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
|
6cf47565f9
|
Bump version to 3.0.0 and update the changelog.
|
2017-11-15 22:36:51 +01:00 |
|
László Monda
|
7f6f9e7094
|
Detect the use of USB interfaces by introducing IsUsb*ReportSent and compute areUsbReportsSent using them.
|
2017-11-15 16:54:34 +01:00 |
|
László Monda
|
a0afdcf476
|
Implement key debouncer.
|
2017-11-14 22:54:53 +01:00 |
|
László Monda
|
9e18caa0ba
|
Set the left KEY_SCANNER_INTERVAL_USEC to 1000 / KEYBOARD_MATRIX_ROWS_NUM
|
2017-11-14 13:08:01 +01:00 |
|
László Monda
|
f63f2f9b96
|
Adding left/key_scanner.[ch] which I totally forgot.
|
2017-11-14 03:43:51 +01:00 |
|
László Monda
|
4c97238999
|
Even though the current code seems to be working fine, call KeyMatrix_Init() before InitKeyScanner() just to be sure.
|
2017-11-14 02:40:51 +01:00 |
|
László Monda
|
5c84620704
|
Call KeyMatrix_ScanRow() from an LPTMR interrupt for the left half. Remove KeyMatrix_Scan()
|
2017-11-14 02:29:18 +01:00 |
|
László Monda
|
ae4d60882f
|
Use interrupt based keyboard matrix scanning for the right keyboard half. Get rid of INTERRUPT_KEY_SCANNER
|
2017-11-13 02:18:55 +01:00 |
|
László Monda
|
332f2a69fa
|
Set up the timer properly and introduce CurrentTime.
|
2017-11-12 17:33:23 +01:00 |
|
László Monda
|
a91f945591
|
Add timer.[ch]
|
2017-11-12 04:48:06 +01:00 |
|
László Monda
|
d0c689146e
|
Remove unused counter variable.
|
2017-11-12 04:17:38 +01:00 |
|
László Monda
|
27e64adc33
|
Extract PIT related macros to the newly created peripherals/pit.h
|
2017-11-12 04:06:46 +01:00 |
|
László Monda
|
5da6510d7c
|
Use the menu key in the factory keymap.
|
2017-11-12 01:50:01 +01:00 |
|
László Monda
|
a4ddf1ff2a
|
Uppercamelcase read*() config parser functions since they're not local.
|
2017-11-11 16:54:40 +01:00 |
|
László Monda
|
22141ba1e3
|
Replace {GET,SET}_USB_BUFFER_UINT8 with {Get,Set}UsbRxBufferUint8
|
2017-11-11 16:49:48 +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
|
5c7a3faa9c
|
Use buffer functions in eeprom.c for easier readability.
|
2017-11-11 03:41:03 +01:00 |
|
László Monda
|
80240c8e9b
|
Add shared/buffer.[ch] for easily dealing with array values.
|
2017-11-11 03:40:06 +01:00 |
|
László Monda
|
f45ebdde4f
|
Comment that the EEPROM address has to be big-endian.
|
2017-11-11 01:15:27 +01:00 |
|
László Monda
|
e3a121f0d8
|
Make pressing the reset button revert to the factory preset.
|
2017-11-10 23:42:45 +01:00 |
|
László Monda
|
f927aef7f5
|
Put function curlies into their own line according to our coding standards all across the codebase.
|
2017-11-10 23:14:44 +01:00 |
|
László Monda
|
f3682efe53
|
Revert to the factory default state when the reset button is pressed upon firmware startup. Display FTY on the display in this case.
|
2017-11-10 22:48:21 +01:00 |
|
László Monda
|
c06b06ed1b
|
Make the secondary role work properly when a layer is set and when pressing the non-dual role key for long right after keeping the dual role key pressed.
|
2017-11-10 00:41:33 +01:00 |
|
László Monda
|
402697c0a3
|
Don't call applyKeyAction() when a secondary role is triggered because it'd output the scancode of the pressed key which is not the right thing when the secondary role is layer switching.
|
2017-11-09 22:26:44 +01:00 |
|
László Monda
|
b8846cd601
|
Add LedDisplay_SetCurrentKeymapText() and use it when reinitializaing the LED display upon disconnect. This fixes the bug that shows FTY on the display upon I2C watchdog recoveries.
|
2017-11-09 20:59:51 +01:00 |
|
László Monda
|
c2efb5e0d0
|
Rename watchdog related variables to be more intuitively named.
|
2017-11-09 20:41:19 +01:00 |
|
László Monda
|
4aad86947c
|
Set the deviceId of uhk60-right to 1.
|
2017-11-09 18:47:21 +01:00 |
|
László Monda
|
0421c2f339
|
Swap SlaveCommand_RequestKeyStates and SlaveCommand_JumpToBootloader, thereby making SlaveCommand_JumpToBootloader the lower number because it's more basic and shouldn't change in the future.
|
2017-11-09 01:49:32 +01:00 |
|
László Monda
|
c83e331c37
|
Remove the unused PROTOCOL_RESPONSE_{SUCCESS,GENERIC_ERROR} macros.
|
2017-11-09 01:45:55 +01:00 |
|
László Monda
|
f8ad10b0c1
|
Make build/uhk60-left_{debug,release}_kboot.launch build the relevant firmware images before running their update script.
|
2017-11-09 01:34:23 +01:00 |
|
László Monda
|
f1058294a6
|
Wrap the whole debug_over_spi.[ch] files into #ifdef DEBUG_OVER_SPI to silence compiler warnings when it's not defined.
|
2017-11-09 01:33:23 +01:00 |
|
László Monda
|
e5865009f5
|
Remove unused SetError(), SetGenericError, and SetResponseByte() functions.
|
2017-11-09 01:17:50 +01:00 |
|
László Monda
|
21c1ded972
|
Slightly tweak USB command names.
|
2017-11-08 23:14:12 +01:00 |
|
László Monda
|
98b84bc49c
|
Change nomenclature in the release script and package.json from master and slave to device and module.
|
2017-11-08 22:57:43 +01:00 |
|
László Monda
|
272ff3ccbe
|
Tweak firmware updater script paths according to the changes of the Agent repo.
|
2017-11-08 18:33:00 +01:00 |
|
László Monda
|
b49d5a7f7e
|
Add launch configurations for the release and debug versions of the left half firmware.
|
2017-11-08 04:09:58 +01:00 |
|
László Monda
|
49a94d82b0
|
Move update-{master,slave}-firmware.js and shared.js into the Agent repo and reference those scripts.
|
2017-11-08 01:27:49 +01:00 |
|
László Monda
|
fb39d700e0
|
Rename masters[*].moduleId to deviceId
|
2017-11-08 00:37:49 +01:00 |
|
László Monda
|
4fa2304e4b
|
Suppress pressed keys upon layer switcher key release.
|
2017-11-07 02:21:36 +01:00 |
|
László Monda
|
f6beeecec1
|
Make local variables static.
|
2017-11-07 01:37:46 +01:00 |
|
László Monda
|
e3d4eb50db
|
Make secondary role layer switching work.
|
2017-11-07 00:30:40 +01:00 |
|
László Monda
|
31fa1a0d5e
|
Don't make secondary role stuck when holding a layer switcher even after releasing the dual role key.
|
2017-11-07 00:00:02 +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
|
693315222f
|
Handle secondary role modifiers.
|
2017-11-06 18:11:05 +01:00 |
|
László Monda
|
3533a8f73c
|
Rename long presss action to secondary role.
|
2017-11-06 01:58:11 +01:00 |
|
László Monda
|
34b2875861
|
Kill the magic numbers of UsbCommand_WriteConfig()
|
2017-11-06 00:57:41 +01:00 |
|
László Monda
|
8c7014cf8c
|
Clean up the includes under usb_commands and rename led state variable in usb_command_set_test_led.c
|
2017-11-06 00:51:11 +01:00 |
|
László Monda
|
9910fe536f
|
Add USB_STATUS_CODE_SIZE and use it to kill the magic numbers of usb_command_read_config()
|
2017-11-06 00:44:32 +01:00 |
|
László Monda
|
003f313947
|
Make UsbCommand_JumpToSlaveBootloader expect a slave slot id instead of a uhkModuleDriverId.
|
2017-11-06 00:32:08 +01:00 |
|
László Monda
|
379fe6a4c7
|
Rename DebugInfo to DebugBuffer and related files and variables.
|
2017-11-05 23:36:16 +01:00 |
|
László Monda
|
67794d460e
|
Add and use SET_DEBUG_BUFFER_UINT*
|
2017-11-05 23:32:58 +01:00 |
|
László Monda
|
1449f98781
|
Remove redundant includes.
|
2017-11-05 23:29:34 +01:00 |
|
László Monda
|
870dec7519
|
Fix indentation.
|
2017-11-05 23:03:27 +01:00 |
|
László Monda
|
1c9e350006
|
Extract updateUsbBuffer() from UsbCommand_ApplyConfig()
|
2017-11-05 22:56:51 +01:00 |
|
László Monda
|
df0b0c33b5
|
Add ParsingStage_* enums.
|
2017-11-05 22:51:43 +01:00 |
|
László Monda
|
97f044d21f
|
Simplify the control flow of UsbCommand_ApplyConfig() a bit.
|
2017-11-05 22:45:58 +01:00 |
|
László Monda
|
88514f82f4
|
Put all macro arguments into parentheses just to be safe.
|
2017-11-05 22:29:47 +01:00 |
|
László Monda
|
f7e26eef8a
|
Split usb_status_code_transfer_config_t as usb_status_code_read_config_t and usb_status_code_write_config_t
|
2017-11-05 22:14:49 +01:00 |
|
László Monda
|
a8bde4e007
|
Add {GET,SET}_USB_BUFFER_UINT* and use them wherever possible. Get rid of SetUsb*() functions.
|
2017-11-05 22:09:34 +01:00 |
|
László Monda
|
58778feb5b
|
Move UsbStatusCode_JumpToSlaveBootloader_InvalidModuleDriverId to usb_command_jump_to_slave_bootloader.h
|
2017-11-05 19:33:08 +01:00 |
|
László Monda
|
d78ac1bcf0
|
Start USB command specific status codes from 2 since 0 and 1 are taken.
|
2017-11-05 19:28:40 +01:00 |
|
László Monda
|
6db3eb3045
|
Rename UsbResponse_*() to UsbStatusCode_*(), SetUsbError() to SetUsbStatusCode(), and other USB status codes consistently.
|
2017-11-05 19:25:13 +01:00 |
|
László Monda
|
eb451d6153
|
Set UsbResponse_InvalidCommand upon encountering with an invalid USB command.
|
2017-11-05 19:12:37 +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
|
ebd06ebbc6
|
Reorder includes according to USB command ids.
|
2017-11-05 19:02:24 +01:00 |
|