Commit Graph

  • 3d0993998c Add double tap switch layer timeout. László Monda 2017-11-26 01:05:36 +01:00
  • 071be7e815 Implement "hold and double tap" layer switch mode and temporarily treat every hold mode keys this way. László Monda 2017-11-26 00:23:50 +01:00
  • bb7faaa799 Make non-accelerated movements gradually accelerate from the start. Make all other movements and speed transitions immediate. László Monda 2017-11-24 22:49:39 +01:00
  • 368c724e6a Fix the stuck state of the decelerate key that triggered once it was pressed. László Monda 2017-11-24 17:39:45 +01:00
  • 210ef31f27 Implement mouse movement acceleration and deceleration. László Monda 2017-11-24 13:00:05 +01:00
  • 0cb3c7e0ad Implement horizontal scrolling. László Monda 2017-11-24 00:59:17 +01:00
  • ab7e25692a Use hex numbers as the values of UsbCommandId_* László Monda 2017-11-23 04:18:37 +01:00
  • b68e8a736e Make processMouseAction() handle acceleration and deceleration, even though I can't yet trigger these actions for some reason. László Monda 2017-11-23 01:54:54 +01:00
  • 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. László Monda 2017-11-22 02:34:37 +01:00
  • 8429ee2b71 Implement mouse acceleration. László Monda 2017-11-21 21:15:12 +01:00
  • 4bbc49f4ca Clean up processMouseAction() by using floats instead of divisor values. Move MouseSpeed_* into mouse_speed_action_t László Monda 2017-11-21 19:01:59 +01:00
  • 322ee0b35f Rename the misnamed MouseButton_t to MouseButton_6 László Monda 2017-11-21 16:42:27 +01:00
  • 8252da86d8 Rename some files and identifiers that are related to USB commands. László Monda 2017-11-18 03:30:24 +01:00
  • 086ab239b4 Fix the previously introduced EEPROM read bug by making addressBuffer static. Rename EEPROM_ADDRESS_LENGTH to EEPROM_ADDRESS_SIZE. László Monda 2017-11-18 03:18:37 +01:00
  • a7ba0add18 Simplify eeprom.c László Monda 2017-11-18 03:11:17 +01:00
  • d2ef63184b Move updateUsbReports() from main.c to usb_report_updater.c and delete main.h László Monda 2017-11-17 01:21:30 +01:00
  • 6cf47565f9 Bump version to 3.0.0 and update the changelog. v3.0.0 3.0.0 László Monda 2017-11-15 22:36:51 +01:00
  • 7f6f9e7094 Detect the use of USB interfaces by introducing IsUsb*ReportSent and compute areUsbReportsSent using them. László Monda 2017-11-15 16:54:34 +01:00
  • a0afdcf476 Implement key debouncer. László Monda 2017-11-14 22:54:53 +01:00
  • 9e18caa0ba Set the left KEY_SCANNER_INTERVAL_USEC to 1000 / KEYBOARD_MATRIX_ROWS_NUM László Monda 2017-11-14 13:08:01 +01:00
  • f63f2f9b96 Adding left/key_scanner.[ch] which I totally forgot. László Monda 2017-11-14 03:43:51 +01:00
  • 4c97238999 Even though the current code seems to be working fine, call KeyMatrix_Init() before InitKeyScanner() just to be sure. László Monda 2017-11-14 02:40:51 +01:00
  • 5c84620704 Call KeyMatrix_ScanRow() from an LPTMR interrupt for the left half. Remove KeyMatrix_Scan() László Monda 2017-11-14 02:29:18 +01:00
  • ae4d60882f Use interrupt based keyboard matrix scanning for the right keyboard half. Get rid of INTERRUPT_KEY_SCANNER László Monda 2017-11-13 02:18:55 +01:00
  • 332f2a69fa Set up the timer properly and introduce CurrentTime. László Monda 2017-11-12 17:33:23 +01:00
  • a91f945591 Add timer.[ch] László Monda 2017-11-12 04:48:06 +01:00
  • d0c689146e Remove unused counter variable. László Monda 2017-11-12 04:17:38 +01:00
  • 27e64adc33 Extract PIT related macros to the newly created peripherals/pit.h László Monda 2017-11-12 04:06:46 +01:00
  • 5da6510d7c Use the menu key in the factory keymap. László Monda 2017-11-12 01:50:01 +01:00
  • a4ddf1ff2a Uppercamelcase read*() config parser functions since they're not local. László Monda 2017-11-11 16:54:40 +01:00
  • 22141ba1e3 Replace {GET,SET}_USB_BUFFER_UINT8 with {Get,Set}UsbRxBufferUint8 László Monda 2017-11-11 16:49:48 +01:00
  • f4de0df149 Replace SET_DEBUG_BUFFER_UINT* macros with SetDebugBufferUint* functions for improved type safety and readability. László Monda 2017-11-11 03:52:39 +01:00
  • 5c7a3faa9c Use buffer functions in eeprom.c for easier readability. László Monda 2017-11-11 03:41:03 +01:00
  • 80240c8e9b Add shared/buffer.[ch] for easily dealing with array values. László Monda 2017-11-11 03:40:06 +01:00
  • f45ebdde4f Comment that the EEPROM address has to be big-endian. László Monda 2017-11-11 01:15:27 +01:00
  • e3a121f0d8 Make pressing the reset button revert to the factory preset. László Monda 2017-11-10 23:42:45 +01:00
  • f927aef7f5 Put function curlies into their own line according to our coding standards all across the codebase. László Monda 2017-11-10 23:14:44 +01:00
  • f3682efe53 Revert to the factory default state when the reset button is pressed upon firmware startup. Display FTY on the display in this case. László Monda 2017-11-10 22:48:21 +01:00
  • 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. László Monda 2017-11-10 00:41:33 +01:00
  • 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. László Monda 2017-11-09 22:26:44 +01:00
  • 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. László Monda 2017-11-09 20:59:51 +01:00
  • c2efb5e0d0 Rename watchdog related variables to be more intuitively named. László Monda 2017-11-09 20:41:19 +01:00
  • 4aad86947c Set the deviceId of uhk60-right to 1. László Monda 2017-11-09 18:47:21 +01:00
  • 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. László Monda 2017-11-09 01:49:32 +01:00
  • c83e331c37 Remove the unused PROTOCOL_RESPONSE_{SUCCESS,GENERIC_ERROR} macros. László Monda 2017-11-09 01:45:55 +01:00
  • f8ad10b0c1 Make build/uhk60-left_{debug,release}_kboot.launch build the relevant firmware images before running their update script. László Monda 2017-11-09 01:34:23 +01:00
  • f1058294a6 Wrap the whole debug_over_spi.[ch] files into #ifdef DEBUG_OVER_SPI to silence compiler warnings when it's not defined. László Monda 2017-11-09 01:33:23 +01:00
  • e5865009f5 Remove unused SetError(), SetGenericError, and SetResponseByte() functions. László Monda 2017-11-09 01:17:50 +01:00
  • 21c1ded972 Slightly tweak USB command names. László Monda 2017-11-08 23:14:12 +01:00
  • 98b84bc49c Change nomenclature in the release script and package.json from master and slave to device and module. László Monda 2017-11-08 22:57:43 +01:00
  • 272ff3ccbe Tweak firmware updater script paths according to the changes of the Agent repo. László Monda 2017-11-08 18:33:00 +01:00
  • b49d5a7f7e Add launch configurations for the release and debug versions of the left half firmware. László Monda 2017-11-08 04:09:58 +01:00
  • 49a94d82b0 Move update-{master,slave}-firmware.js and shared.js into the Agent repo and reference those scripts. László Monda 2017-11-08 01:27:49 +01:00
  • fb39d700e0 Rename masters[*].moduleId to deviceId László Monda 2017-11-08 00:37:49 +01:00
  • 4fa2304e4b Suppress pressed keys upon layer switcher key release. László Monda 2017-11-07 02:21:36 +01:00
  • f6beeecec1 Make local variables static. László Monda 2017-11-07 01:37:46 +01:00
  • e3d4eb50db Make secondary role layer switching work. László Monda 2017-11-07 00:30:40 +01:00
  • 31fa1a0d5e Don't make secondary role stuck when holding a layer switcher even after releasing the dual role key. László Monda 2017-11-07 00:00:02 +01:00
  • 3ac94684e2 Dump mouse related variables via the debug buffer to figure out the cause of occasional mouse freezes. László Monda 2017-11-06 18:28:23 +01:00
  • 693315222f Handle secondary role modifiers. László Monda 2017-11-06 18:11:05 +01:00
  • 3533a8f73c Rename long presss action to secondary role. László Monda 2017-11-06 01:58:11 +01:00
  • 34b2875861 Kill the magic numbers of UsbCommand_WriteConfig() László Monda 2017-11-06 00:57:41 +01:00
  • 8c7014cf8c Clean up the includes under usb_commands and rename led state variable in usb_command_set_test_led.c László Monda 2017-11-06 00:51:11 +01:00
  • 9910fe536f Add USB_STATUS_CODE_SIZE and use it to kill the magic numbers of usb_command_read_config() László Monda 2017-11-06 00:44:32 +01:00
  • 003f313947 Make UsbCommand_JumpToSlaveBootloader expect a slave slot id instead of a uhkModuleDriverId. László Monda 2017-11-06 00:32:08 +01:00
  • 379fe6a4c7 Rename DebugInfo to DebugBuffer and related files and variables. László Monda 2017-11-05 23:36:16 +01:00
  • 67794d460e Add and use SET_DEBUG_BUFFER_UINT* László Monda 2017-11-05 23:32:58 +01:00
  • 1449f98781 Remove redundant includes. László Monda 2017-11-05 23:29:34 +01:00
  • 870dec7519 Fix indentation. László Monda 2017-11-05 23:03:27 +01:00
  • 1c9e350006 Extract updateUsbBuffer() from UsbCommand_ApplyConfig() László Monda 2017-11-05 22:56:51 +01:00
  • df0b0c33b5 Add ParsingStage_* enums. László Monda 2017-11-05 22:51:43 +01:00
  • 97f044d21f Simplify the control flow of UsbCommand_ApplyConfig() a bit. László Monda 2017-11-05 22:45:58 +01:00
  • 88514f82f4 Put all macro arguments into parentheses just to be safe. László Monda 2017-11-05 22:29:47 +01:00
  • f7e26eef8a Split usb_status_code_transfer_config_t as usb_status_code_read_config_t and usb_status_code_write_config_t László Monda 2017-11-05 22:14:49 +01:00
  • a8bde4e007 Add {GET,SET}_USB_BUFFER_UINT* and use them wherever possible. Get rid of SetUsb*() functions. László Monda 2017-11-05 22:09:34 +01:00
  • 58778feb5b Move UsbStatusCode_JumpToSlaveBootloader_InvalidModuleDriverId to usb_command_jump_to_slave_bootloader.h László Monda 2017-11-05 19:33:08 +01:00
  • d78ac1bcf0 Start USB command specific status codes from 2 since 0 and 1 are taken. László Monda 2017-11-05 19:28:40 +01:00
  • 6db3eb3045 Rename UsbResponse_*() to UsbStatusCode_*(), SetUsbError() to SetUsbStatusCode(), and other USB status codes consistently. László Monda 2017-11-05 19:25:13 +01:00
  • eb451d6153 Set UsbResponse_InvalidCommand upon encountering with an invalid USB command. László Monda 2017-11-05 19:12:37 +01:00
  • 3f52819c0e Move UsbDebugInfo into usb_command_get_debug_info.[ch] and remove external UsbDebugInfo references. László Monda 2017-11-05 19:07:12 +01:00
  • ebd06ebbc6 Reorder includes according to USB command ids. László Monda 2017-11-05 19:02:24 +01:00
  • 8c42ec27dd Remove the now unused UsbCommandId_WriteLedDriver László Monda 2017-11-05 18:13:57 +01:00
  • 6dcfcca10f Remove unneeded includes and comments from usb_protocol_handler.c László Monda 2017-11-05 18:10:35 +01:00
  • 45420a348b Extract UsbCommand_SetLedPwmBrightness() into its own file. László Monda 2017-11-05 18:08:35 +01:00
  • 84ffe50dac Extract UsbCommand_GetAdcValue() to its own file. László Monda 2017-11-05 01:35:12 +01:00
  • 68f9aac883 Extract UsbCommand_SetTestLed() into its own file. László Monda 2017-11-05 01:28:15 +01:00
  • d547b9b324 Remove UsbCommandId_ReadMergeSensor now that it can be queried via UsbCommandId_GetKeyboardState. László Monda 2017-11-05 01:21:23 +01:00
  • e907e65751 Extract UsbCommand_Reenumerate() into its own file. László Monda 2017-11-05 01:18:37 +01:00
  • 0febc9dd69 Uncomment the exec of user-config-json-to-bin.ts now that it works from outside its own directory. Make make-release.js verbose. László Monda 2017-11-04 17:57:19 +01:00
  • fe74ea1578 Extract UsbCommand_GetDebugInfo() into its own file. László Monda 2017-11-04 10:46:04 +01:00
  • 67e304a787 Extract UsbCommand_GetKeyboardState() into its own file. László Monda 2017-11-04 10:30:37 +01:00
  • 4de340967c Extract UsbCommand_LaunchEepromTransferLegacy() into its own file. László Monda 2017-11-04 10:06:55 +01:00
  • 54496ca210 Extract UsbCommand_WriteConfig() László Monda 2017-11-04 08:43:27 +01:00
  • 232f595b41 Extract UsbCommand_SendKbootCommand() László Monda 2017-11-04 08:38:19 +01:00
  • 8a255aaf5f Extract UsbCommand_JumpToSlaveBootloader() László Monda 2017-11-04 08:32:54 +01:00
  • ad4fe1a18d Extract system properties to usb_command_get_property.c László Monda 2017-11-04 02:38:00 +01:00
  • 336c2e5368 Extract UsbCommand_ReadConfig() to usb_command_read_config.c. Rename Set{Response,Error}* to SetUsb{Response,Error} László Monda 2017-11-04 02:11:49 +01:00
  • c0b41b8e60 Remove the ApplyConfig() prototype because it doesn't exist anymore. László Monda 2017-11-04 01:36:55 +01:00
  • 457f4802d4 Rename usb_command_t to usb_command_id_t and UsbCommand_* to UsbCommandId_* László Monda 2017-11-04 01:35:31 +01:00
  • ae3efce452 Extract the applyConfig USB command into usb_command_apply_config.[ch] László Monda 2017-11-04 01:32:03 +01:00